--- crossfire/lib ---


Protocol:pserver User:anonymous
Machine:crossfire.cvs.sourceforge.net CVSROOT:/cvsroot/crossfire

Filename: crossfire.1
Revision 1.61lalo 2006/09/06 16:14:27 +1467 -1467
collected archetypes n'stoof
Show difference between Revision 1.60 and 1.61
Revision 1.60quinet 2006/08/18 13:15:49 +946 -910
Recollect archetypes.
Show difference between Revision 1.59 and 1.60
Revision 1.59mwedel 2006/06/25 00:47:08 +812 -536
Commit update files.
MSW 2006-06-24
Show difference between Revision 1.58 and 1.59
Revision 1.58mwedel 2006/05/30 02:01:36 +1243 -1243
Recollect these goodies.
MSW 2006-05-29
Show difference between Revision 1.57 and 1.58
Revision 1.57ryo_saeba 2006/05/05 04:25:36 +1392 -1392
First part of patch #1453869 courtesy Stefan Huehner (shuehner)
Show difference between Revision 1.56 and 1.57
Revision 1.56mwedel 2006/02/07 01:31:37 +1390 -1390
Recollect archetypes - some new objects, some objects modified to include
move_.. fields.
MSW 2006-02-06
Show difference between Revision 1.55 and 1.56
Revision 1.55mwedel 2006/01/11 00:38:46 +1378 -1378
check in recollected archetypes.
MSW 2006-01-10
Show difference between Revision 1.54 and 1.55
Revision 1.54mwedel 2006/01/02 01:16:22 +1404 -1405
Recollect archetypes/images, since there has been a bunch of changes.
MSW 2006-01-01
Show difference between Revision 1.53 and 1.54
Revision 1.53mwedel 2005/11/16 02:16:07 +1397 -1397
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.52 and 1.53
Revision 1.52bbotbuilder 2005/10/18 15:17:08 +1525 -1525
Recollect archetypes.
Show difference between Revision 1.51 and 1.52
Revision 1.51ryo_saeba 2005/10/09 03:52:42 +1540 -1519
Rebuild archetypes and such.
Show difference between Revision 1.50 and 1.51
Revision 1.50cavesomething 2005/09/17 19:01:02 +1384 -1384
Recollect archetypes, faces, etc
Show difference between Revision 1.49 and 1.50
Revision 1.49mwedel 2005/09/06 02:08:26 +656 -656
recollect updated archtypes.
MSW 2005-09-05
Show difference between Revision 1.48 and 1.49
Revision 1.48mwedel 2005/08/31 01:28:19 +656 -656
Recollect archetypes.
Show difference between Revision 1.47 and 1.48
Revision 1.47qal21 2005/08/18 20:04:52 +656 -656
recollect archetypes
Show difference between Revision 1.46 and 1.47
Revision 1.46mwedel 2005/07/25 00:29:16 +1519 -1519
recollect archetypes.
MSW 2005-07-24
Show difference between Revision 1.45 and 1.46
Revision 1.45tchize 2005/05/21 13:53:04 +1519 -1519

FIX: recollected arches, treasures were missing
Show difference between Revision 1.44 and 1.45
Revision 1.44tchize 2005/05/21 12:35:23 +1350 -1408

Added support for readable subtypes in sign managements.
Added some documentation on readable subtypes in the form
Now signs should show nice on new clients (if you except my awful drawings)
Show difference between Revision 1.43 and 1.44
Revision 1.43mwedel 2005/03/20 23:09:58 +1252 -1252
recollect archetypes
MSW 2005-03-20
Show difference between Revision 1.42 and 1.43
Revision 1.42mwedel 2005/03/16 01:58:51 +941 -947
rebuilt archetypes.
MSW 2005-03-15
Show difference between Revision 1.41 and 1.42
Revision 1.41mwedel 2005/03/12 23:49:03 +1543 -1543
Collect & rebuilt archetypes.
MSW 2005-03-12
Show difference between Revision 1.40 and 1.41
Revision 1.40tchize 2005/01/15 09:56:12 +1543 -1543

rebuild of archetype datas.
rebuild of datas after fix of bug '[ 1096845 ] Duplicated archtypes'
Show difference between Revision 1.39 and 1.40
Revision 1.39mwedel 2004/10/26 00:16:06 +1543 -1543
collect & commit.
MSW 2004-10-25
Show difference between Revision 1.38 and 1.39
Revision 1.38tchize 2004/09/26 05:08:52 +1544 -1547

Colelcted archetypes from arch cvs
Show difference between Revision 1.37 and 1.38
Revision 1.37mwedel 2004/06/11 01:21:58 +1410 -1410
Recollect - the missing 'archway' archs, along with perhaps others, is
causing crashes/infinite loops.
MSW 2004-06-10
Show difference between Revision 1.36 and 1.37
Revision 1.36mwedel 2004/05/20 00:49:59 +884 -884
include/book.h: Increase the size of BOOK_BUF, so inscribed books can hold
more informatin.
lib/Makefile.am, lib/Makefile.in: Add the 'rename' to the list of help
files.
lib/archetypes: update the glyph/rune spells to have proper face.
lib/bmaps, lib/crossfire.* - add glyph.111 image.
server/gods.c: Modify tailor_god_spell() to look harder to find a god -
necessary for glyph spells.
server/spell_attack.c: Give players 50% of exp for monsters they charm.
MSW 2004-05-19
Show difference between Revision 1.35 and 1.36
Revision 1.35mwedel 2004/05/16 03:25:50 +858 -858
commit these for Ryo. Ads GPS object.
MSW 2004-05-15
Show difference between Revision 1.34 and 1.35
Revision 1.34mwedel 2004/04/16 00:59:16 +1332 -1407
recollect all this stuff.
Show difference between Revision 1.33 and 1.34
Revision 1.33mwedel 2004/02/01 18:37:41 +1458 -1487
rebuild various files from arch directory.
MSW 2004-02-01
Show difference between Revision 1.32 and 1.33
Revision 1.32mwedel 2003/12/27 23:54:39 +1423 -1330
Rebuilt archetypes & related files.
MSW 2003-12-27
Show difference between Revision 1.31 and 1.32
Revision 1.31mwedel 2003/10/05 23:25:35 +1343 -1293
Recollect these. Various new arch's have been added.
MSW 2003-10-05
Show difference between Revision 1.30 and 1.31
Revision 1.30mwedel 2003/09/13 00:02:00 +1295 -1295
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.29 and 1.30
Revision 1.29temitchell 2003/09/04 01:46:22 +1477 -1786
- updating the collected arches (primarily hides and traps needed to be
collected again)
Show difference between Revision 1.28 and 1.29
Revision 1.28temitchell 2003/07/18 00:20:36 +1644 -1644
- update collection
Show difference between Revision 1.27 and 1.28
Revision 1.27tchize 2003/07/17 05:00:48 +1646 -1645

Damn last commit was partial and could have lead to inconsistencies between archetype file an
faces files. sorry
Show difference between Revision 1.26 and 1.27
Revision 1.26temitchell 2003/07/16 01:38:07 +2120 -1515
- update the collection with changes
Show difference between Revision 1.25 and 1.26
Revision 1.25tchize 2003/07/15 07:56:41 +1400 -1400

updated collect.pl to pickup smoothing info from archetype and regenerated the picture and
smoothing file using it.
Show difference between Revision 1.24 and 1.25
Revision 1.24tchize 2003/07/10 04:57:43 +1400 -1400

rebuild archetype files with smoothing and changed the smooth file since
there were mistakes in it.
Show difference between Revision 1.23 and 1.24
Revision 1.23tchize 2003/07/08 07:45:27 +1414 -1849

Changed the way smoothing is done. Switched th smooth command to binary
mode, rebuild archetype files, added doc on smoothing, updated protocol
file. Changed a the "togglemapextended smoothing" to "togglemapextended
smooth" to prevent problem of compatibilities with previous cvs
smoothing release.
Show difference between Revision 1.22 and 1.23
Revision 1.22tchize 2003/06/19 05:59:32 +1622 -1635

Added support for smoothing to the client.
This will allow (i hope) better graphical results while using very
little bandwidth overhead.
Changes done follows:
- Added protocol command MapExtendedInfos and smooth commands to server
- Added a SetUp paramater in protocol for activating smoothing
(disabled by default) or more general Extended map infos
- Added file lib/smooth a text file containing some smoothing info a
client might ask the server about.
- Changed loader.l to be able to mark an object as 'smoothed' in
archetypes (the smoothlevel parameter) and rebuild loader.c
accordingly
- Changed lib/Makefile.am to install lib/smooth file in shared folder
- Rebuild the Makefiles.am and the Configure script (using autogen.sh)

To be able to smooth, A client commit (the common part+ the gtk part)
will follow and an archetypes commit will also follow.

I will also detail changes to the protocol within a few days
Server has been tested with older client to check backward compatibility
Show difference between Revision 1.21 and 1.22
Revision 1.21avogl 2003/05/22 17:51:23 +1545 -1464
Collected arches for new red dragon images.
Hope I did it correctly. First I ran "make collect",
but that didn't seem to collect images so I did a
"adm/collect_images.pl" afterwards.
--AV
Show difference between Revision 1.20 and 1.21
Revision 1.20temitchell 2003/05/08 00:06:16 +1804 -1463
- committing the recompiled arches - first time lucky right?
Show difference between Revision 1.19 and 1.20
Revision 1.19mwedel 2003/04/02 02:13:21 +228 -228
TODO: Various updates
aclocal.m4,configure: Update path to find python (fix again)
common/image.c: Minor update to a ocmment in the code.
common/los.c: Add missing P_OUT_OF_MAP checks that resulted in some incorrect
LOS calcuations.
include/funcpoint.h: Remove draw_func function pointer.
lib/Makefile.am, in: Remove bmaps.paths to from being installed or being part
of distribution - bmaps.paths is only needed when collecting the image
lib/*: Rebuilt
server/c_object.c: Patch by Bernd Edler to have the apply functions take into
acount if the item is equipped or not when looking for good matched items.
server/commands.c: Move printlos to normal commands. I don't think it reveals
any information that is in any way harmful. And since it dumps the
output to the players screen, no concern of it filling up log files.
Also, when doing LOS debugging, it is pointless to have it as a DM command
because LOS is ignored for DM's.
server/disease.c: Modify remove_symptoms to remove all symptoms the player
may have a disease. Modify infect_object() to not allow a creature to
have more than one instance of the same disease.
socket/info.c: remove draw() - instead, draw_client_map() can be used,
as that is most the only thing draw() did anyways.
socket/loop.c: Update draw() calls to draw_client_map()
socket/request.c: Remove special handling for darkness==4 cases (first
space that is in full darkness) - this is extra complications and causes
display problems. Update draw_client_map() to include the little bit
of logic that draw() had that this function did not have.
MSW 2003-04-01
Show difference between Revision 1.18 and 1.19
Revision 1.18mwedel 2003/03/24 00:58:31 +1018 -949
common/glue.c, include/funcpoint.h: remove draw_func() pointer - no longer
needed, so code that sets up pointer removed.
lib/*: rebuilt - facings added to old player animation information.
ruined_temple archetype added.
server/init.c: remove set_draw() function
server/player.c: remove call to draw() - socket code takes care of this.
socket/info.c: remove draw() - instead, draw_client_map() can be used,
as that is most the only thing draw() did anyways.
socket/loop.c: Update draw() calls to draw_client_map()
socket/request.c: Remove special handling for darkness==4 cases (first
space that is in full darkness) - this is extra complications and causes
display problems. Update draw_client_map() to include the little bit
of logic that draw() had that this function did not have.
MSW 2003-03-24
Show difference between Revision 1.17 and 1.18
Revision 1.17mwedel 2003/02/24 01:38:57 +813 -799
common/anim.c: Fix for 8 way facing animations.
lib/treasures: Add sheep treasures
lib/* (rest) - rebuilt
server/spell_effect.c: Fix up counterspell - mainly fix a bug in that if
counterspell hit a multipart magic that used magic as an attacktype,
it would also crash. However, code also woudln't work properly on
tiled maps, and I'm dubious if it would work properly if there was more
than one effect on a space.
MSW 2003-02-23
Show difference between Revision 1.16 and 1.17
Revision 1.16mwedel 2003/02/21 02:12:26 +1542 -1518
rebuild/recollect arch and related files.
MSW 2003-02-20
Show difference between Revision 1.15 and 1.16
Revision 1.15garbled 2003/01/19 01:19:37 +1407 -1366
Regen these files
Show difference between Revision 1.14 and 1.15
Revision 1.14garbled 2003/01/09 18:23:40 +988 -941
regen these with the lantern, weapontypes, avion's changes, and the
editor_folder changes.
Show difference between Revision 1.13 and 1.14
Revision 1.13garbled 2003/01/07 01:42:36 +1530 -1508
regen
Show difference between Revision 1.12 and 1.13
Revision 1.12mwedel 2003/01/05 17:50:14 +481 -459
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.11 and 1.12
Revision 1.11mwedel 2003/01/02 01:05:38 +1433 -1229
Rebuild automatically generated files, as they had become out of
data.
treasures: Remove some extra 'mores' before the end of the lists for
the pet monster tresurelists that were causing warnings at server
startup.
Makefile.in - rebuilt, my config is somehow different that it doesn't like
the .in file built previously.
MSW 2003-01-01
Show difference between Revision 1.10 and 1.11
Revision 1.10mwedel 2002/12/03 01:40:17 +1002 -1002
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.9 and 1.10
Revision 1.9mwedel 2002/11/25 00:41:35 +1336 -1336
Rebuild for all the new arch's people have checked in.
MSW 2002-11-24
Show difference between Revision 1.8 and 1.9
Revision 1.8mwedel 2002/09/13 01:32:12 +817 -817
rebuild archetypes.
random_maps/square_spiral.c - fix off by one error in square_spiral.
add doc/plugins - update related makefiles.
lib/adm/map_info - reduce verbosity to only show real errors.
MSW 2002-09-12
Show difference between Revision 1.7 and 1.8
Revision 1.7mwedel 2002/08/21 02:04:46 +1182 -1182
Oops - forgot to add the new files.
Was also working from old archive that didn't have the winter terrain -
now added that.
MSW 2002-08-20
Show difference between Revision 1.6 and 1.7
Revision 1.6mwedel 2002/08/21 01:42:59 +1344 -1315
Add archetypes from Todd Mitchell. These add wolfs and bears,
with bodyparts for them. Also changes races for readable scroll
objects so that scrollcase objects can be used. Add ruined tower.
New images for some objects. Races and treasures updated to support
these new archs.
Commited by MSW 2002-08-20
Show difference between Revision 1.5 and 1.6
Revision 1.5mwedel 2002/05/30 23:18:38 +486 -486
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.4 and 1.5
Revision 1.4mwedel 2002/05/18 20:31:02 +1153 -1129
Rebuilt/recollect images. Only real change is the fixing of the mithril
lightning chain armor of sorig's animation.
MSW 2002-05-18
Show difference between Revision 1.3 and 1.4
Revision 1.3avogl 2002/03/01 15:33:11 +1222 -1222
As announced on cf-devel, this is the patch which
adds a new dragon-race to Crossfire.
Players of this dragon race can gain resistances
by eating the flesh of their defeated foes.

They can also specify in a certain resistance-type
and gain various abilities when increasing levels.
This "focus" can be switched by eating very special
As announced on cf-devel, this is the patch which
adds a new dragon-race to Crossfire.
Players of this dragon race can gain resistances
by eating the flesh of their defeated foes.

They can also specify in a certain resistance-type
and gain various abilities when increasing levels.
This "focus" can be switched by eating very special
flesh, which will be available for sale.
Dragon players gain special titles which cannot
be overwritten by manually set titles.

Also see the dragon race description during the
race selection process.
Note that the quetzal has been slightly modified
(picture and race) to prevent getting mixed up with
the new dragon race.

Please keep in mind that this is the first version
of this dragon-race-code. Do not expect it to be
perfectly balanced in all aspects.
Player's opinions will provide some good feedback
for further development I hope.

--AndreasV
Show difference between Revision 1.2 and 1.3
Revision 1.2avogl 2002/02/24 08:19:32 +1351 -1330
collected arches
Show difference between Revision 1.1 and 1.2
Revision 1.1mwedel 2001/12/31 02:35:48 None
This change lets the server have multiple image sets. The client
can then request which image set to use, and the server will use
that image set, falling back to other sets as necessary. I have tested
this with CVS client, and works fine at least in terms of old functionality.
=
doc/Makefile.in: Add images file which describes image guideline.
doc/Protocol: Various updates - some things missing, added other notes
about facesets.
doc/images: New file, describes guidelines for image sets, as well
as some of the internals
include/newserver.h: Update for multiple image set - redid most of the
image definitions as they were out of date with only png being supported.
include/sockproto.h: rebuilt
lib/Makefile.in: remove crossfire.png, add crossfire.0, crossfire.0. Update
build directions to use crossfire.0 instead of crossfire.png
lib/adm/collect_images.pl: Modified to collect all the image sets, remove
support for collect xpm and xbm images.
lib/crossfire.0: new file, base images
lib/crossfire.1: new file, alternate images
lib/image_info: New file, describes image sets.
lib/crossfire.png, lib/xpmtopix.pl.in: Removed - no longer needed.
socket/Makefile.in: add image.c file.
socket/image.c: Moved all image related data in this file - this includes
loading the image files, as well as the protocol commands.
socket/init.c: move read_client_images to image.c file. set ns->faceset
and ns->facecache to 0. Move freeing of image data to image.c
socket/request.c: fixed some indentation inconsistencies.add setup commands
for faceset as facecache. Move SetFaceMode,SendFaceCmd,esrv_send_face
to image.c file.
MSW 2001-12-31
First version


File made using version 1.98 of cvs2html by leaf at 2011-07-21 19:01