Protocol: | pserver | User: | anonymous |
Machine: | crossfire.cvs.sourceforge.net | CVSROOT: | /cvsroot/crossfire |
Filename: arch.c | |||
Revision 1.39 | tchize | 2006/04/06 16:18:34 | +32 -137 |
finished common/arch.c unit test, fixed a few bugs, moved function around and renamed other | |||
Show difference between Revision 1.38 and 1.39 | |||
Revision 1.38 | akirschbaum | 2006/03/16 15:54:36 | +15 -9 |
Apply patch #1450408 (Improved hash table) by cf.schmorp.de development team. | |||
Show difference between Revision 1.37 and 1.38 | |||
Revision 1.37 | akirschbaum | 2006/02/10 17:59:25 | +4 -2 |
Apply slightly modified patch #1428309 (code-cleanup: const, static) by Stefan Huehner: add const/static to functions/variables. Remove some type casts. | |||
Show difference between Revision 1.36 and 1.37 | |||
Revision 1.36 | akirschbaum | 2006/02/08 17:53:19 | +20 -1 |
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. | |||
Show difference between Revision 1.35 and 1.36 | |||
Revision 1.35 | akirschbaum | 2005/12/05 17:34:03 | +9 -9 |
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.34 and 1.35 | |||
Revision 1.34 | akirschbaum | 2005/10/28 14:08:53 | +3 -2 |
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.33 and 1.34 | |||
Revision 1.33 | akirschbaum | 2005/10/07 12:54:48 | +2 -2 |
common/{arch.c, object.c}, crossedit/{Attr.c, Defines.h, Edit.c}, include/libproto.h, server/{plugins.c, time.c}: Rename functions with mixed-case names to lower case only. crossedit/Defines.h: Remove prototypes for nonexisting functions. | |||
Show difference between Revision 1.32 and 1.33 | |||
Revision 1.32 | ryo_saeba | 2005/07/19 15:59:36 | +2 -2 |
Don't hardcode values. Fix item transformer code. | |||
Show difference between Revision 1.31 and 1.32 | |||
Revision 1.31 | ryo_saeba | 2005/07/15 08:51:48 | +2 -2 |
Glue cleaning. New plugin function. | |||
Show difference between Revision 1.30 and 1.31 | |||
Revision 1.30 | ryo_saeba | 2005/05/03 13:31:04 | +11 -11 |
Use const char* instead of char* when possible | |||
Show difference between Revision 1.29 and 1.30 | |||
Revision 1.29 | mwedel | 2003/10/27 01:24:13 | +3 -3 |
Various bug fixes: common/arch.c: Fix item_matched_string() so that it only passes in the length of the pssed in name in the strncasecmp(), and not the shorter of the passed in string or item name. Otherwise, if player does a 'drop wand of', unidentified wands (name just wand) would match. Similarly, if a player did 'drop ringmail', unidentified rings would match, etc. common/living.c: Fix fix_player() to always process the praying skill with respect to resistances and whatnot. This is necessary because the god give abilities are put in this skill, and those shouldn't go away depending on if the skill is in use or not. Also fix bug in add_exp routines which wasn't multiplying permanent exp by PERM_EXP_GAIN_RATIO common/object.c: Fix find_obj_by_type_subtype() - had extraneous semicolon after the for loop, so the if code that was supposed to be for each object was never called and instead would crash as it would get called with tmp was null. server/attack.c: Fix problem with kill_object() not finding proper skill - it would use the skill object instead of the skill. Fix problem of poisoning not setting up proper skill name in poisoning object. server/c_range.c: If player is invoking a spell, don't update their range_magic value. server/skill_util.c: Fix divide by zero problem if improperly passed skill object. MSW 2003-10-26 | |||
Show difference between Revision 1.28 and 1.29 | |||
Revision 1.28 | mwedel | 2003/10/09 02:21:03 | +19 -21 |
common/arch.c: fix item_matched_string() so that matching makes sense - the ordering was wrong, so that we would match something with a low priority, and skip over looking to see if that same object would get a better match. Order the function so that we look for the best matches first. MSW 2003-10-08 | |||
Show difference between Revision 1.27 and 1.28 | |||
Revision 1.27 | mwedel | 2003/09/22 23:45:36 | +3 -1 |
Add missing bit for checking custom names. MSW 2003-09-22 | |||
Show difference between Revision 1.26 and 1.27 | |||
Revision 1.26 | mwedel | 2003/09/13 00:01:26 | +55 -11 |
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.25 and 1.26 | |||
Revision 1.25 | tchize | 2003/09/03 08:42:17 | +6 -1 |
Allow renaming items for users. Thanks to Nicolas Weeger (Ryo) | |||
Show difference between Revision 1.24 and 1.25 | |||
Revision 1.24 | mwedel | 2003/02/11 02:10:53 | +11 -1 |
Add substring matching to item_match_string, so players can search for things like Str+1. MSW 2003-02-10 | |||
Show difference between Revision 1.23 and 1.24 | |||
Revision 1.23 | mwedel | 2002/07/14 23:57:11 | +9 -1 |
-- 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.22 and 1.23 | |||
Revision 1.22 | uid39786 | 2002/07/05 17:22:29 | +4 -1 |
common/arch.c: Add 'unlocked' match for item_matched_string. lib/help/drop, lib/help/dropall: Help files for these commands. lib/Makefile.in: Update to include help commands above. server/spell_effect.c: Fix formatting of summon_pet() function. Modified so that it no longers sucks player spellpoints when casting it via scroll - scrolls should not cast the player spellpoints. No idea why that code was there - in fact, casting off a scroll used more sp than casting from memory. Modify cast_cause_disease() function so that if the passed direction is 0, we refer to the facing and cast in that direction - this means spells of cause disease now work. Also perform some minor formatting changes in the function. TODO: Add not about inscription. MSW 2002-07-05 | |||
Show difference between Revision 1.21 and 1.22 | |||
Revision 1.21 | uid39786 | 2002/07/05 16:09:33 | +4 -4 |
common/arch.c: Fix bug in item_matched_string which was matching all values (inverse in fact) when passed with count > 1 in matching string - missing ! operator. README: Update - remove note about windows client, since it is currently unsupported and could stop working in some future release. MSW 2002-07-05 | |||
Show difference between Revision 1.20 and 1.21 | |||
Revision 1.20 | mwedel | 2002/06/07 02:00:38 | +20 -14 |
Mostly bugfixes. I'm not sure if this will fix the disappearing arch problem- none of the changes made in the original multiple name would seem to cause it, so hard to say if any of these changes may fix it. -- common/arch.c: Change get_archetype_by_name to be more efficient and not leak memory. Modify code that frees all archetype data to free the name_pl information. Make sure the clone.name_pl is set to NULL. When singularites are created, set the name_pl for them. common/loader.l, common/loader.c: Modify code that fixes up name_pl to be more correct when it fixes up name_pl for old objects. common/map.c: Modify load_map_header so that tile_paths will be normalized - need for editor to be able to load maps that have a multipart object that spans the maps. crossedit/Edit.c: Modify some calls of out_of_map to OUT_OF_REAL_MAP, since tiling code really isn't fully in place for the editor. Modify EditPerformFill so that it actually works and doesn't crash the editor. include/global.h: Move FREE_AND_COPY macro from loader.l to here so that all source code files can use it. lib/adm/map_info: Modify to actually be able to examine just a sub portion of the map directories, and not all of them. Don't always show the unused objects - information isn't very interesting if only a portion is being examined. Modify the exit examining code to properly deal with random maps (if there is a finalmap component, make sure that does exist.) Loade the bmaps file and not the faces file to find valid faces. plugin/plugin_python.c: Add missing %s that described what script was actually loaded. random_maps/special.c, server/alchemy.c, server/c_misc.c, server/gods.c, server/login.c, server/player.c, server/spell_effect.c: Set up proper name_pl value for code that changes the name of objects. server/apply.c: Use FREE_AND_COPY to set up names. Set up proper name_pl values for cases that change name. In apply_lighter, call fix_player if player is lighting an object in his inventory - necessary for the players glow_radius to get updated so the change actually takes effect. socket/request.c: Modify esrv_map_scroll so that it properly clears cells that are moving out of view - failure to do this was resulting in the map1a updating these spaces with empty faces. This was causing fog of war wackiness with the client. MSW 2002-06-06 | |||
Show difference between Revision 1.19 and 1.20 | |||
Revision 1.19 | mwedel | 2002/05/30 23:18:32 | +61 -70 |
Main change is the addition of name_pl and client_type to object structure. The name_pl contains the proper plural name instance - fixes problem of '2 tooths'. client_type is sent to the client so that client doesn't need to figure out sorting on its own. Client_type is an object attribute, so can be modified in maps to hide the real type. -- common/arch.c: item_matched_string() modified to use the name_pl field when trying to match names, and not to try to make the name plural itself. common/item.c: query_short_name(),query_base_name() modified to use name_pl instead of trying to make the name plural. common/loader.c, common/loader.l: Add code to load and save the name_pl value and client_type. Add logic when object is finished loading to set name_pl value to same as name or arch name if no name_pl is specified - this supports old maps/characters in which the objects dont have a name_pl field yet. Disable logic for need_an and need_ie flags since they are no longer needed. Fix bug that caused elevation not to get saved. common/object.c: Add client_type check for CAN_MERGE function. Add appropriate logice in functions to handle setting, clearing, and copying of name_pl values. Remove unused anim_... fields initialization. doc/Developers/objects: Add information about the name_pl field and client_type. doc/Developers/protocol: Remove item protocol command info - it has been obsoleted. Add information about item2 protocol command. include/define.h: Remote ST1_* values - they were not being used. comment out FLAG_AN and FLAG_NEED_IE values. include/newserver.h: Add itemcmd to socket structure - this is the version of the item protocol command that will be sent to the client. include/object.h: Add name_pl and client_type field to object structure. Remove unused anim_* values. lib/archetypes: rebuilt with new archetypes that contain client_type and name_pl information. lib/bmaps, lib/bmaps.paths, lib/crossfire.1, lib/crossfire.0, lib/faces: rebuilt. server/monster.c: Remove anim_ references that were not being used. socket/init.c: Initialize itemcmd version in the socket to 1. socket/item.c: Remove special handling for clients of old versions - all clients now have to be at least sc_version 1024 (which has been around for a long time). This simplifies a lot of the object code that deals with sending or not sending plural names to the client - now always send them. Change code that sends item to client to use the item revision (currently 1 or 2) that the client wants. If version 2, send along client_type information. socket/request.c: Handle 'itemcmd' parameter in setup command. Make sure it is in proper range. If client is very old (sc_version < 1024) tell them so. MSW 2002-05-30 | |||
Show difference between Revision 1.18 and 1.19 | |||
Revision 1.18 | mwedel | 2002/05/18 22:55:48 | +56 -55 |
The bulk of this commit is to modify the server to only send the lower rightmost part of multipart archetypes that use the same head. This allows support of big images in the client. common/arch.c: Modify first_arch_pass to figure out the tail_x/y values for multipart archs. Rename the prev variable to head, as that it really what it is. Remove quick_pos info. common/object.c: remove quick_pos info from object. doc/Developers/images: Add notes about using merged images. doc/Developers/protocol: Add information about the map1a command, which is used to for big image support. Remove map2 documentation. include/map.h: Add MAP_LAYERS define instead of using hardcoded value of 3. include/newserver.h: Change the MapCell to use MAP_LAYERS - saves considerable memory. Add defines for MAX_CLIENT_ map sizes. Remove map1cmd, map2cmd elements from socket structure - instead use enumeration of mapmode - only one map type will be used at any time by the client, so no reason to have individual elements - it also makes it easier to add new mapmode commands. include/object.h: remove quick_pos, update_tag from object structure. Add tail_x, tail_y values to archetype structure. include/player.h: Remove some now unused values from the player structure (drawn, floor, floor2, darkmask). These have been superseded by the map cells in the socket structure for quite a while. include/sockproto.h: rebuilt server/player.c: Remove code that initialized the drawn values in the player structure since they no longer exist. socket/init.c: Replace map1cmd, map2cmd elements in socket structure with mapmode element. Modify init_ericserver so that it properly passes an int when setting the SO_REUSERADDR field. socket/request.c: Modify code in SetUp function to use the new mapmode enumeration in the socket structure. Add support for map1acmd setup option. Throughout map code, replace MAXMAPCELLFACES with MAP_LAYERS. modify map_clearcell to take options for values to clear the cell to. Add have_head, check_head, and update_space commands - used with the map1 command to store and find head information. draw_client_map1 modified to support map1a extensions, as well as added logic for checking for heads in blocked and out of viewable map spaces. Some of the code is simplified by using the update_space function, since the logic for processing each layer was otherwise the same. remove draw_client_map2 function. esrv_map_scroll has same logic - some variables and code formatting changes. MSW 2002-05-18 | |||
Show difference between Revision 1.17 and 1.18 | |||
Revision 1.17 | mwedel | 2001/12/03 01:51:39 | +3 -1 |
This checkin for the most part removes support for xpm and xbm graphics - now the only image supported is the png. common/arch.c: comment out printing on warning of object having no type - getting 300 meaningless messages at startup is annoying. common/image.c: Remove X11 color information from colorname array. Remove processing of color_fg and color_bg information from face file - only use color_fg if no magicmap information is available - foreground and background infoformation was only needed for bitmap graphics. common/loader.c, loader.l: Add elevation element, comment out some logging messages that are excessive and only really relevant for people who want to fix them (really should be in the collect script anyways). Remove some unused code. common/map.c: add outdoor field to map structure - add support for loading and saving it. crossedit/App.c,crossedit/CrUtil.c, crossedit/Defines.h, crossedit/crossedit.c crossedit/xutil.c: Remove support for non png graphics. crossedit/Attr.c: Add support for elevation variable, remove code for non png graphics. doc/map-technical: Add note about outdoor field. include/face.h: remove fg, bg fields from face struecture. include/global.h: Update colorname array definition. include/loader.h: Add V_ELEVATION field. include/map.h: Add outdoor field to map structure. include/newserver.h: Update types so it only loads/knows about png information. include/object.h: Add elevation field to object structure. lib/Makefile.in: Remove support for building crossfire.xpm and crossfire.xbm files. lib/animations, lib/archetypes, lib/bmaps, lib/bmaps.paths, lib/crossfire.png, lib/faces: Rebuilt. Main difference is a few sea types, and the fact that it hadn't been collected for a while. server/spell_effect.c: Modify dimension door so that it calls MapNewmapCmd so that fog of war does not get confused. Also, removes call to draw as functions further up will do that. server/spell_util.c: Remove color information from attack information that shuffle_attack uses. socket/init.c, socket/request.c: Remove support for non png images. MSW 2001-12-02 | |||
Show difference between Revision 1.16 and 1.17 | |||
Revision 1.16 | michtoen | 2001/11/26 22:33:46 | +5 -2 |
Arch type & subtype patch Added type & subtype system with 2 subtypes. Type & subtype will be send to client. Adding new types: FLOOR 71 WALL 77 LIGHT_SOURCE 78 MISC_OBJECT 79 MONSTER 80 SPAWN_GENERATOR 81 Added subtypes for armor & weapons. new commands are: sub_type <uint8> sub_typ2 <uint16> sub_type2 is for internal server use. Added new command: casting_speed <delay> This will be included later. I will use the sdl client as tester for this patch, older clients will not be effected even when the arches are updated. | |||
Show difference between Revision 1.15 and 1.16 | |||
Revision 1.15 | michtoen | 2001/11/17 15:25:21 | +5 -5 |
commit the ext2 gender & guild system - first part. Sorry, my cvs sytem is still broken, i will write a better doc to the list. Notice some other small fixes too. | |||
Show difference between Revision 1.14 and 1.15 | |||
Revision 1.14 | michtoen | 2001/11/05 19:31:52 | +10 -4 |
small patch for map2cmd. | |||
Show difference between Revision 1.13 and 1.14 | |||
Revision 1.13 | michtoen | 2001/11/04 14:22:55 | +11 -4 |
One Arch/one pic patch. I use a modified map1cmd, called map2cmd for it. This is a first tryout implementation. The code can more then only submit offset data of multi arch, its also possible to include animation tags for the faces - we have now more free flags. The code is NOT optimized. Iam still unsure , what the best way is to send all this data. Sort & parsing cost time. At this stage, ill quick parse is by server, use slightly more bandwitch and let do the client more work. But thats perhaps not the best way. But this code will allow to install the arches for this one arch/one pic. MT | |||
Show difference between Revision 1.12 and 1.13 | |||
Revision 1.12 | mwedel | 2001/06/29 00:59:46 | +1 -3 |
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.11 and 1.12 | |||
Revision 1.11 | michtoen | 2001/06/13 07:52:20 | +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.10 and 1.11 | |||
Revision 1.10 | michtoen | 2001/06/13 05:38:49 | +167 -1 |
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.9 and 1.10 | |||
Revision 1.9 | mwedel | 2001/05/09 01:58:11 | +7 -10 |
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.8 and 1.9 | |||
Revision 1.8 | mwedel | 2001/04/09 01:59:46 | +6 -11 |
Main thing this commit does: Undo MT's last commit, which should not have been checked it at this time. As that did not fix any bugs, it should wait until after 1.0 (at least one file also fails to compile) Fix minor bug in server/player.c which prevent keyring weight from getting updated when keys are automatically used out of the rings. move the GETTIMEOFDAY macro to include/global.h so it doesn't have to be done in both arch.c and time.c remove some ^M characters from porting.c MSW 2001-04-08 | |||
Show difference between Revision 1.7 and 1.8 | |||
Revision 1.7 | michtoen | 2001/04/08 19:57:13 | +13 -8 |
fix a small debug log bug with gettime... | |||
Show difference between Revision 1.6 and 1.7 | |||
Revision 1.6 | michtoen | 2001/04/07 14:44:50 | +4 -4 |
insert GETTIMEOFDAY macro | |||
Show difference between Revision 1.5 and 1.6 | |||
Revision 1.5 | tanner | 2001/02/24 03:23:04 | +4 -2 |
Added code to print out arch types. | |||
Show difference between Revision 1.4 and 1.5 | |||
Revision 1.4 | cvs | 2001/02/11 03:12:12 | +2 -2 |
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.3 and 1.4 | |||
Revision 1.3 | cvs | 2000/04/27 02:04:18 | +9 -5 |
common/arch.c, common/loader.l (loader.c): Modify the load routines to strip off trailing whitespace in object names and other_arch fields - I believe this is why altars to Sorig did not generally work, and while generally that white space should not exist, doing a little extra checking for it is not a bad idea - MSW 4/26/2000 | |||
Show difference between Revision 1.2 and 1.3 | |||
Revision 1.2 | cvs | 1999/07/13 01:02:41 | +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.1 and 1.2 | |||
Revision 1.1 | uid200 | 1999/04/02 13:10:03 | None |
Initial revision | |||
First version | |||
Revision 1.1.1.1 | uid200 | 1999/04/02 13:10:03 | +0 -0 |
First CVS revsion: crossfire-0.95.3 | |||
Show difference between Revision 1.1 and 1.1.1.1 |