Protocol: | pserver | User: | anonymous |
Machine: | crossfire.cvs.sourceforge.net | CVSROOT: | /cvsroot/crossfire |
Filename: main.c | |||
Revision 1.116 | tchize | 2006/06/01 14:07:08 | +2 -1329 |
Fixed error in build process regarding unit test. Our modularization is way broken, with have intredependent .a files, this should be solved. Applied a compilation workaround suggest by gnu, twice every .a at link time. Applied an automake workaround as we need to pass --preserver-dup-deps to autotools and to do this only current CVS version can do it without a bit i hacking. Applied Hacking suggested by automake mailing list. | |||
Show difference between Revision 1.115 and 1.116 | |||
Revision 1.115 | ryo_saeba | 2006/05/05 04:47:40 | +2 -2 |
Third and last part of patch #1453869 courtesy Stefan Huehner (shuehner) | |||
Show difference between Revision 1.114 and 1.115 | |||
Revision 1.114 | ryo_saeba | 2006/05/05 04:26:35 | +12 -9 |
First part of patch #1453869 courtesy Stefan Huehner (shuehner) | |||
Show difference between Revision 1.113 and 1.114 | |||
Revision 1.113 | ryo_saeba | 2006/03/18 09:05:37 | +28 -18 |
Massive cleaning of code. Shouldn't be any functional change. | |||
Show difference between Revision 1.112 and 1.113 | |||
Revision 1.112 | mwedel | 2006/02/08 00:53:24 | +4 -1 |
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 | |||
Show difference between Revision 1.111 and 1.112 | |||
Revision 1.111 | ryo_saeba | 2006/01/15 10:50:38 | +1 -3 |
Custom commands fixes. Global logout event change. | |||
Show difference between Revision 1.110 and 1.111 | |||
Revision 1.110 | akirschbaum | 2006/01/08 07:06:59 | +6 -7 |
server/main.c: Make code more readable; use snprintf where appropriate. | |||
Show difference between Revision 1.109 and 1.110 | |||
Revision 1.109 | qal21 | 2006/01/06 12:38:16 | +31 -4 |
Template maps: Improve reletive path support | |||
Show difference between Revision 1.108 and 1.109 | |||
Revision 1.108 | qal21 | 2006/01/05 12:44:47 | +10 -2 |
Template maps: Add an important null check. | |||
Show difference between Revision 1.107 and 1.108 | |||
Revision 1.107 | qal21 | 2006/01/05 12:15:12 | +68 -11 |
Template maps: Impliment using fixed maps as templates | |||
Show difference between Revision 1.106 and 1.107 | |||
Revision 1.106 | akirschbaum | 2005/12/08 15:50:19 | +8 -54 |
Remove a strange feature of normalize_path(): it did convert the path "<path1>//<path2>" into "/<path2>". Also add a stand-alone application for regression testing this function, and fix a few issues with ".." in path name. | |||
Show difference between Revision 1.105 and 1.106 | |||
Revision 1.105 | akirschbaum | 2005/12/05 17:34:04 | +6 -6 |
Apply patch #1371956 (code cleanup patch) by Stefan Huehner: fix old-style function declarations and prototypes to proper Ansi C syntax. This patch allows the compiler to check function arguments and also removes some warnings when compiling with -Wstrict-prototypes. | |||
Show difference between Revision 1.104 and 1.105 | |||
Revision 1.104 | mwedel | 2005/11/16 02:16:08 | +6 -7 |
Commit for new blocking code. Not going to dictate all the changes - but will outline the broad points. Note also that the doc/Developers/objects is updated and goes into more details also. - check for P_WALL no longer used - instead, need to use GET_MAP_MOVE_BLCOK and check against movement type of objects. - arch_blocked() changed to ob_blocked(), now takes object. Needed because just looking at archetype move_ values is no longer sufficient. - find_first_free_spot() changed to take object, since it just calls arch_blocked() - FLAG_FLYING removed, now in move type. - walk_on/walk_off/fly_on/fly_off removed - now based on move_on and move_off fields. - Map space structure extended to hold the move_on/move_off, etc values so that we can shortcut some processing by not having to check every object on the space when something enters it if move_on isn't set. - archetypes recollected - boulders needed move_walk to properly trigger buttons. - Note that the new plugin code has to be fixed up for the new movement code. Look for FIXME in plugins/cfpython/cfpython_object.c MSW 2005-11-15 | |||
Show difference between Revision 1.103 and 1.104 | |||
Revision 1.103 | akirschbaum | 2005/11/05 08:02:31 | +3 -3 |
server/main.c: Fix possible out-of-bounds array access. | |||
Show difference between Revision 1.102 and 1.103 | |||
Revision 1.102 | akirschbaum | 2005/10/28 14:08:53 | +2 -3 |
Fix compiler warnings. Most changes do not change the program (remove unused variables, convert "if(x = y)" into "x = y; if(x)"); a few actually fix (possible) problems (fix uninitialized variables, fix printf format specifiers, fix mismatches between signed and unsigned variables, add missing return and default statements). | |||
Show difference between Revision 1.101 and 1.102 | |||
Revision 1.101 | gros | 2005/10/18 11:54:31 | +18 -33 |
Upgrade of the Crossfire server to version 2.0 of the plugin interface. Upgrade of the Python plugin to version 2.0 of the plugin interface. Gros - 18/10/05 | |||
Show difference between Revision 1.100 and 1.101 | |||
Revision 1.100 | qal21 | 2005/10/18 02:19:40 | +21 -3 |
Template Maps: Allow %x, %y, and %n in the path to respectively be replaced with, the x coord, the y coord, and the parent map name. | |||
Show difference between Revision 1.99 and 1.100 | |||
Revision 1.99 | qal21 | 2005/10/16 17:51:21 | +49 -2 |
Add support for random template maps (still need to document, and still need to add support for template maps created from non-random templates) | |||
Show difference between Revision 1.98 and 1.99 | |||
Revision 1.98 | akirschbaum | 2005/10/07 14:38:49 | +3 -3 |
Make damage done by area spells not depend on monster size. include/sproto.h, server/attack.c: Add additional parameter "full_hit" to hit_map() and hit_player(). If set, do full damage, if unset scale down by monster size. server/{apply.c, attack.c, disease.c, monster.c, player.c, rune.c, spell_attack.c, spell_effect.c, spell_util.c, time.c}: Change callers to set "full_hit" parameter according to the attack used. | |||
Show difference between Revision 1.97 and 1.98 | |||
Revision 1.97 | ryo_saeba | 2005/09/24 04:28:05 | +4 -1 |
Patch 1194964 (party obsoletion) by cavesomething | |||
Show difference between Revision 1.96 and 1.97 | |||
Revision 1.96 | mwedel | 2005/08/28 22:56:32 | +14 -9 |
Fix player weapon speed/speed. There are a few bugs this fixes: 1) when player hit something, a has_hit field was set to true, to denote they hit something and to use weapon speed. However, this was only cleared when player issued a command. Thus, if you are running and hit something, you'd continue at weapon_speed pace until you needed to change direction. 2) Because has_hit was used, this basically put in a 1 tick lag - you'd hit something, but not until objects were processed and speed given would you get your extra speed. Likewise, after you killed something, you'd get your burst of speed for the next tick also. -- server/main.c: Clear has_hit, change function to only do bounds checking, not actually do weapon_speed adjustments. server/player.c: Give player speed boost when they hit something. MSW 2005-08-28 | |||
Show difference between Revision 1.95 and 1.96 | |||
Revision 1.95 | ryo_saeba | 2005/08/12 08:46:34 | +2 -2 |
Fields changed from char* to const char*, cleanup. | |||
Show difference between Revision 1.94 and 1.95 | |||
Revision 1.94 | ryo_saeba | 2005/08/12 03:18:59 | +2 -2 |
Use const char* instead of char* when possible | |||
Show difference between Revision 1.93 and 1.94 | |||
Revision 1.93 | cavesomething | 2005/08/11 10:42:35 | +2 -1 |
Make random maps take the region of the map creates them. | |||
Show difference between Revision 1.92 and 1.93 | |||
Revision 1.92 | akirschbaum | 2005/07/20 03:38:11 | +1 -4 |
random_maps/random_map.h: Add prototype for set_random_map_variable(). server/main.c: Remove prototype for set_random_map_variable(). | |||
Show difference between Revision 1.91 and 1.92 | |||
Revision 1.91 | akirschbaum | 2005/07/16 16:10:39 | +2 -2 |
Fix spelling errors in string constants. | |||
Show difference between Revision 1.90 and 1.91 | |||
Revision 1.90 | ryo_saeba | 2005/06/22 13:22:15 | +10 -2 |
Add service-related capability for Windows | |||
Show difference between Revision 1.89 and 1.90 | |||
Revision 1.89 | ryo_saeba | 2005/04/16 17:05:08 | +2 -2 |
Use const char* instead of char* in function parameters | |||
Show difference between Revision 1.88 and 1.89 | |||
Revision 1.88 | ryo_saeba | 2005/04/16 16:22:01 | +4 -1 |
Add missing function declaration from reader.c | |||
Show difference between Revision 1.87 and 1.88 | |||
Revision 1.87 | mwedel | 2005/01/24 01:29:25 | +8 -6 |
common/object.c: Change CAN_MERGE() from an inline function, since it calls itself and inline functions are not supposed to do that. Update type check in insert_ob_in_map() to check against defined type (EXIT) instead of hardcoded integer value (66). crossedit/xutil.c: Update to just include Defines.h, which then includes all the other necessary files, including global.h. include/global.h: Add #ifdef checks for the UINT*_MAX types, as some systems already define these values, which results in a redefinition error. Also fix up // style comment. include/shstr.h: Include proper cast in TOPBIT definition. server/main.c: Don't display 'xyz left the game' messages if the player is only at the get name or get password prompt. Prevents possible spoofing of that message. server/player.c: Clean up formatting of check_pick() function. If player is using newpickup to pick up booze, also pick up poison unless they know it is cursed. socket/request.c: AskSmooth() - change buffer type to uint8 so that it matches what the SockList structure wants. utils/scores.pl.in: Use skill_praying to find players god, and not the deprecated experience_wis object. MSW 2005-01-23 | |||
Show difference between Revision 1.86 and 1.87 | |||
Revision 1.86 | mwedel | 2005/01/12 02:04:00 | +7 -1 |
aclocal.m4, configure: Add check for python 2.4. common/re-cmp.c: Fix improper comparison *(str+1) instead of str+1 server/login.c: don't allow null names. server/main.c: Disable logging of removed objects - filling up log files on archmage of all the errors. server/player.c: Fix improper initialization of attacktype in for loop. Give players max grace, sp when they die - also, if they are near starvation, give them a bunch of food. server/spell_effect.c: Put cap on duration of godly retribution - it can otherwise last so long that if a player is killed by it at their savebed location, spell could still go on after players temporary immunity ends. Retribution as increases in damage, so no need to really increase damage and duration to really high amounts. server/spell_util.c: In fire_arch_from_position(), and check that player isn't casting spell on top of wall - fixes for many spells, including ball lightning. server/time.c: Change comparsion on return of get_map_flags() from == P_OUT_OF_MAP to & P_OUT_OF_MAP - keeps syntax consistent. MSW 2005-01-11 | |||
Show difference between Revision 1.85 and 1.86 | |||
Revision 1.85 | mwedel | 2004/12/28 19:08:49 | +9 -2 |
Applied patch 1001079 - make alchemy books say what skill & equipment is needed - by Kevin Rudat. common/readable.c: Update code that generates book title, contents to denote what skill and equipment is needed. random_maps/{random_map.c, random_map.h, reader.l, reader.c, standalone.c}, server/main.c: Remove generate_treasure_now as an option for random maps - none are using delayed treasure, and IMO, if someone did, it would horribly break things, so it should never be used - given that, no reason to leave the code there. server/main.c: Add additional debugging for process events on removed objects - trying to track down occasional disease crash. server/time.c: Fix crash in move_player_mover() - it was never map tile aware, but even more so, appears to have always been broken if the player move tried to push the player off the edge of a map. Check for out of map condition, as well as make it map tile aware. MSW 2004-12-28 | |||
Show difference between Revision 1.84 and 1.85 | |||
Revision 1.84 | ryo_saeba | 2004/12/25 12:09:29 | +6 -2 |
Patches #1086095 and 1088385, party password length tweak | |||
Show difference between Revision 1.83 and 1.84 | |||
Revision 1.83 | mwedel | 2004/10/18 01:54:48 | +17 -11 |
Fix some bugs I introduced in my last commit. common/map.c: Add back in call to sum_weight that got removed when removing the object checking code. common/treasure.c: Have fix_generated_item() blank out the randomitems field after it has created treasure. server/apply.c: Only clear randomitems after create_treasure() - don't presume it should get blanked out for other reasons - with change to treasure.c above, this should be more reliable and fix starting skill issue, as randomitems was getting blanked out for CLASS object. server/main.c: Change processing of players a little - found crash where autosave was called for a removed player (map had got swapped out) - don't do autosave logic if player is removed. Move the autosave code to after the players action, so that can just have a single check of removed status. MSW 2004-10-17 | |||
Show difference between Revision 1.82 and 1.83 | |||
Revision 1.82 | mwedel | 2004/05/16 22:19:11 | +4 -2 |
server/main.c: Have process_events display information from dumped object. also, more refinement on checking of object status. MSW 2004-05-16 | |||
Show difference between Revision 1.81 and 1.82 | |||
Revision 1.81 | mwedel | 2004/05/15 22:58:19 | +2 -2 |
server/main.c: freeing removed objects appeared to have more of a consequence than expected - only remove the object if it was on a map (op->map). It turns out that the artifact code uses objects that are removed to store what the new object is. MSW 2004-05-15 | |||
Show difference between Revision 1.80 and 1.81 | |||
Revision 1.80 | mwedel | 2004/05/14 02:23:25 | +5 -2 |
server/main.c: Fix process_events() so it doesn't purge removed players from the list - players get in the removed state at play again prompt. MSW 2004-05-13 | |||
Show difference between Revision 1.79 and 1.80 | |||
Revision 1.79 | mwedel | 2004/05/09 03:03:57 | +15 -1 |
common/treasure.c: Change the loading of the artifacts file to actually calloc() the object - reset_object() doesn't clear all the values, like active_next, active_prev, so better to just do it there. server/main.c: Add code in process_events() that checks for removed objects - have seen occasional crashes caused by them. MSW 2004-05-08 | |||
Show difference between Revision 1.78 and 1.79 | |||
Revision 1.78 | mwedel | 2004/04/03 02:05:25 | +7 -1 |
server/main.c: Add extra checking for valid map coordinates after we grab them from the destination map itself - if a map is broken and has default enter_ coordinates outside the maps range, this previously resulted in a crash. server/pets.c: Pass the correct map object into insert_ob_in_map(). MSW 2004-04-03 | |||
Show difference between Revision 1.77 and 1.78 | |||
Revision 1.77 | ryo_saeba | 2004/03/12 13:04:15 | +3 -3 |
Change join/leave messages color, make DMs more 'stealthy' | |||
Show difference between Revision 1.76 and 1.77 | |||
Revision 1.76 | mwedel | 2003/09/13 00:02:11 | +20 -18 |
Updated code for skill + spell code. skills and spells are now objects. tuning these now means changing the archetypes. New spells can now be added just by making a new archetype. Lots of code cleanup also done. MSW 2003-09-12 | |||
Show difference between Revision 1.75 and 1.76 | |||
Revision 1.75 | mwedel | 2003/03/19 02:09:59 | +2 -2 |
crossedit/Attr.c, server/main.c, server/time.c: Update calls to animate_object() MSW 2003-03-18 | |||
Show difference between Revision 1.74 and 1.75 | |||
Revision 1.74 | mwedel | 2003/02/16 20:37:38 | +12 -2 |
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 | |||
Show difference between Revision 1.73 and 1.74 | |||
Revision 1.73 | mwedel | 2003/01/17 01:07:14 | +15 -4 |
Fix random map name generation so that it strips off the numbers if appropriate from the new map name. MSW 2003-01-16 | |||
Show difference between Revision 1.72 and 1.73 | |||
Revision 1.72 | mwedel | 2003/01/08 02:39:20 | +2 -2 |
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 | |||
Show difference between Revision 1.71 and 1.72 | |||
Revision 1.71 | mwedel | 2003/01/05 17:50:15 | +11 -5 |
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 | |||
Show difference between Revision 1.70 and 1.71 | |||
Revision 1.70 | mwedel | 2002/12/03 01:40:18 | +10 -8 |
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, which 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 | |||
Show difference between Revision 1.69 and 1.70 | |||
Revision 1.69 | garbled | 2002/11/26 02:48:20 | +2 -17 |
Get rid of #ifdef PLUGINS (it is on by default, I didn't take out gros's code) | |||
Show difference between Revision 1.68 and 1.69 | |||
Revision 1.68 | garbled | 2002/11/12 22:57:32 | +10 -9 |
#ifdef REAL_WIZ -> settings.real_wiz #ifdef RECYCLE_TMP_MAPS -> settings.recycle_tmp_maps Even found a cute bug while fixing up real_wiz. | |||
Show difference between Revision 1.67 and 1.68 | |||
Revision 1.67 | garbled | 2002/11/12 18:49:47 | +14 -16 |
#ifdef CASTING_TIME -> settings.casting_time | |||
Show difference between Revision 1.66 and 1.67 | |||
Revision 1.66 | mwedel | 2002/09/28 02:19:40 | +6 -4 |
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 | |||
Show difference between Revision 1.65 and 1.66 | |||
Revision 1.65 | mwedel | 2002/09/07 17:08:07 | +2 -2 |
Automake patch - all files. The changes for the source files is using confdir instead of datadir. Patch by Jacek Konieczny (jajcus@bnet.pl), applied by Mark Wedel, 2002-09-07. | |||
Show difference between Revision 1.64 and 1.65 | |||
Revision 1.64 | mwedel | 2002/09/04 00:17:06 | +2 -2 |
server/main.c: Move #endif in crypt_string to more proper place. server/monster.c: Fix bad if statement that may have been waking up monsters when they shouldn't have been. MSW 2002-09-03 | |||
Show difference between Revision 1.63 and 1.64 | |||
Revision 1.63 | mwedel | 2002/07/14 23:57:13 | +88 -87 |
-- Start body commit notes -- Major commit. This adds body locations which is used for equipping items. Equipment has information which body part it gets equipped to, and monsters have information on how which body locations they can have. As part of this work, I also did a lot of code cleanup. To use this, you must use up to date archetypes - the ones included in this commit are fine - just make sure you install them. If you don't, players will not be able to equip items. common/arch.c: Initialize body_used to be same as body_info for archetypes - this way when monsters are created, they can start equipping items right away. common/exp.c: update new_exp() - some flags it checked for before no longer exist or have new names. common/info.c: describe_item() now takes second parameter - update dump_abilities to use new calling convention. common/item.c: Add table that describes the body_info locations and their names. Add functions that calculate item power for objects that don't have it set. Update display functions to show item_power in items. Update describe_monster() - use_horn/wand/rod merged into just use_range. Modify describe_item() to take second paramater - who the item is being described for. Show item_power in describe_item. common/living.c: Pull out MAXLEVEL from being defined in this file - define in in define.h, since other files use it. Add NUM_STATS define - replace hard coded values of having just 7 stats with it. Update change_abil to not display that the player has a new attacktype when equipping a bow that has it - fix_player() ignores the attacktype of the bow, so it was incorrect information. fix_player(): Initialize player ranges structure to null - will get filled in by code in function, updated to deal with updating the body_used data from body_info in the objects. Replace instances of last_heal with gen_sp_armour. Rearrange some code to make function more readable. common/loader.c, common/loader.l: Remove the variable_const information - no longer needed and confusing for new people when adding in new object elements. Add set_body_info() - parses the string from the load file and sets the appropriate array element. Add check_loaded_object() - does sanity checking for an object after finished loading - replaces need for long processing directive in the actual rules by having seperate function. Remove unused flags from load directives (apply_once, no_pretext, can_apply), add some new ones (item_power, gen_sp_armour), update others to can_use_range. Replace flag_links with simple array that contains the name for each corresponding flag. Update get_ob_diff to not use the V_ values and just include the actual string name - all recent changes have done this, just updated for old stuff. Update get_ob_diff to save new values that have been added. common/object.c: clear_object: Modify to use memset to clear the structure to zero - this is less error prone than listing all the specific values, and probably faster. Also, makes it easier to add new elements - no need to update object.c in most cases. common/player.c: Remove get_player_ob routine - this is now merged in with get_player_ob in server/player.c. Remove generate_ext_title - not used. common/readable.c: Update to pass second argument to describe_item. common/treasure.c: Update to calculate item_power of generated items. Clean up a lot of code formatting. Update add_abilities to use gen_sp_armour values, not last heal (note, it appears the last_heal values weren't being used before). Update calls to describe item to take second parameter. doc/Developers/objects: Update will_apply notes, add note about item_power, body location. include/define.h: Comment out unused flags (flag_apply_once, flag_paralyzed, flag_no_pretext, flag_ready_rod, flag_read_horn). Add flag_use_shield. rename flag_use_wand to flag_use_range. rename flag_ready_wand to flag_ready_range. Add flag_ready_scroll. Update ARMOUR_SPELLS access macro. Add AP_PRINT flag to apply flags. Add CAN_APPLY_.. return types for can_apply_object function. include/includes.h: add strftime, mktime checks to this file. include/libproto.h: rebuilt. include/living.h: Add NUM_STATS define, update extern declarations to use it for sizing. include/loader.h: remove the V_.. info and xbm_.. externs that were not used. include/newserver.h: Remove ext_tile information. include/object.h: Add Body_Locations structure, NUM_BODY_LOCATIONS define. Add definitions for WILL_APPLY values. Clean up object structure - formatting is now consistent, ordering of values groups values together more logically. Update all types to use the int8/int16/int32 types. Several unused fields removed. include/player.h: Update rangetype enum. Add unapplymode enum. Clean up player structure - type updates, unused fields removed, formatting fixed up. include/spells.h: remove range_name extern. Update SpellTypeFrom field to combine wand/rod/horn into spellMisc - none of the spell casting code was differentiating these. include/sproto.h: rebuilt. lib/Makefile.in: Add new help files (applymode, bind, brace) lib/archetypes: rebuilt for body_info, gen_sp_armour, item_power, can_use_shield information. lib/artifacts: updated for item_poer and gen_sp_armour changes. lib/treasures: remove unused _force for player treasure. plugin/plugin_python.c: Change FLAG_USE_WAND to FLAG_USE_RANGE. server/apply.c: Move stftime, mktime to include/includes.h. Remove draw_find() - one line function can just as easly be in the code itself. Update calls to long_desc to pass second parameter. move gravestone_text() to player.c file. Add direction parameter to apply_scroll() - in this way monsters can use it properly. Remove dead code. Update apply_special function. Add unapply_special(), get_item_from_body_location(), unapply_for_ob(), and can_apply_object() functions. server/attack.c: Remove SET_FLAG(op, FLAG_PARALYZED) line - no code was ever checking status of FLAG_PARALYZED. server/c_misc.c: add command_body() which dumps body information for player. Update who as idle element in player structure removed - was not being used by anything. Add command_applymode() to set players prefered unapply method. Remove calls to unlock_player() in various functions - unlock_player() has not done anything meaningful for a while. server/c_object.c: Modify long_desc to take a second parameter which is who is examing the object. this is needed so that we can pass it down to some of the lower level functions. Update calls to describe_item to pass this second parameter. remove FLAG_NO_PRETEXT code - no archetyps were using it. When examining objects, also tell player where to put them on. server/c_range.c: Update legal_range() - we now store the object that is responsible for a range in the player object, so code is much simpler. Update change_spell() to not destroy golem just by readying another spell - we now let players regain control of golems after switching to another range. Update change_spell to use item name of object for range description. server/c_wiz.c: remove reference to count_left from player object - field removed from structure. server/commands.c: add new commands (applymode, body) to command dispatch table. server/login.c: Remove unlock_player() and lock_player() and calls to it - current checking of names at login should be sufficient to prevent duplicates. Remove dead code from check_name. Update load/save code for unapply mode value. Add set_flag(op, FLAG_USE_SHIELD) if player is allowed to use armor - needed since flag_use_shield is really a class feature and so is not automatically updated for old player files. server/main.c: Remove references to count_left. memset marker object to NULL - seems to increase stability on metalforge server. server/monster.c: Many updates related to the body info - monsters follow some rules as players. Add monster_should_cast_spell function - monsters will use this for all spellcasting related actions (abilities, scrolls, wands, etc). Update for merged rod/horn/wand ranges. Update bow use by monsters - they don't actually need to equip it to fire - this way we don't need to constantly swap the monsters weapons between the bow and melee item. Use fire_bow from player.c for most of the work. Modify scroll usage - monster will use it when player is near, not when it first picks it up. Add FLAG_READY_SCROLL to denote the monster has a scroll to use. Also, monster now casts it in appropriate direciton. Merge the monster_use_wand/rod/horn into monster_use_range. Modify check_good_weapon and check_good_armour to just look at the stats of the two items without needing the monster to apply it first. server/player.c: Print motd in green so it is more noticable. Update get_player function to do work it did before as well as that of get_player_ob. Have get_player take a parameter which is the object of the player if he has one. Modify to use memset to clear the player structure - more sure fire than explicitly listing values to initialize. Remove calls to unlock_player. Modify fire_bow so that monsters can also use the function. Add fire_misc_object() to fire_wand/rod/horn - removes code from fire(). Add gravesetone_text() to this file. server/shop.c: Update to pass second parameter to describe_item(). server/skill_util.c: Update check_skill_to_fire since there are fewer rangetypes now. change range_scroll name to range_golem, as that is a bit more accurate for what it actually does. Modify show_skills() to show player his item power and total of items he has equipped. server/skills.c: Add second paramater to long_desc, remove references to count_left. server/spell_effect.c: Add second paramater to long_desc, remove references to count_left. Update range_scroll to range_golem server/spell_util.c: remove references to count_left. Update messages if player trying to cast where he can't with new range names. socket/info.c: Update range information and how we display what it is - we will use the object name of the range if available. Remove reference last_known_spell, last_shoot, last_spell, last_value player structure fields. socket/init.c: Remove ext_title information. socket/request.c: Add element for life_stealing in the resistance array. Remove references to idle, count_left in player structure. remove ext2 title information. MSW 2002-07-14 -- End body commit notes -- | |||
Show difference between Revision 1.62 and 1.63 | |||
Revision 1.62 | mwedel | 2002/06/18 23:33:25 | +23 -19 |
common/item.c, include/material.h: Move the declaration/initialization of materialtype from material.h to item.c server/main.c: Modify crypt_string so that on Freebsd systems, it will use des_crypt if available, if not, won't encrypt. MSW 2002-06-19 | |||
Show difference between Revision 1.61 and 1.62 | |||
Revision 1.61 | mwedel | 2002/06/15 02:47:36 | +9 -9 |
TODO: Additional updates. Add support for loading the EMERGENCY_.. locations from a .emergency file in the map directory. This makes it easy to switch map distributions without the need to recompile. The emergency information is now stored in the settings structure. common/init.c: add EMERGENCY_ defines to default values in setting. Add init_emergency_mappath which loads the information. include/config.h: Remove NEW_WORLD_MAP definition, as it is no longer needed. Update some of the EMERGENCY_.. information as we don't need to include the information for the new world map. include/global.h: Add emergency_.. fields to settings structure. server/login.c, server/main.c, server/player.c: Update references from the EMERGENCY.. values to settings.emergency values. MSW 2002-06-15 | |||
Show difference between Revision 1.60 and 1.61 | |||
Revision 1.60 | mwedel | 2002/06/13 22:59:38 | +5 -2 |
server/main.c: If on freebsd system, don't crypt the password. Crypt on freebsd behaves diferently, and since there is little reason to encrypt passwords, easier to just leave them decrypted. Fix for sourceforge bug 469017 MSW 2002-06-13 | |||
Show difference between Revision 1.59 and 1.60 | |||
Revision 1.59 | mwedel | 2002/05/19 22:11:50 | +3 -1 |
crossedit/png.c, crossedit/xutil.c: Increase size of temporary buffers that are used when loading images - necessary to allow the editor to run without crashing. include/newserver.h: Remove quick_pos from the MapCell structure. server/main.c: Add code to set the coordinates to the EMERGENCY_X/Y values if using the EMERGENCY_MAP. socket/request.c: Fix code that was causing darkness to get repeatedly sent for some spaces. MSW 2002-05-19 | |||
Show difference between Revision 1.58 and 1.59 | |||
Revision 1.58 | jbontje | 2002/02/13 15:10:03 | +23 -2 |
server/main.c: If exit is damned, update players death & WoR home-position and delete town portal. server/apply.c: Fix bug in move_apply. return was used instead of goto leave, so recursion_depth wasn't decremented. mids 02/13/2002 | |||
Show difference between Revision 1.57 and 1.58 | |||
Revision 1.57 | garbled | 2002/01/02 16:59:00 | +2 -2 |
Essentially backout the overlay maps. They will no longer be created unless the server is running with the new world maps. | |||
Show difference between Revision 1.56 and 1.57 | |||
Revision 1.56 | garbled | 2002/01/02 00:53:23 | +8 -25 |
Backout of Anim25 patch by michtoen. It was causing server crashes, and is generally not useful in a non-iso crossfire. Discussed w/ mwedel. | |||
Show difference between Revision 1.55 and 1.56 | |||
Revision 1.55 | garbled | 2002/01/01 17:37:55 | +3 -3 |
Add the concept of overlay maps to the code. An overlay map is a map which is loaded on top of another map, replacing values in the header, and placing objects on top of other objects. This is the fundamental part of the new weather code, but also can be used to allow dynamic editing of the worldmaps by DM's eventually. garbled 2002-01-01 Phase II of the new weather system is done. Please let me know immediately if this causes any bizzare effects. | |||
Show difference between Revision 1.54 and 1.55 | |||
Revision 1.54 | mwedel | 2001/12/23 02:17:36 | +1 -5 |
common/loader.l, common/loader.c, common/object.c, include/object.h, socket/item.c: Remove sub_type and sub_type2 information - these were poorly named fields and not properly implemented. common/treasure.c: Add missing return type to change_treasure function. crossedit/Edit.c: Add SET_MAP_FLAGS macro to set P_NEED_UPDATE flag before calling update_position. include/config.h: Add NEW_WORLD_MAP selection which results in proper emergency save paths if you are using the maps-bigworld distribution. server/c_wiz.c: Fix the formatting (indentation) of the command_create function. No actual changes in how it runs, but the old formatting was really terrible and inconsistent. server/main.c: remove call to send_mapstats_cmd server/monster.c: Update the comment style to be proper, as well as the comments themselves. socket/request.c: Fix up improper indentation in esrv_update_stats. remove send_mapstats_cmd function. MSW 2001-12-23 | |||
Show difference between Revision 1.53 and 1.54 | |||
Revision 1.53 | garbled | 2001/12/18 02:58:03 | +8 -1 |
Lots of changes here. Basically implement a night and day system, as well as tracking of game time. A clockdata file is now created and updated by the server to increment time. Time increases by 1 hour, approximately every 2 minutes of real time. Right now this code has virtually no effect, but as maps are updated with outdoor settings, nightfall will occur automatically. The time command has been modified to show the current game time, and the clock objects have been changed to show the game time as well. garbled 2001-12-18 | |||
Show difference between Revision 1.52 and 1.53 | |||
Revision 1.52 | michtoen | 2001/12/03 21:49:18 | +14 -6 |
mapstats cmd for extended clients. Add a cmd which sends mapstats for clients. This use not the script events. Script events should used for special scripted events. | |||
Show difference between Revision 1.51 and 1.52 | |||
Revision 1.51 | michtoen | 2001/11/27 22:44:42 | +25 -8 |
Anim25 Patch This patch do this things mainly: - include same animation sheme for players and monster again - introduce guard/walk/fight animation in 8 direction - direct action: monster change from guard/walk animation when they get attacked and fall back to walk or guard when the enemy is gone - Monster do "intelligent" animation -> facing enemy -> turn and run when scared - fixed some animation flaws which invokes late anim update (monster moves first and hold one frame old facing) - Include real time player animation! -> player starts moving animation when player moves -> fall back to guard anim when player do nothing -> plays fight anim when hit some Hope i got all. This patch is much not so hard as it sounds. Most of these features was easy to include because the old anim engine was able to do about 80% of this. I had just to boost up the logic. | |||
Show difference between Revision 1.50 and 1.51 | |||
Revision 1.50 | gros | 2001/11/11 03:39:54 | +2 -1 |
Some bugfixes, new timer system, support for custom plugins commands, new plugin hooks - Gros 11/11/01 | |||
Show difference between Revision 1.49 and 1.50 | |||
Revision 1.49 | gros | 2001/10/14 02:57:14 | +56 -22 |
Major changes: Added dynamic plugin support, removed old Guile support. - Gros 10/14/01 | |||
Show difference between Revision 1.48 and 1.49 | |||
Revision 1.48 | mwedel | 2001/10/07 01:45:40 | +15 -3 |
common/map.c: Add INS_ON_TOP flag to insert_ob_in_map calls to preserve stacking order. Modify update_position to generate map spaces with more proper order. common/object.c: Modify insert_ob_in_map so that it preserves stacking if INS_ON_TOP is set. crossedit/CrEdit.c: Add missing code that would draw third face on a space. include/object.h: Add INS_ON_TOP flag/define. random_maps/exit.c: Modify code so that if the random maps leading to a special map are reset, they will properly link in with an already loaded final map (and update exit from final map back up) as needed. Also fix bug in that if the final map has been reset, a new one will now be properly loaded. random_maps/random_map.c:Update minimum size to be 7 (up from 6) - fixes bug which caused crashes when square_spiral maps of 6x6 would fail to generate. random_maps/random_map.h,random_maps/room_gen_onion.c: move OPT_values from room_gen_onion to random_map.h since the square_spiral code uses them. random_maps/square_spiral.c: Update call to map_gen_onion to use OPT_.. values instead of constant integer. random_maps/treasure.c: Add some casts to sprintf statements to eliminate some compiler warnings. server/main.c: Modify enter_exit code such that a random map has reset, we generate a new random map. This can happen when the random_map resets before the map that leads to them resets. MSW 2001-10-06 | |||
Show difference between Revision 1.47 and 1.48 | |||
Revision 1.47 | reeve | 2001/08/29 11:31:06 | +6 -2 |
Scott Barnes: One last fix for server/main.c, the login crashes I found are gone. | |||
Show difference between Revision 1.46 and 1.47 | |||
Revision 1.46 | reeve | 2001/08/29 10:55:24 | +2 -2 |
Scott Barnes: Another fix, this time in server/main.c | |||
Show difference between Revision 1.45 and 1.46 | |||
Revision 1.45 | smacfiggen | 2001/07/22 13:48:47 | +4 -1 |
Server side of the fog of war feature to the gtk client. Adds the protocol command newmap and adds a call to MapNewmapCmd in enter_map() in main.c. More additionals will need to be made, for example when someone casts a teleport spell but teleports within the same map. SMACFIGGEN | |||
Show difference between Revision 1.44 and 1.45 | |||
Revision 1.44 | mwedel | 2001/07/13 23:11:18 | +15 -22 |
Map tiling checkin server/Makefile.in: Remove encounter.c file. Use cproto instead of cextract to create proto file. server/alchemy.c,server/attack.c,server/c_object.c,server/c_wiz.c, server/disease.c, server/login.c, server/main.c, server/monster.c, server/move.c, server/pets.c, server/player.c, server/resurrection.c, server/rune.c, server/shop.c,server/skill_util.c, server/skills.c, server/spell_effect.c, server/spell_util.c, server/swap.c, server/time.c modified to use modified insert_ob_in_map function, use new macros to access map structure related data. change calls to update_all_los, remove lighting related code. server/apply.c: modified to use new insert_ob_in_map function. Update calls to update_object. remove RANDOM_ENCOUNTER code. for exits, modified to use the head for valid coordinates since the other parts may not have valid values since they are not saved out to disk anymore. server/c_misc.c,server/hiscore.c: modified to use new map structure/information. server/commands.c: remove dumplights command. server/encounter.c: removed - code no longer used server/init.c: remove RANDOM_ENCOUNTERS code. server/script.c: change Script_getMapObject to return NULL since there is no longer a map object. Modify to use new insert_ob_in_map and update_object functions. MSW 2001-07-13 | |||
Show difference between Revision 1.43 and 1.44 | |||
Revision 1.43 | mwedel | 2001/06/29 00:59:46 | +3 -2 |
common/object.c, common/player.c, include/object.h, server/skill_util.c: Remove the unused LINKED_SKILL code. common/Makefile.in: Use cproto to make prototypes - cextract fails for some reason and now seems unsupported. Cproto generates a bunch of warnings, but does do the job. common/arch.c,server/apply.c, server/main.c, server/monster.c: cleanup some compile warnings (unusued variables, returns without value doc/playbook/Makefile.in: Create proper dependencies for files. doc/playbook/treas2-extract: Add player_force to value to ignore. doc/spoiler-html/spoiler.html: rebuilt server/skill_util.c: Remove the unused LINKED_SKILL code. Prevent characters that have meditation skill from learning melee weapon skill. MSW 2001-06-28 | |||
Show difference between Revision 1.42 and 1.43 | |||
Revision 1.42 | michtoen | 2001/06/13 07:51:58 | +1 -1 |
Modified Files: player.c loader.l loader.c init.c request.c newserver.h Log Message: Removed 2 compiler warning from Scriptfire patch in loader.l/loader.c and script.c. added a new setup cmd: "newanim" a client giving the newanim cmd, will enable the new animation system. The interface is open and not server controlled at this moment. First using is to enable the player moving in 8 direction. Giving this option to a server without changed arch will invoke broken player animations. This will be changed in the future. MT 2001-06-13 | |||
Show difference between Revision 1.41 and 1.42 | |||
Revision 1.41 | michtoen | 2001/06/13 05:51:47 | +18 -6 |
Modified Files: aclocal.m4 configure. configure.in Makefile.in crossfire32.dsw crossfire32.dsp INSTALL_WIN32.txt common: arch.c loader.c treasure.c loader.l crossedit: Attr.c doc: README_EXTENSIONS README_SCRIPT include: autoconf.h define.h global.h includes.h loader.h object.h script.h spellist.h spells.h sproto.h version.h server: Makefile.in apply.c attack.c c_object.c gods.c init.c main.c monster.c player.c script.c script_spells.c script_types.c skills.c spell_effect.c spell_util.c time.c Log Message: Adding Scriptfire 0b11 to Crossfire. Massive changes. The facts are in the doc files. MT 2001-06-13 | |||
Show difference between Revision 1.40 and 1.41 | |||
Revision 1.40 | mwedel | 2001/05/13 03:21:54 | +2 -1 |
Move free_style_maps to style.c so that crossedit will compile properly. MSW 2001-05-13 | |||
Show difference between Revision 1.39 and 1.40 | |||
Revision 1.39 | mwedel | 2001/05/09 01:58:12 | +10 -4 |
Various improvements to make finding memory leaks easier. common/anim.c: Add free_all_anim function common/arch.c: Modify free_all_arch to free more data common/init.c: If running under MEMORY_DEBUG, don't pre-allocate objects. common/map.c: Add free_all_maps functiion. common/object.c: Modify object allocations if using MEMORY_DEBUG to only malloc one object at a time, and not pre-allocate objects. common/readable.c: Fix memory leak. common/shstr.c: Include autoconf.h so it can pull in dmalloc.h file. include/config.h: Remove notes of what was removed a long time ago. Add MEMORY_DEBUG option. include/libproto.h, include/sockproto.h, include/sproto.h: automatic rebuild server/c_misc.c: Fix 'malloc info command so it reports right memory total for maps. Add command_style_map_info which sums up memory used by style maps. server/commands.c: Add style_info wiz command which dumps memory usage for style maps. server/init.c: Have sighup handler call cleanup function. server/main.c: Fix clean_tmp_files which could result in crash if one of the maps in memory has 0 reset time. Modify cleanup function to free more data. server/player.c: op_on_battleground: Fix compile warning about unuused variable. socket/init.c: Change name of free_all_ericserver to free_all_newserver, have it free all face data. MSW 2001-05-08 | |||
Show difference between Revision 1.38 and 1.39 | |||
Revision 1.38 | michtoen | 2001/04/06 14:07:16 | +4 -4 |
win32: change // to /* */ | |||
Show difference between Revision 1.37 and 1.38 | |||
Revision 1.37 | michtoen | 2001/04/05 19:40:49 | +8 -1 |
*** empty log message *** | |||
Show difference between Revision 1.36 and 1.37 | |||
Revision 1.36 | mwedel | 2001/03/30 01:52:24 | +3 -3 |
include/sproto.h, server/c_wiz.c server/main.c server/player.c socket/loop.c: Modify leave function to take a second parameter that determines if it should print a message about the player leaving the game or not. Proper use of this prevents duplicate XXX left the game messages. MSW 2001-03-29 | |||
Show difference between Revision 1.35 and 1.36 | |||
Revision 1.35 | mwedel | 2001/03/23 14:23:01 | +2 -2 |
common/object.c: have update_position just update the flag that the server needs to send the look window to the client and don't send the item at this point, as sending the look will do that. server/main.c: process_players1: Remove call to draw (which updates the client map) - the handle newclient in socket/loop.c already does this and there is no reason to send multiple instances of the same map. MSW 2001/03/23 | |||
Show difference between Revision 1.34 and 1.35 | |||
Revision 1.34 | mwedel | 2001/03/21 01:48:12 | +8 -5 |
common/object.c: Modify find_free_spot to call arch_out_of_map so that it properly deals with multipart objects. server/main.c: Fix enter_map so that we first use the golem (and not player) when calling find_free_spot. Also, modify code so that it properly updates coordinates of the multipart golem. MSW 2001/03/20 | |||
Show difference between Revision 1.33 and 1.34 | |||
Revision 1.33 | mwedel | 2001/03/20 23:11:03 | +2 -3 |
Remove embedded newling from string constant - causes compile errors on some systems. MSW 2001-03-20 | |||
Show difference between Revision 1.32 and 1.33 | |||
Revision 1.32 | mwedel | 2001/03/16 23:03:08 | +37 -1 |
MSW 2001/03/16: Change code so that if player dies and loading the players savebed map does not work, return player to EMERGENCY_MAPPATH instead. New function added to server/main.c called enter_player_savebed which does the work, Files changed: include/sproto.h server/main.c server/player.c server/spell_effect.c (comment added) Unrelated change: Remove messages about multiple resist types set. Files changed: common/loader.l common/loader.c | |||
Show difference between Revision 1.31 and 1.32 | |||
Revision 1.31 | mardahl | 2001/03/14 14:16:20 | +9 -2 |
Added acknowledgment of the creators of the dg_tiles, of which we've used some. Here they are: David Gervais [david_eg@mail.com] Mitsuhiro Itakura [ita@gold.koma.jaeri.go.jp] Hansjoerg Malthaner [hansjoerg.malthaner@danet.de] Mårten Woxberg [maxmc@telia.com] (The above four are responsible for much of the cooler single-tile artwork.) | |||
Show difference between Revision 1.30 and 1.31 | |||
Revision 1.30 | mwedel | 2001/03/04 20:05:19 | +7 -5 |
MSW 2001/03/04: TODO: add re-connecting player to new client if client logs in with right name/password. common/init.c: Open up the logfile with the provide filename when given the -log option. server/init.c: Make set_logfile a first pass option so the init_library has the right logfile name to work with. server/main.c: Fix crash if map has an exit path yet that file does not exist. Give proper error message. | |||
Show difference between Revision 1.29 and 1.30 | |||
Revision 1.29 | mwedel | 2001/03/02 01:36:36 | +2 -2 |
server/main.c: Modified random_map code so the server will not crash if the exit object has no message (and thus variables to set for the random map). Update version.h just so its easier to see what OS people are running at. | |||
Show difference between Revision 1.28 and 1.29 | |||
Revision 1.28 | mwedel | 2001/03/02 00:02:21 | +2 -2 |
MSW 2001/03/01:server/main.c Modified so that golems move away from player when player changes map. Values were reversed before, causing the golem to move towards the player. | |||
Show difference between Revision 1.27 and 1.28 | |||
Revision 1.27 | mwedel | 2001/02/26 21:41:25 | +18 -1 |
MSW 2001/02/25: General player login cleanup. This should fix the crash when players re-roll stats too often. So far, it also seems to have the additional effect that calculated players on map now appears to be correct. common/player.c: No longer allocate the player object structure in get_player_ob (function is really misnamed). Callers to this function were not using the allocated function. server/login.c: Add leave_map call when player is loaded. server/main.c: Add leave_map function. server/player.c: Move get_player function to start of file - can declare it static that way. Move some initialize from add_player to get_player. Add set_first_map function. Add appropriate calls to leave_map and set_first_map when players join and leaves the game. | |||
Show difference between Revision 1.26 and 1.27 | |||
Revision 1.26 | mwedel | 2001/02/23 00:06:35 | +31 -14 |
MSW 2001/02/22: TODO: Add some items, remove some others, remove outline of future versions, since it was out of date. common/loader.l,loader.c: Declare msgbuf a static outside the lex_load function. lex_load was otherwise clearing it each time it was called, which resulted in empty messages for the random artifacts (since the call lex_load one line at a time). Instead, we just zero this at start of load_object. Original reason of this change was due to purify errors - as I look at the code, it appears even before these changes that it was clearing the buffer properly. common/map.c: removing pending field from map objects. common/re-cmp.c: Comment out some code which was resulting in too many false compares. include/config.h: increase default for MAX_OBJECTS. 6000 is a bit small on current systems. include/map.h: Remove pending field from map structure. random_maps/treasure.c: Increase size of doorlist. Fixes crash, in that if a random map could place 8 doors around the treasure, the list was not terminated, so the problem would eventually try to read/dereference random memory after the array. server/c_misc.c: Remove pending field from maps, so remove functions and other places that referred to it (like the maps command) server/c_wiz.c: fix up wiz map reset command. Not really tested, but old code had some definate problems just from visual inspection. server/main.c: Further fix for unique exits - relative paths to unique maps from non unique maps should now work. server/monster.c: Various fixes - one is that should get more reliable distance values for multipart monsters. Second, modify dist_att to calculate from closest part of monster, and not the head of the monster. server/pets.c: Remove code dealing with pending objects. server/player.c: Don't remove invisible objects in players inventory when playing with permadeath mode. server/spell_util.c: If you try to cast denied spell, it no longer costs any spellpoints. socket/item.c: Fix bug where it was using 'item' protocol command instead of 'item1' End of MSW 2001/02/22 checkin. | |||
Show difference between Revision 1.25 and 1.26 | |||
Revision 1.25 | cvs | 2001/02/11 03:12:14 | +22 -18 |
MSW 2001/01/11: Other than various general cleanups, the main change this code does is that style maps (for random maps) get loaded special now - they objects they contain are not put on the active list, and they use a private map list so they do not appear in the output of the 'maps command. common/arch.c, common/treasure.c,server/login.c: Update calls to load_object common/loaderl.l,loader.c: Update lex_load to take an optional flags option. This is currently only used so that the loader can decide if it should call update_ob_speedto put objects on the active list or not. Calls to lex_load updated. load_object modified to take another option common.map.c: remove PROCESS_WHILE_LOADING and CHECK_ACTIVE_MAPS ifdefs. update calls to load_object. Remove some dead code. include/config.h: Remove CHECK_ACTIVE_MAPS and PROCESS_WHILE_LOADING flags. Those options did not work, and in all likelihood, this would be done via threading now days and not what code was there. include/libproto.h, sproto.h: updated or various function changes. include/map.h: Add MAP_STYLE flag. random_maps/exit.c: Call set_map_timeout after we load the final map so it will get swapped out. random_maps/standalone.c: Add dummy set_map_timeout function so it compiles. random_maps/style.c: Add load_style_map function which does the job of actually checking to see if a style map is in memory, and if not, loads it up. Updates the pointers so it appears on a map style map list and not the general map list. server/main.c: create set_map_timeout function that deals with setting the map timeouts. Fix bug so server doesn't crash if two players kill each other on hall of selection. server/monster.c remove dead code. socket/loop.c: If realloc fails, catch it and exit with meaningful error message. End of MSW 2001/02/11 checkin. | |||
Show difference between Revision 1.24 and 1.25 | |||
Revision 1.24 | cvs | 2001/02/09 01:30:37 | +31 -27 |
Fix that would prevent maps from getting swapped out properly - we would try to swap out a map the player is in the process of leaving - move swap out code until after we have moved the player to the new map. MSW 2001-02-08 | |||
Show difference between Revision 1.23 and 1.24 | |||
Revision 1.23 | cvs | 2001/02/07 01:54:48 | +71 -10 |
MSW 2001/02/06: common/porting.c: relocate clean_path from this file to server/main.c server/main.c: relocate clean_path from porting.c. Add unclean_path. Modify enter_unique_exit so it supports relative maps on unique maps. Modify enter_exit so word of recall (or other forcelike fields), work when the return point is a swapped out unique map. | |||
Show difference between Revision 1.22 and 1.23 | |||
Revision 1.22 | cvs | 2001/01/31 23:35:33 | +3 -3 |
Fix bug - was using wrong object when the the exit coordinates were out of the new map. IT ws using the default coordinates from the map the exit was on, and not the new map. MSW 2001-01-31 | |||
Show difference between Revision 1.21 and 1.22 | |||
Revision 1.21 | cvs | 2001/01/31 22:09:21 | +10 -3 |
Fix to make word of recall and other force objects work. MSW 2001/01/31 | |||
Show difference between Revision 1.20 and 1.21 | |||
Revision 1.20 | cvs | 2001/01/31 01:54:52 | +283 -325 |
MSW 2001/01/30: Complete rewrite of the exit handling code. Hopefully as an effect, this will fix the player appearing in the middle of the oceans. I think the code should also work better in many other areas. Main enhancements is a 3x3 area for pets to follow player to new map, as well as golems now following players to the new maps. include/sproto.h, random_maps/rproto.h - rebuilt. random_maps/random_map.c: Change generate_random_map to take a structure with the random map paremeters. random_maps/reader.l, reader.c: Add set_random_map_variable function that reads the map parameters from a char buffer. Also, remove some leftover comments that were from the common/loader.l file. random_maps/rogue_layout.c: Change some functions to be static so make proto doesn't collect them. random_maps/standalone.c: Add opening of parms file into main function since it ws removed from the random_map.c file. server/apply.c: Don't display the message of random maps to the players as they enter them, as this message is random map parameters, and not a real message. server/login.c: #if 0 out using of the player loading element in the structure. this isn't used right now. server/main.c: Bulk of the changes. main changes are to break apart the old enter_exit function into smaller functions that more logically do the needed function (random maps, unique maps, and transferring the player to the new map). random map code now passes the parameters via structure instead of file in /tmp. Code is much more understandable now and hopefully bugfree. server/pets.c: minor changes/bugfixes. Search full SIZEOFFREE array, use real owner variable when print out messages. server/player.c: Remove usage of the loading variable in the player structure. End of MSW 2001/01/30 checking. | |||
Show difference between Revision 1.19 and 1.20 | |||
Revision 1.19 | cvs | 2001/01/15 16:33:32 | +29 -16 |
MSW 2000/01/15: Various fixes for friendly object code: common/button.c: Add missing call to remove_friendly_object common/friend.c: Pretty much completely re-written. add_friendly_object now checks to make sure the object being added isn't already on the list, remove_friendly_object will remove objects whose tags don't match, and added clean_friendly_list. common/object.c: No reason to use the function pointer to remove_friendly_object since that function is in the lib. common/time.c: Make DEBUG_TIME always on (no longer compile time option). other areas use the global var pticks, so if it was turned off, compile would break anyways. common/treasuer.c: No longer print debug messages on artifacts created. Cluttered log file making it hard to see more important errors. include/config.h: Remove DEBUG_TIME define. include/libproto.h: Rebuilt for clean_friendly_list function. server/main.c: rewrote do_specials to do things based on pticks variable. This allows various specials to be spread out across multiple ticks easier. Also, added clean_friendly_function to part of what this does. server/skills.c: add missing call to remove_friendly_object. Also, removed from #if 0 .. #else .. #endif code. End of MSW 2000/01/15 checkin. | |||
Show difference between Revision 1.18 and 1.19 | |||
Revision 1.18 | cvs | 2000/12/18 01:38:25 | +2 -2 |
MSW 2000/12/17: Various changes. Note that the scope of files in this checkin make it appear that a lot was changed, but in fact it was mostly just re-orginization - very little code has actually changed. include/autoconf.h.in: Add HAVE_LIBDES to file. include/config.h: Remove comments after defines for MAP_MIN/MAX timeouts. This just removes some warnings during compile. comments are now on lines by themselves. include/player.h: remove shootstrength for player structure. It was unused. server/Makefile.in: remove input.c file, add c_range.c file. server/c_chat.c: remove command_last, add command_shout and command_tell from input.c to this file. Also fix bug in command tell which would let players crash server at will. server/c_misc.c,server/c_object.c: Relocate many functions from input.c into these files. server/c_move.c, server/c_new.c: Add standard crossfire banner comment. server/c_range.c: New file - contains range related commands, including spell casting (relocated from input.c) server/c_wiz.c: move command_invisible from input.c into this file. server/commands.c: Remove unused commands (bell, last, strength) server/input.c: removed file. server/main.c: Change HAVE_DES_H to HAVE_LIBDES server/player.c: When choosing a race, draw it facing south for best presentation of image. server/spell_util.c: Remove dead code (#if 0 shootstrength related code) socket/loop.c: remove unused variables. NOTE: Due to the addition/removal of files, you will need to do 'config.status; make depend; make' from the top level directory for everything to be compiled properly. End of MSW 2000/12/17 checkin. | |||
Show difference between Revision 1.17 and 1.18 | |||
Revision 1.17 | peterm | 2000/12/14 21:09:20 | +2 -1 |
PeterM: Fixed up random map code. Used a lot of global variables for stuff. Always meant to fix it and just got 'round to it. | |||
Show difference between Revision 1.16 and 1.17 | |||
Revision 1.16 | cvs | 2000/11/25 22:56:05 | +3 -3 |
MSW 2000/11/25: include/patchlevel.h (removed), doc/spell-docs/Makefile (removed), include/Makefile.in, include/version.h, server/init.c, server/main.c, socket/metaserver.c: remove patchlevel.h - include the patchlevel in the version.h file, update other files to use version as a single string. | |||
Show difference between Revision 1.15 and 1.16 | |||
Revision 1.15 | cvs | 2000/11/25 19:54:40 | +13 -5 |
MSW 2000/11/25: configure.in, configure, include/autoconf.h.in, server/main.c: Update to check for libdes.a and des.h and use those for password decryption - fixes a problem on freebsd if it is using md5 crypt. Hopefully it doesn't break anything. include/sproto.h: Needed updating. Unrelated to above changes. | |||
Show difference between Revision 1.14 and 1.15 | |||
Revision 1.14 | cvs | 2000/11/23 01:32:47 | +16 -4 |
MSW 2000/11/22 server/main.c: Modify enter_exit so that it properly uses per player unique maps that are only in memory and not on disk. Remove unused variable from process events (unrelated change). | |||
Show difference between Revision 1.13 and 1.14 | |||
Revision 1.13 | cvs | 2000/11/14 01:35:06 | +2 -1 |
metaserver update: common/init.c: Add meta_ fields to settings structure initialization. include/global.h: Add meta_ fields to settings structure. include/sockproto.h: Updated for new meta_ functions. lib/Makefile.in: Have it install settings file. lib/settings: Default settings file with some metaserver default value.s server/init.c: Add load_settings file. Add call to metaserver_init. server/main.c: Add call to metaserver_update in do_specials. socket/Makefile.in: Add metaserver.c to list of files. socket/metaserver.c: File that deals with metaserver related data. socket/item.c: Remove some unused variables. Unrelated to metaserver changes. socket/loop.c: Add calls to metaserver_update in block_until_new)connection. Change function so that if there are no active players, it still timeouts and does metaserver update. Basically changed to do it the way the WATCHDOG code did it. End of metaserver update. MSW 2000-11-13 | |||
Show difference between Revision 1.12 and 1.13 | |||
Revision 1.12 | cvs | 2000/08/08 01:57:57 | +3 -1 |
Add/Remove some LOG calls: common/living.c: Remove log messages about gen_sp values on armor server/login.c, server/main.c: Add messages about player logins/logouts with IP address. Useful for tracking potentially troublesome players and where they are player from. MSW 8/7/2000 | |||
Show difference between Revision 1.11 and 1.12 | |||
Revision 1.11 | cvs | 2000/06/17 16:56:45 | +4 -2 |
Changed the naming scheme for random maps so they won't grow indefinitely. | |||
Show difference between Revision 1.10 and 1.11 | |||
Revision 1.10 | cvs | 2000/06/06 02:05:21 | +7 -7 |
Increased buffer size for map paths. | |||
Show difference between Revision 1.9 and 1.10 | |||
Revision 1.9 | jec | 2000/05/26 04:50:49 | +6 -2 |
* apply() cleanup patch 26/5/2000 | |||
Show difference between Revision 1.8 and 1.9 | |||
Revision 1.8 | jec | 2000/05/21 16:41:45 | +65 -89 |
common/init.c, common/loger.c, include/logger.h, server/init.c: New log level llevInfo which is the new default log level. Many other files: Use llevInfo instead of llevError where appropriate. Use 'settings.debug >= llevDebug' instead of 'settings.debug'. server/main.c: Use a marker object to track current position in the list of active objects. Using a pointer didn't work because all objects on that list can be removed from it by process_object(). One of the things this fixes is bogus "Free object on list" errors. | |||
Show difference between Revision 1.7 and 1.8 | |||
Revision 1.7 | cvs | 2000/04/06 22:26:25 | +5 -4 |
CREDITS, server/main.c: Add Peter Gardner to list of credits. Mark Wedel 4/4/2000 | |||
Show difference between Revision 1.6 and 1.7 | |||
Revision 1.6 | damn | 1999/09/17 13:49:25 | +16 -12 |
- trivial bulletproofing, probably no effect -- DAMN | |||
Show difference between Revision 1.5 and 1.6 | |||
Revision 1.5 | damn | 1999/08/14 08:35:12 | +180 -164 |
Added a test to enter-exit() to deal with path problem when moving from one unique per-character map to another unique per-character map. When leaving a unique map, current path is derived from the map's filename, which was previously constructed from the original's path. | |||
Show difference between Revision 1.4 and 1.5 | |||
Revision 1.4 | cvs | 1999/07/13 01:03:04 | +1 -1 |
Global commit for 0.95.4 - most files have no changes but just have differing headers between my local RCS and the CVS versions and need to get synced up. | |||
Show difference between Revision 1.3 and 1.4 | |||
Revision 1.3 | cvs | 1999/06/13 17:08:05 | +2 -2 |
Fix bug introduced by last checking (fix unique map problem) - one of the checks in enter_object was calling check_path with the wrong options - this would the program not to find the correct map - msw | |||
Show difference between Revision 1.2 and 1.3 | |||
Revision 1.2 | cvs | 1999/06/13 01:06:01 | +16 -20 |
Patch by Carsten Pluntke that fixes a problem with unique maps not being properly reloaded after being swapped out (main.c) - msw | |||
Show difference between Revision 1.1 and 1.2 | |||
Revision 1.1 | uid200 | 1999/04/02 13:10:04 | None |
Initial revision | |||
First version | |||
Revision 1.1.1.1 | uid200 | 1999/04/02 13:10:04 | +0 -0 |
First CVS revsion: crossfire-0.95.3 | |||
Show difference between Revision 1.1 and 1.1.1.1 |