Download Latest Version openode-xengine-2.0.zip (406.2 kB)
Email in envelope

Get an email when there's a new version of Openode Tools

Home / OldFiles
Name Modified Size InfoDownloads / Week
Parent folder
xengine.xml 2003-05-21 787 Bytes
default_xtags_library.xml 2003-05-21 1.6 kB
ask-openbeans-1.0.4.pdf 2002-10-29 1.4 MB
ask-openbeans-1.0.3.pdf 2002-09-26 1.3 MB
openode-ask-1.0.3.pdf 2002-09-26 1.3 MB
sorb_1.0.zip 2002-09-24 741.6 kB
ask.jar 2002-09-24 222.7 kB
openode-1.0.3.zip 2002-09-20 5.3 MB
openode-1.0.2.zip 2002-09-09 4.4 MB
openode-1.0.1.zip 2002-08-19 4.4 MB
openode-1.0-production.zip 2002-08-18 4.4 MB
openode-1.0-b3.zip 2002-08-14 4.4 MB
openode-1.0-b2.zip 2002-08-06 4.5 MB
openode-1.0-b1.zip 2002-07-25 2.5 MB
jahshakaX4linux.tar.gz 2002-07-02 2.7 MB
crossfire-1.3.0-README 2002-07-02 24.1 kB
wotonomy-src.jar 2002-07-02 67.6 kB
SComponent.java 2002-05-28 41.2 kB
Totals: 18 Items   37.7 MB 2
Crossfire 1.3.0 has been released.  There are numerous bug fixes in this,
as well as improved item handling code (better item sorting with
new client, as well as proper naming of plural objects).

Files released for this version:

sums (bsd)  filename
17699  1332 crossfire-1.3.0-arch.tar.bz2
52744  1427 crossfire-1.3.0-arch.tar.gz
56236  2869 crossfire-1.3.0-maps.tar.bz2
58818  4186 crossfire-1.3.0-maps.tar.gz
37910   996 crossfire-1.3.0.doc.tar.gz
50029  2861 crossfire-1.3.0.tar.bz2
64559  3191 crossfire-1.3.0.tar.gz
61233   380 crossfire-client-1.3.0.tar.gz
27814  1276 crossfire-client-images-1.3.0.tar.gz


Sums (md5)
bb53582498faafc9a2ced8f6af6d861b  crossfire-1.3.0-arch.tar.bz2
579072ebf6aa99536e7fdfcd435976a4  crossfire-1.3.0-arch.tar.gz
5308e236b390eb011c8f28bccb52df56  crossfire-1.3.0-maps.tar.bz2
632420953861ca96fc56d437a28da36a  crossfire-1.3.0-maps.tar.gz
a682581581b95989ed9f93bc15161e7d  crossfire-1.3.0.doc.tar.gz
5a1702e1605bd032510ee3aabba87880  crossfire-1.3.0.tar.bz2
d1b4a00121b2a42d56c63c43a1c41de2  crossfire-1.3.0.tar.gz
fc4c91bcd66c53e8da8ef13ab9554b04  crossfire-client-1.3.0.tar.gz
d0115d1e429116a42080b48ea8cdfae3  crossfire-client-images-1.3.0.tar.gz

crossfire-client-1.3.0 is the client (X11) distribution - standard
X11 and gtk interfaces are provided.  Improved object handling
is now supported, and extension for future map handling has been
added.

crossfire-client-images.1.3.0.tar.gz is a prebuilt image file for
the client - downloading this file will reduce the amount of download
that needs to happen during play if the -cache option is used.  This
file should be untarred in the ${prefix}/share/crossfire-client
directory, where ${prefix} is the --prefix option given when configure
is run.  The default path is /usr/local/share/crossfire-client/.

crossfire-1.3.0.tar.{gz/bz2} contains the server code with prebuilt
archetype and image files. 

crossfire-1.3.0.arch.tar.{gz/bz2} contains the unpacked archetype changes.
This is not needed if you only want to compile the server and play the
game.

crossfire-1.3.0-maps.tar.{gz/bz2} contains the maps.  This is needed 
with the server distribution.

crossfire-1.3.0.doc.tar.gz contains preformatted documentation.  In this, you
get the postscript spoiler and handbook, but you also get the html versions of
both of those files with all the needed graphics - this is the only archive
that has all the graphics pre-made.

FOR FIRST TIME USERS:  You will only need the appropriate server, map
and client file.  You do not need the arch file.  You may wish to get a copy
of the doc file.

If you just want to play the game at some remote server, you need the client
and perhaps the image archive file.

Crossfire is avaible on the following ftp sites

Primary:
    ftp://ftp.sourceforge.net/pub/sourceforge/crossfire (64.28.67.101)

Secondary:
    ftp://ftp.real-time.com/pub/games/crossfire
    ftp://ftp.cs.city.ac.uk/pub/games/crossfire/
    ftp://ftp.cs.titech.ac.jp/pub/games/crossfire
    ftp://mirror.aarnet.edu.au/games/roguelike/crossfire/
    ftp://crossfire.futt.org//pub/crossfire

The initial upload of this release is only made to sourceforge - it should
show up on the mirrors shortly.

Mark Wedel
mwedel@sonic.net

Complete changelog:

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

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-html.
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't
   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.
lib/Makefile.in: Fix error in variable not being surrounded by parens.
MSW 2002-06-30

server/rune.c: Fix bug that allowed players to use marking runes to create
  arbitrary objects by embedding a endmsg in the string.
MSW 2002-06-26

lib/ban_file: Update comments to describe how it actually works.
server/commands.c: Add some time cost to shout, say, and tell commands.  This
   prevents abusive players from issuing huge number of these commands.
MSW 2002-06-20

doc/playbook-html/Makefile.in: Remove some superfluous blank lines
   in the file.
configure, configure.in, plugin/Makefile.in: Modify configure script to
   subtitute PLUGIN_TARGET, have plugin/Makefile not build/install
   plugin if necessary support libraries are not in place.
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-18

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

lib/Makefile.in: modified so that it doesn't overwrite commonly customized
   files (eg, motd, dm_file, ban_file).  These files will get installed 
   on new installations.
MSW 2002-06-14

common/item.c: break out monster description into describe_monster
   function from describe_item - the later was a really long function.
   Reveal weapon speed for identified weapons, spell point regen
   penalty and max speed for identified armor - this was discussed about
   6 weeks ago.  Clean up the code to reduce the number of redundant
   if statements and otherwise confusing code in describe_item.
MSW 2002-06-14

configure.in, configure, plugin/Makefile, plugin/Makefile.in,
   plugin/Makefile.old:  Modify the plugin module to gets its needed
   information from configure.  configure.in modified to look for Python.h and
   to find the python library.  plugin/Makefile.in is a new file.
   plugin/Makefile.old is the old plugin/Makefile (removed) - may be useful
   for sites where configure does not work for some reason.  The use of
   --with-includes=-I/usr/include/python2.2 (or the like) will likely be
   needed for configure to find the Python.h file.  Note - if you
   are doing a CVS update, you will need to re-run configure with the
   appropriate options for this change to take effect.
MSW 2002-06-13

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

More minor changes, including a fix for the disappearing object bug -
this was caused by the flag_links not getting updated the last
time new flags were added.  Problem probably only showed up now
because loader.c wasn't rebuilt until recent changes.
--
common/loader.c, common/loader.l: add extern to arch_init, when
  loading and get an object from a file, complain and ignore it if
  arch_init is not set (only time we should get object (vs arch) for
  names is when we load the archetypes file).  Add missing entries
  to flag_links array.
common/treasure.c: Fix code so that proper plural names are generated
  for custom items (potions, flesh items, etc).
include/define.h: Add note about updating flag_links when NUM_FLAGS is
  increased.
server/skills.c: don't let players steal from players with FLAG_WIZ set.
MSW 2002-06-09

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
  

common/button.c: Fix mood floor code - before, it was changing the moods
   of all sorts of objects (luggage, itself, etc).  Now, it only
   changes objects above the floor, and only monsters.
MSW 2002-05-31

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

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 

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

server/login.c, server/c_misc.c: Don't save characters with 0 experience.
This apparantly fixes some abuses.  MSW 2002-05-18

server/attack.c: Don't generate PLAYER_KILL_PLAYER messages if kill
happened on battleground.  Also, datestamp the messages.
MSW 2002-05-13

server/attack.c: Generate log message when a player kills another player -
include the ip address of the killer to make it easier to add them to
ban files. MSW 2002-05-06

Client changes:
Add support for the 'item2' command.  This lets us get the item type
from the server so that we don't need to figure it out for ourselves.
Also, remove support for the 'item' command - that has long since
been obseleted by the 'item1' command.
--
common/client.c: Remove 'item' from dispatch table, add 'item2'.
   Add 'itemcmd 2' as part of setup command we send to server.
common/commands.c: Add handling for response of 'itemcmd' setup command from
   server.  Remove ItemCmd() function.  Add type to calls to update_item().
   Change Item1Cmd() function to be called common_item_command() since both
   item1 and item2 use almost exactly the same logic.  Add Item1Cmd() and
   Item2Cmd() which just call common_item_command()
common/item.c: Init item types to 'NO_ITEM_TYPE'.  Remove get_nrof() as it was
   no longer being used.  Add type argument to set_item_values() and
   update_item().  Simplify code in case of name handling, since we know that
   we will be using at least the 'itemcmd'.  Don't worry about getting proper
   nrof for the player object - its nrof isn't really meaningful anyways.
common/item.h: Add #define NO_ITEM_TYPE.  Update type field in item
   to be 16 bits.
common/proto.h: rebuilt.
MSW 2002-05-30

The bulk of this checkin adds support in the client for the map1a protocol
command and the display of big images properly in the map window.  A lot
of code cleanup was also done however, including removal for the support
of the 'map' (original) command.  The map1 has been in the server code for
quite a while.

TODO: Update what needs to be done for the x11 client.
common/client.c: Remove map command, add map1a command to dispatch table.
  Modify setup we send to server to always try to use the map1a command -
  there is no reason not to use it.
common/client.h: Change some of the CONFIG_ values - basically, change it
  so that there is just one entry for lighting configuration, but it can
  have any number of values.  Modify MapCell so that instead of having
  multiple arrays for the different values (faces, sizes), add a MapCellLayer
  structure that contains the specific face information for that layer.
  Move the PlayerPosition struct and value to this function so that more
  of the map decompress logic can be handled in the common code.
  Remove count value from MapCell since it wasn't really being used.
common/commands.c: Add code to set the use_config[CONFIG_CACHE] value based on
  what we get back from the server.  Add code to check the setup response for
  the for the map1a and map1 options.  Add code to deal with expanding big
  images into appropriate spaces.  Move some functions from the gui portion to
  (display_map_clearcell, set_map_face).  Add code for map1_common function to
  deal with map1a extensions.
common/external.h: Remove display_map_clearcell and set_map_face from list of
  external functions.  Add get_map_image_size function.
common/init.c: change some values of the config values.  Update initialization
  of config values for lighting.
common/proto.h: rebuilt.
gtk/config.c:  Add new button for lighting - best per pixel. Modify code
  to properly deal with how lighting preference is now stored.  Add legacy
  support for loading of per_tile_lighting and per_pixel_lighting values
  from config file.  Add diagnostic of bad value if selected map/width
  is out of range.
gtk/gtkproto.h: rebuilt.
gtk/gx11.c: Change formatting of draw_list.  Modify it so that it adjusts
  the column/row width based on the largest image it needs to display - In
  this way, if a player stands on a big building, the entire building is
  displayed in the look list.  add row_height and column_width values so we
  only need to call the function to change them if they are in fact different.
  Add +sdl command line option to disable sdl code.  Modify gtk_draw_map to
  include redraw parameter.
gtk/gx11.h: remove PlayerPosition structure. add row_height, column_width
  elements to itemlist structure.
gtk/image.c: Add table that is used to determine the scaling used for big
  images in the look list - in this way, big images still appear big, but not
  necessary 2 or 3 times bigger.  Modify create_and_rescale_image_from_data to
  use this logic.  Add get_map_image_size which the common code uses to
  determine the number of spaces an image may be.
gtk/map.c: remove display_map_clearcell and set_map_face functions - now in
  common code.  Modify the dump map/darkness routines to use the new format of
  the MapCell structure.  Modify set_darkness to only set adjoining spaces for
  needing an update if lighting type is set that needs this.  Remove 
  display_map_addbelow - only used for 'map' command.  Modify logic of
  fog of war code to have it done all at display time - not when setting/clearin
g
  a cells contents.  Modify gtk_draw_map - this basically follows the same
  logic of sdl_draw_map - it is now better optimized to only draw the spaces
  that have changed, and not the entire map - this should improve performance
  considerably.
gtk/sdl.c: Remove #if 0 around putpixel - used for best lighting.  Change
  indention of init_SDL - modify it so that if just_lightmap is true, 
  that really is the only thing that is changed.  Modify per_pixel_light
  code to use both methods of per pixel lighting depending on player prefernce.
  Modify sdl_gen_map to properly handle draw portion of big images.
x11/png.c: Add get_map_image_size function.
x11/x11.c: modify display_mapcell_pixmap to use new format of MapCell
  structure.  Remove reference to count in MapCell structure.
x11/x11.h: Remove PlayerPosition information - now in common code.
x11/x11proto.h: rebuilt.
x11/xutil.c: Remove display_map_clearcell and set_map_face functions.  Modify du
mp map
  code for new MapCell structure layout.  Remove display_map_addbelow funtion.
MSW 2002-05-21


Source: crossfire-1.3.0-README, updated 2002-07-02