July 2002 Commit Log

Number of Commits:
Number of Active Developers:
mwedel 2002-07-30 00:37 Rev.: 1672

Various fixes:
INSTALL: Update with note about --with-includes configure option.
common/loader.c, common/loader.l: Add comment about flag_invis_undead
include/define.h: Add FLAG_INVIS_UNDEAD
lib/adm/map_info: Modify to not follow symbolic links.
server/monster.c: Modify can_detect_enemy to be a bit more straightforward
in its logic. Also, modify detection of invisible creatures - don't
reduce duration, just return that the monster can detect the player.
There were also spurious messages about the player being seen.
Modify can_see_enemy to check FLAG_INVIS_UNDEAD, also fix broken
server/player.c: Clear FLAG_INVIS_UNDEAD when invisibility ends. Fix
action_makes_visible() - had reverse logic on FLAG_MAKE_INVIS check,
and a typo in the printed message.
server/spell_effect.c: cast_invisible() to use FLAG_INVIS_UNDEAD -
also check for maximum duration, and only search active objects when
clearing enemy.
server/weather.c: Fix off by one on comparision when intializing maps
darkness when loading map from disk. In dawn_to_dusk, don't do
further processing if the light hasn't changed.
MSW 2002-07-29

182 lines of code changed in 9 files:

mwedel 2002-07-25 23:39 Rev.: 1671

gtk/config.c: Fix crash when trying to apply config changes when compiled
with SDL support but user is not using it. Fix bug where settings
were not being properly updated.
gtk/sound.c: initialize sound_pipe to NULL, and have init_sounds close
the sound pipe if there is currently one open - fixes bug when switching
sound control many times in that multiple cfsndserv processes could get
MSW 2002-07-25

17 lines of code changed in 3 files:

mwedel 2002-07-25 23:15 Rev.: 1670

Add floors to map.
MSW 2002-07-25

328 lines of code changed in 1 file:

tanner 2002-07-25 22:46 Rev.: 1669

* Wed Jul 25 2002 Bob Tanner <tanner@real-time.com>
+ crossfire-client-1.3.1-realtime.4
- fixed crossfire-client.desktop entry

0 lines of code changed in 1 file:

mwedel 2002-07-25 00:57 Rev.: 1668

Various bug fixes, add glyph spell:
TODO: Updated
common/map.c: Fix change_map_light() - if darkness was reduced to zero,
it wouldn't properly notify the players or update the maps they are
on. Also, make it more robust to handle changes by more than one.
include/define.h: Increase NROFREALSPELLS
include/spellist.h: Add glyph spell.
include/spells.h: Add SP_GLYPH entry.
server/attack.c: Fix up kill_object() - it has had some many various
additions that it was difficult to follow the logic. It should also now
do better check on skill objects when awarding experience.
server/player.c: Add some checks/addition to properly deal with freeing the
name_pl in the player object. Fix it so that if you are braced, you
still won't attack friendly creatures.
server/rune.c: Add cast_generic_rune() to handle the glyph and rune spell.
server/spell_effect.c: Fix up some pointers in cast_cause_disease() -
needed so that it works properly when embedded in a glyph. Have it
return 1 even if no one caught anything - you still cast the spell, so
you should lose the grace for it.
server/spell_util.c: Fix some formatting. Break out the code dealing
with rune into cast_generic_rune()
socket/loop.c: Add flag to player command mapping, and update structure -
if flag is set, command can only be issued when player is in play,
and not when waiting at the quit or login prompt - fixes crashes where
players could wait for the map to get swapped out (after quitting), and
then looking at a space.
socket/request.c: Fix map2cmd so that invisible players are drawn.
MSW 2002-07-24

380 lines of code changed in 13 files:

mwedel 2002-07-24 00:14 Rev.: 1667

Re-add outdoor flag to maps in which the value got stripped.
MSW 2002-07-23

9 lines of code changed in 9 files:

mwedel 2002-07-23 01:07 Rev.: 1666

Add unlinked map directory - started with file from lake_county - seems
to be missing lefftower1 and lefttower3, so as is, map isn't of any real
MSW 2002-7-22

0 lines of code changed in 1 file:

mwedel 2002-07-23 01:04 Rev.: 1665

Add lake_county (kundi_area) maps to world southeast of brest.

Update world maps road connects to this city. Also, fix up some typos/
incorrect map path names.

Add dreaming_sage guild to navar city.
MSW 2002-07-22

301760 lines of code changed in 99 files:

mwedel 2002-07-18 22:21 Rev.: 1664

Fix bug in monster_cast_scroll which was referencing an uninitialized
MSW 2002-07-18

1 lines of code changed in 1 file:

mwedel 2002-07-17 23:59 Rev.: 1663

Fix freeze count to 100 like the help says.
MSW 2002-07-17

1 lines of code changed in 1 file:

mwedel 2002-07-17 22:45 Rev.: 1662

Add dm command 'freeze' which freezes a player from doing anything for some
amount of time.
include/sproto.h: rebuilt.
lib/Makefile.in: Add freeze to wizhelp files.
lib/wizhelp/freeze: New file.
server/c_wiz.c: Add command_freeze(). Also, break out
get_other_player_from_name() - several functions need the same logic
of getting a player named X that is not us - making it a function
reduces the duplicate code. Fix some formatting for some functions.
server/commands.c: Add command_freeze to the dispatch table.
MSW 2002-07-17

110 lines of code changed in 5 files:

mwedel 2002-07-17 22:41 Rev.: 1661

If in the editor, don't calculate item power for items - better
to leave the default of zero so it is obvious on maps that no value
has been set.
MSW 2002-07-17

2 lines of code changed in 1 file:

mwedel 2002-07-15 23:21 Rev.: 1660

lib/Makefile.in: add a 'archonly' directive that only collects archetypes
and doesn't collect images.
lib/archetypes: rebuilt for fixes made to arches.
lib/collect.pl.in: modified to take second parameter -ARCHONLY, that causes
it not to save out animation, bmaps and faces file.
server/apply.c: Change order of print when applying/unapplying - print out
the 'you apply/unapply' before we print out the changes that applying
the item does. It seems odd for it to be 'you feel stronger. you apply
xyz'. Fix can_apply_object() so that if a player needs to unapply
several items, the right return code is returned and we don't say
the player has a choice.
server/player.c: Fix missing clearing of player->next.
MSW 2002-07-15

76 lines of code changed in 5 files:

mwedel 2002-07-15 23:02 Rev.: 1659

Fix monster arcs that had incorrect wrists/foot (1 instead of 2)
Fix update_monster script that generated the errors in the first place.
Add body information to the player/old/*.arc for very old player files.
Move crown from misc directory to armour/helmet, add appropriate body_info.
Add needed body info for elven boots.
MSW 2002-07-15

312 lines of code changed in 60 files:

mwedel 2002-07-14 22:57 Rev.: 1658

-- 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
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
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
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
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 --

3996 lines of code changed in 47 files:

mwedel 2002-07-14 22:38 Rev.: 1657

Update arcs to use body_info for equipping items.
Update armor to use gen_sp_armour instead of last_heal.
can_use_shield added to necessary arcs.
Add dev/scripts directory, which contains some handy scripts I wrote
for updating on the items.
Add item_power to the armours - needs to be done for rest of equippable
MSW 2002-07-14

1882 lines of code changed in 397 files:

mwedel 2002-07-14 22:25 Rev.: 1656

Update banner copyright with proper contact information.
MSW 2002-07-14

82 lines of code changed in 38 files:

mwedel 2002-07-10 22:21 Rev.: 1655

Makefile.in: if no makedepend, don't run make depend directive.
README: Add not about ALSA revisions and possible problems compiling.
MSW 2002-07-10

15 lines of code changed in 3 files:

tanner 2002-07-10 12:38 Rev.: 1654

* Wed Jul 10 2002 Bob Tanner <tanner@real-time.com>
+ crossfire-client-1.3.1-realtime.3
- fixed location of sound files [kbulgrien@worldnet.att.net]

8 lines of code changed in 1 file:

tanner 2002-07-10 12:35 Rev.: 1653

Added SF Notes file.

0 lines of code changed in 1 file:

tanner 2002-07-09 19:11 Rev.: 1652

New .spec file to support KDE icons.

22 lines of code changed in 1 file:

tanner 2002-07-09 18:54 Rev.: 1650

Renamed file

0 lines of code changed in 1 file:

tanner 2002-07-09 18:28 Rev.: 1649

* Wed Jul 02 2002 Bob Tanner <tanner@real-time.com>
+ crossfire-client-1.3.1-realtime.2
- added 16x16, 32x32, 48x48 icons for proper KDE support

53 lines of code changed in 4 files:

mwedel 2002-07-08 22:27 Rev.: 1648

server/disease.c: Fix propogation of diseases with negative damage (these
do a percent of the creatures damage). The new disease was getting
a damage rating of 1 in all cases because we were passing a negative
value to random_roll for the top end of the range.
MSW 2002-07-08

9 lines of code changed in 2 files:

tanner 2002-07-07 13:53 Rev.: 1647

* Wed Jul 02 2002 Bob Tanner <tanner@real-time.com>
+ crossfire-client-1.3.1-realtime.1
- released 1.3.1 client
- BUG Fix
- Enhancement

10 lines of code changed in 1 file:

uid39786 2002-07-05 16:22 Rev.: 1646

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

207 lines of code changed in 7 files:

uid39786 2002-07-05 15:09 Rev.: 1645

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

12 lines of code changed in 3 files:

mwedel 2002-07-04 21:25 Rev.: 1644

This commit adds graduated colored statbars to the gtk client. What
this means is that the color of the statbar goes smoothly from red to yellow
to green depending on what percentage of your hp/sp/grace/food is compared
to your maximum. To use this, you need to go to the config pane and hit
the 'gradually change stat bar color' button.
common/client.h: Add CONFIG_ value for this, increase CONFIG_NUMS.
common/init.c: Add "grad_color_bars" to config_names array.
gtk/config.c: Add button to select this behaviour. Move all the
special config checks to beyond the for loop that checks the values
in apply_config(). There is no need to check all the values on each
gtk/gtkproto.h: Rebuilt for inclusion of reset_stat_bars()
gtk/gx11.c: Add two styles to the Vitals (stat bar) structure so we can
alternate between them. Default is to initialize one for green and the
other for red (in non graduated color mode). This should be more efficient
then allocating a new one each time we need to change the value. add
reset_stat_bars() to reset the colors of the styles to red and green -
needed because the graduated color code will change the colors of these.
Remove code that freed these styles. Modify draw_stat_bar() to draw them
in color or simple mode, in simple mode, we now just need to use the
appropriate style and not allocated a new one. Modify
draw_message_window() to pass bar values greater than 1 to the
draw_stat_bar() function - in graduated color mode, we draw such values
with a blue tinting (more blue the more over it is). draw_stat_bar() knows
how to properly deal with these higher values.
MSW 2002-07-04

158 lines of code changed in 6 files:

mwedel 2002-07-03 15:10 Rev.: 1643

gtk/config.c: Fix setting of radio button set state - it was always setting
the same (last) radio button as the active button, which did not match
state - now it sets the proper button active - this is for the lighting
control toggle.
gtk/map.c: Add/subtract 2 to the need_recenter_map function - in this
way, code that checks known display position +/-1 will still be within
map array.
gtk/sdl.c: Fix per pixel (fastest and best) lighting code - this got
broken quite a while - it was looking to see if the coordinates for the
map structure where within range, and not the real coordinates. Since
the map coordinates would almost never be within range, the effect was
that the per pixel effects more ore less looked like the per tile
MSW 2002-07-03

28 lines of code changed in 4 files:

tanner 2002-07-03 01:41 Rev.: 1642

Rolled new rpm release.

123 lines of code changed in 1 file:

mwedel 2002-07-02 18:20 Rev.: 1641

Update to not put files in subdir, but rather just at the top level
of the archive.

Have it generate a README file for the archive.
MSW 2002-07-02

9 lines of code changed in 1 file:

mwedel 2002-07-01 17:54 Rev.: 1640

Update for 1.3.0 release.
MSW 2002-07-01

5 lines of code changed in 3 files:

mwedel 2002-07-01 17:35 Rev.: 1639

If passed face to get_map_image_size is face 0, return default size
values. Sometimes needed for the caching logic.
MSW 2002-07-01

4 lines of code changed in 1 file:

mwedel 2002-07-01 17:04 Rev.: 1638

socket/request.c: If players were using the original map command with
an even map size, server would try to send too much data to client -
checking in server would result in an abort. Modify code to now properly
send right number of spaces.
lib/Makefile.in: remove extraneous / in front of motd entry in file list.
include/version.h: Update for version 1.3.0
Makefile.in: Update for version 1.3.0
lib/archetypes: rebuilt.
MSW 2002-07-01

26 lines of code changed in 5 files:

mwedel 2002-07-01 16:35 Rev.: 1637

Fix extra space after face name - some of the tools used to build
spoiler can't properly deal with this.
MSW 2002-07-01

1 lines of code changed in 1 file:

mwedel 2002-07-01 02:00 Rev.: 1636

lib/Makefile.in: Fix error in variable not being surrounded by parens.
MSW 2002-06-30

30 lines of code changed in 2 files:

mwedel 2002-07-01 01:59 Rev.: 1635

doc updates: Rebuild the doc files, but most of this is fixing some of the
doc build stuff to correctly working with the new image set naming
scheme and fixing some bugs. Some doc is certainly out of date - the
playbook doesn't mention the classes for example.
doc/handbook.ps, doc/spoiler.ps: rebuilt
Note: all the doc/playbook changes also apply to the same files in
doc/playbook/Makefile.in, doc/playbook/makeps, doc/playbook/makeps.pl:
replace the awk makeps script with the perl one.
doc/playbook/items-extract: Don't show invisible items.
doc/playbook/levels-extract: Update so that it properly finds the declaration
of the levels in living.c
doc/playbook/treas1-extract: Clear type when we get a new Object header. was
resulting in duplicate entries for the characters.
doc/playbook/treas2-extract: Don't include forces of the no_class_face_change
as part of characters treasures
doc/playbook-html/chap1.html: Update ftp site information.
doc/spoiler/Makefile.in, doc/spoiler/makeps.pl, doc/spoiler/makeps:
replace the awk makeps script with the perl one.
doc/spoiler/items-extract: Add a space after the name match so that it won't
match on the name_pl field.
doc/spoiler-html/items-extract: Add a space after the name match so that it won
match on the name_pl field.
doc/spoiler-html/makeps.pl: Update to handle new naming scheme for images.
doc/spoiler-html/spoiler.html: rebuilt.
MSW 2002-06-30

1046 lines of code changed in 19 files:

mwedel 2002-07-01 01:40 Rev.: 1634

MSW 2002-06-30

46998 lines of code changed in 2 files:

June 2002 »

Generated by StatSVN 0.7.0