--- crossfire/include ---


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

Filename: global.h
Revision 1.69ryo_saeba 2006/08/05 03:56:21 +2 -1
Patch #1389432 (Per-race HallOfSelection) courtesy Lalo Martins
Show difference between Revision 1.68 and 1.69
Revision 1.68qal21 2006/07/14 12:58:10 +2 -1
Add setting to allow server admins to allow town portals to be created in apartments. Based on a patch by pippijn in the cf-ext project.
Show difference between Revision 1.67 and 1.68
Revision 1.67mwedel 2006/06/05 01:28:56 +13 -3
Clean up some compiler warnings. Most of the changes are related to replaced
%lld with FMT64 defines so that the format will be correct, no matter if
the 64 bit type is a long, long long, or if this is windows. #if 0 out a
bunch of code that isn't used.
--
common/exp.c: Replaced lld with FMT64
common/holy.c: #if 0 out baptize_altar(). Add banner copyright at top of file.
common/info.c, common/item.c, common/loader.l, common/loader.c, common/map.c:
common/porting.c Replaced lld with FMT64
common/time.c: Replace a bunch of variables declared as longs to be uint32.
Update various sprintf appropriately.
include/global.h: Add FMT64 and FMT64U as appropriate for different systems.
Change max_time to be a uint32
include/sockproto.h, include/sproto.h: rebuilt
server/apply.c: #if 0 out monster_apply_special
server/c_range.c: Add != 0 in assignment if statement - same meaning, clearer
on intention and avoids compiler warning.
server/c_wiz.c: Update command_kick() to take const char. Update command_speed()
to operate properly based on max_time being a uint32. Update various lld
to FMT64. Clarify ambiguous if/if/else statement in command_insert_into()
server/commands.c: Add cast to command_kick for new function prototype. #if
0 out find_command(), parse_string(), parse_command()
server/disease.c: #if 0 out find_disease(), reduce_symptoms()
server/egoitem.c: #if 0 out create_artifact(). Add copyright at top of file.
server/gods.c: #if 0 out get_god()
server/hiscore.c: Replace lld with FMT64
server/login.c: #if 0 out create_savedir_if_needed()
server/resurrection.c: Replace lld with FMT64. #if 0 out dead_character() and
dead_player_exists()
server/server.c: Remove info_keys() - hasn't been used in a long time. #if 0
out process_active_maps()
server/skill_util.c: Replace lld with FMT64
server/spell_util.c: #if 0 out check_spell_effect()
server/weather.c: #if 0 out feather_map(). Fix what I suspect is an error
in worldmap_to_weathermap() to skip over starting slashes.
socket/image.c: Add a fair number of char * casts to suppress warnings.
socket/init.c: Change buflen in init_connection() to socklen_t to match
function prototype. Add some char * casts.
socket/loop.c: Add some char * casts.
--
MSW 2006-06-04
Show difference between Revision 1.66 and 1.67
Revision 1.66mwedel 2006/05/18 00:27:44 +2 -2
This commit adds support for the map2 protocol command (10 layer map).
This changes how the data is stored and sent to the client. This also
implements the idea of client handling map animations, so adds some object
flags so that the server knows if it should let the client handle animations
or not. Support for the original map protocol command is removed.
---
aclocal.m4: rebuilt
configure.ac: Add checks for zlib.h, libz - not used right now, but will
probably be used in the future, so no reason to remove it.
common/loader.l: Add client_anim_sync, client_anim_random FLAGS.
common/map.c: Add add_face_layer() to set face for a layer. Redo/simplify
update_position to store faces away based on layering criteria.
common/time.c: Replace long pticks with a uint32, since size of a long will
vary, and we now send pticks to the client as a 32 bit value.
crossedit/CrEdit.c: Update the draw logic based on the fact there are more
layers now.
crossedit/Edit.c: Comment out some code that probably should be fixed.
Replace calls of SET_MAP_FACE with SET_MAP_FACE_OBJ
doc/Developers/protocol: Updated with map2, tick protocol additions.
Reorganize the parameters in the setup protocol command so they are now
listed in alphabetical order.
include/autoconf.h.in: Add HAVE_ZLIB_H define.
include/define.h: Update for the FLAG_CLIENT_ANIM values.
include/face.h: Remove MapLook structure - no longer used.
include/global.h: change extern type for pticks from long to uint32
include/map.h: Change MAP_LAYERS to 10. Add definitions for what each
map layer is. Remove GET/SET_MAP_FACE macro - no longer used,
GET/SET_MAP_FACE_OBJ replaces it. Add GET_MAP_FACE_OBJS which
returns pointer to all the object info for the space. Remove
faces from MapSpace structure.
include/newclient.h: Update with new defines used for map2 protocol
command.
include/newserver.h: Change type of faces in map_cell_struct to be
uint16 to be consistent. Change 'count' to 'darkness' to more
accurately describe what it represents. Add MAP2_COORD_OFFSET
define. Add Map2Cmd to MapMode enum. Add map_scroll_x/y
to socket structure so we send those as part of map2 command.
Add tick field to socket structure to know if we should send
tick data to the client.
server/login.c: Remove extern long pticks declaration - declared
in global.h - don't need to declare it again locally.
socket/info.c: Rewrite magic map code to use GET_MAP_FACE_OBJ
instead of GET_MAP_FACE macros.
socket/init.c: Initialize new fields in socket structure to 0.
socket/loop.c: If client wants tick data sent, send one each tick.
socket/request.c: Add setup responses for tick, map2 requests. Remove some
extra code in Map1a setup. Send error message to client if not using
at least Map1 protocol level. Modify map_newmap_cmd() to clear
scroll information when using Map2. Remove original (map0) protocol
logic. Update map_clearcell() to clear all 10 layers. Replace
MAX_LAYERS with MAP_LAYERS. Add add_head() to remove some of the
complication from update_space(). Add code in draw_client_map1()
to find which 3 layers to send to the client from the 10 we now have.
Add map2_add_ob(), map2_delete_layer(), check_space_for_heads(),
draw_client_map2() to handle map2 protocol. Add send_tick() -
sends tick to client, but also forces flush of data to reduce lag.
utils/config.guess.utils/config.sub,utils/ltmain.sh: rebuilt
MSW 2006-05-15
Show difference between Revision 1.65 and 1.66
Revision 1.65ryo_saeba 2006/03/18 13:30:55 +2 -2
Forgot one file.
Show difference between Revision 1.64 and 1.65
Revision 1.64ryo_saeba 2006/03/18 09:05:32 +2 -4
Massive cleaning of code. Shouldn't be any functional change.
Show difference between Revision 1.63 and 1.64
Revision 1.63cavesomething 2006/03/07 12:46:25 +5 -3
Add settings permanent_experience_percentage, death_penalty_percentage and
death_penalty_levels to the settings file.
---
common/living.c: don't hardcode exp calculations
common/init.c, include/config.h, lib/settings: set defaults for new values
doc/settings: document new values
include/global.h: change settings struct to hold the new values
server/init.c: parse new values in the settings file.
server/skill_util.c: reference new value
Show difference between Revision 1.62 and 1.63
Revision 1.62akirschbaum 2006/01/08 10:31:17 +2 -1
Apply modified patch #1396303 (add setting to disable stealing from players)
by Terry Brown. It adds a new option "no_player_stealing" to the settings
file. If set, it prevents players from stealing from other players. It
defaults to ON.
Show difference between Revision 1.61 and 1.62
Revision 1.61akirschbaum 2005/10/24 15:48:15 +1 -6
Code improvements:
common/image.c: Declare some variables and functions as static or const; add
safeguards while loading config files; remove support for numeric face
names (no active archetype or map does use it); in free_all_images()
deallocate memory allocated for smoothing.
crossedit/xutil.c: Remove assignment to nrofpixmaps since ReadBmapNames()
already sets this variable.
include/{global.h, libproto.h, loader.h}: Remove now static variables and
functions.
Show difference between Revision 1.60 and 1.61
Revision 1.60akirschbaum 2005/10/24 13:27:37 +2 -2
common/image.c, include/define.h, include/global.h: Remove unused variables
potion_face and POTION_FACE_NAME.
Show difference between Revision 1.59 and 1.60
Revision 1.59akirschbaum 2005/10/24 13:11:35 +1 -2
common/image.c, include/global.h: Remove unused variable blank_look.
Show difference between Revision 1.58 and 1.59
Revision 1.58qal21 2005/10/15 02:07:31 +2 -1
Add directory in preparation for template (where the template can be from the random map generator) maps.
Show difference between Revision 1.57 and 1.58
Revision 1.57qal21 2005/09/21 08:06:12 +3 -3
Use #error directive, so certain C processing applications don't complain.
Show difference between Revision 1.56 and 1.57
Revision 1.56ryo_saeba 2005/08/12 08:46:34 +3 -3
Fields changed from char* to const char*, cleanup.
Show difference between Revision 1.55 and 1.56
Revision 1.55tchize 2005/05/29 10:37:53 +3 -1

MOTD now splitted in 3 files: rules, news and motd.
They are sent on connection to client in this exact order.
Show difference between Revision 1.54 and 1.55
Revision 1.54tchize 2005/05/06 16:10:15 +3 -2

added a new command to identify the type of text send to client.
media tags can be included inside them. Those text types include
scrolls, books, message of the day, signs, aso.
See protocol doc for details
Show difference between Revision 1.53 and 1.54
Revision 1.53cavesomething 2005/04/14 19:41:33 +2 -1
patch 1123766 to make PK luck penalty configurable
Show difference between Revision 1.52 and 1.53
Revision 1.52majorwoo 2005/03/20 16:20:40 +3 -1
This is patch #1152538 to add a server configurable who command
Show difference between Revision 1.51 and 1.52
Revision 1.51mwedel 2005/03/19 03:14:57 +2 -2
This change makes it so that the smoothing information is pushed to the client
(if the client is using smoothing) instead of a process were we tell the
client the smoothlevel and the client then has to request the face info for
smoothing. If we know the client wants the info, much easier to push it to
the client. This simplifies the client code (doesn't have to keep track
of what is requests). It also fixes the 'problem' that when you join the
game, you get a few frames with no smoothing and then the smoothing shows
up, which seems a bit odd. My testing shows that old clients that want
smoothing use this new logic withouth any problems.
--
common/image.c: add smooth_face default so that we don't have to look it
up everytime.
include/define.h: Add SMOOTH_FACE_NAME used by image.c
include/global.h: Add smooth_face extern declaration.
include/newserver.h: Update comment on what faces_sent is used for,
add NS_FACESENT_* values which determines what info for the face was
sent.
socket/image.c, socket/init.c, socket/item.c: Update faces_sent checks/set
to check against NS_FACESENT bitmask.
socket/request.c: Update faces_sent as mentioned above. And SendSmooth(),
rewrite AskSmooth() to use SendSmooth(). Modify update_smooth()
to send smoothing information to the client.
MSW 2005-03-19
Show difference between Revision 1.50 and 1.51
Revision 1.50ryo_saeba 2005/03/15 15:06:20 +3 -1
Apply patch #1145089 by cavesomething for region support
Show difference between Revision 1.49 and 1.50
Revision 1.49mwedel 2005/01/24 01:29:25 +14 -2
common/object.c: Change CAN_MERGE() from an inline function, since
it calls itself and inline functions are not supposed to do that.
Update type check in insert_ob_in_map() to check against defined
type (EXIT) instead of hardcoded integer value (66).
crossedit/xutil.c: Update to just include Defines.h, which then includes
all the other necessary files, including global.h.
include/global.h: Add #ifdef checks for the UINT*_MAX types, as some
systems already define these values, which results in a redefinition
error. Also fix up // style comment.
include/shstr.h: Include proper cast in TOPBIT definition.
server/main.c: Don't display 'xyz left the game' messages if the player
is only at the get name or get password prompt. Prevents possible
spoofing of that message.
server/player.c: Clean up formatting of check_pick() function. If player
is using newpickup to pick up booze, also pick up poison unless
they know it is cursed.
socket/request.c: AskSmooth() - change buffer type to uint8 so that
it matches what the SockList structure wants.
utils/scores.pl.in: Use skill_praying to find players god, and not the
deprecated experience_wis object.
MSW 2005-01-23
Show difference between Revision 1.48 and 1.49
Revision 1.48ryo_saeba 2004/05/08 08:38:04 +7 -1
Add settings to control armor enchantment
Show difference between Revision 1.47 and 1.48
Revision 1.47mwedel 2004/04/25 02:17:38 +10 -1
Change most shop buy/sell functions to use 64 bit values. Problem arises
where player would sell valuable item, and if they wanted to buy them back,
it would overflow a 32 bit value, so they could buy them back for free.
Note quite as odd when you consider the buy/sell price for really valuable
items to be very different.
include/global.h: Add UINT32_MAX and other max type defines for our typedef
values so that we have standard setting of what the cap is.
server/apply.c: Change get_payment call to take second argument.
server/plugins.c: Add note about bug in handling of query_cost in this
function.
server/shop.c: query_cost() now returns 64 bit. Many other functions
updated to also take/return 64 bit cost values. Have cost_string
nicely deal with values that are beyond affordability. Rename get_payment2()
to get_payment(), and remove the later, which was just a simple wrapper
function that called get_payment2.
server/spell_effect.c: Update alchemy code. Remove some suspect use of
static values.
MSW 2004-04-24
Show difference between Revision 1.46 and 1.47
Revision 1.46ryo_saeba 2004/02/28 04:40:56 +2 -1
Warning cleaning
Show difference between Revision 1.45 and 1.46
Revision 1.45ryo_saeba 2003/12/14 10:28:47 +8 -5
Compilation warning cleaning
Show difference between Revision 1.44 and 1.45
Revision 1.44mwedel 2003/09/13 00:01:33 +6 -16
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.43 and 1.44
Revision 1.43temitchell 2003/08/26 19:00:45 +2 -1
Added friendly_fire to attack.c, called from hit_player.

Will put a cap on maxdam that is a percentage (1-100%)
of damage (min 1)based on SET_FRIENDLY_FIRE value (in settings)when
players attack other players in peaceful mode. Changed who, statistics
commands to show this setting better and added a help file for peaceful.

It would be nice to have a indicator (even a toggle button?)in the
client for this as well.
Show difference between Revision 1.42 and 1.43
Revision 1.42tchize 2003/08/02 11:25:22 +12 -2

WIN32 bugfixes, (mappath fix and uint64 fix)
thanks to Nicolas Wegeer for submit.
Partial Transcript from mail:
...
The first, global.patch, fixes bad u/sint46 for Win32 in
include/global.h
There was no SIZEOF_LONG defined, so it would error...
Also, the Python includes define SIZEOF_LONG_LONG as 8, so it's better
to have some coherence somewhere :-)

The second is for common/map.c
It fixes broken check_path which would simply ignore the prepend_dir
argument, resulting in broken map links in big maps... (would try to
find map in world/world_xxx_xxx instead of
share/maps/world/world_xxx_xxx).

I think they don't change anything for other platforms.
...
Show difference between Revision 1.41 and 1.42
Revision 1.41mwedel 2003/03/07 23:35:32 +15 -1
Patch for 64 bit experience total, as well as flexible number of levels.
Basically, max level is now dynamic, set in exp_table file. Experience
is now a 64 bit value, so much higher totals now allowed. To
allow for flexible levels, add new function - did_make_save() which is used
for players/monsters to see if they make their saving throw - this is
necessary because the savethrow[] array may not be as large as max level -
did_make_save takes this into account.
NOTE: If your updating a server, you will need to copy over/set up a
new exp_table file that has max_levels defined and at least one of the
tables uncommented. There are no longer any compiled in defaults
--
configure, configure.ac: Add AC_CHECK_SIZEOF calls for long and long long
so we can know which one to use for 64 bit support (other checks
may need to be added)
common/exp.c: Remove levels table, replace it with a 64 bit pointer.
Change init_experience to allocate appropriately sized table, have it
read max_level value from exp_table file. Replace atoi calls with
atoll to get 64 bit value. Update dump_experience to properly
print 64 bit values.
common/info.c: Update dump routines that dump exp to properly print
64 bit values.
common/init.c: Add initializing for settings.max_level value.
common/item.c: Update sprintf's to handle 64 bit output of exp (speed)
value in objects.
common/living.c: change MAX_EXP define, update MAX_EXP_IN_OBJ define,
add MAX_SAVE_LEVEL which corresponds to how large the savethrow
table is. Change MAXLEVEL to settings.max_level. Change level_exp()
to return 64 bit value, other updates in functions to use 64 bit
values. Add did_make_save() function.
common/loader.l, common/loader.c: Update load/save routins of exp to
deal with 64 bit values.
common/map.c: Update calculate_difficulty to use 64 bit values when
storing exp - unlikely to make a difference, since unlikely any map
will get to a point where it has that much exp on it.
common/porting.c: Remove dead code from save_long(), add save_long_long()
to save 64 bit values.
include/autoconf.h.in: SIZEOF_LONG and SIZEOF_LONG_LONG values added.
include/global.h: Add code to typedef sint64/uint64 types based on what
type gives us those values. Add max_level to settings array.
include/libproto.h: rebuilt.
include/living.h: Replace exp field with 64 bit value.
include/player.h: Update party kill log exp tracking to have 64 bit
values.
lib/exp_table: Udpate comments about max_level, uncomment what
was the default table so new installs have working table.
Add 5 levels to all the tables.
random_maps/monster.c: Update place_monsters to use 64 bit when storing
exp total for map/per square.
server/apply.c: Replace MAXLEVEL with settings.max_level, add
did_make_save calls where appropriate
server/c_misc.c: have statistics command properly print 64 bit
exp value.
server/c_wiz.c: Have stats command properly display 64 bit value.
server/hiscore.c: Replace exp values with 64 bit values, update to
properly load/display them.
server/player.c: replace savethrow[] reference with did_make_save()
server/skill_util.c: Update skills command to properly show 64 bit exp values.
server/spell_effect.c: replace savethrow[] reference with did_make_save(),
allow players to cast directors right beneath themselves, but other
walls must be on empty space.
MSW 2003-03-07
Show difference between Revision 1.40 and 1.41
Revision 1.40garbled 2002/12/25 00:45:46 +3 -1
New Arrow and Pet Code:
Add bowmode and petmode commands. Allowing the player to change the firing
style for bows to one of either threewide, or spreadshot.
Allow players to change the operating modes of his pet with petmode. Can
be either seek and destroy, defend, or normal historical behavior.
Change bows to impart speed to arrows based on damage and other magical
plusses. Damage decays over distance, to stop arrows from flying forever.
Very fast moving arrows will pierce multiple targets. An arrow moving at a
speed greater than 10.0 will go straight through a target, losing 1.0 of
speed in the process.
Change magic missile to use spell_find_dir instead of find_dir to stop it
from flying in a circle and hitting the caster, and to make it stop
flying into walls to hit creatures behind the walls.
Show difference between Revision 1.39 and 1.40
Revision 1.39garbled 2002/11/12 23:49:04 +3 -1
#define MOTD -> settings.motd
#define DM_MAIL -> settings.dm_mail
Show difference between Revision 1.38 and 1.39
Revision 1.38garbled 2002/11/12 23:24:53 +3 -1
#ifdef SPELLPOINT_LEVEL_DEPEND -> settings.spellpoint_level_depend
#ifdef EXPLORE_MODE -> settings.explore_mode
While I was here.. make explore mode actually *work*. It didn't even
have an entry in the commands array.
Show difference between Revision 1.37 and 1.38
Revision 1.37garbled 2002/11/12 22:57:32 +3 -1
#ifdef REAL_WIZ -> settings.real_wiz
#ifdef RECYCLE_TMP_MAPS -> settings.recycle_tmp_maps
Even found a cute bug while fixing up real_wiz.
Show difference between Revision 1.36 and 1.37
Revision 1.36garbled 2002/11/12 18:49:46 +2 -1
#ifdef CASTING_TIME -> settings.casting_time
Show difference between Revision 1.35 and 1.36
Revision 1.35garbled 2002/11/12 18:26:13 +3 -1
#ifdef SPELL_ENCUMBRANCE -> settings.spell_encumbrance
#ifdef SPELL_FAILURE_EFFECTS -> settings.spell_failure_effects
Show difference between Revision 1.34 and 1.35
Revision 1.34garbled 2002/11/12 17:20:11 +2 -1
#ifdef SEARCH_ITEMS -> settings.search_items
Show difference between Revision 1.33 and 1.34
Revision 1.33garbled 2002/11/12 17:09:11 +3 -1
SET_TITLE and RESURRECTION are now settings.
Show difference between Revision 1.32 and 1.33
Revision 1.32garbled 2002/11/12 16:34:26 +2 -1
convert #ifdef NOT_PERMADETH into settings.not_permadeth.
Show difference between Revision 1.31 and 1.32
Revision 1.31garbled 2002/10/27 22:39:07 +2 -1
include/define.h: add FLAG_IS_WATER
include/global.h: add fastclock to settings
include/map.h: add water to weathermap structure
include/sproto.h: add tons of new functions in weather.c
Show difference between Revision 1.30 and 1.31
Revision 1.30mwedel 2002/09/07 17:08:07 +2 -1
Automake patch - all files.
The changes for the source files is using confdir instead of
datadir.
Patch by Jacek Konieczny (jajcus@bnet.pl), applied by Mark Wedel,
2002-09-07.
Show difference between Revision 1.29 and 1.30
Revision 1.29mwedel 2002/08/02 00:09:39 +4 -2
include/global.h: add FREE_AND_CLEAR_STR macro, relocate DELETE_STRING
by the other macros.
server/c_misc.c: Fix string printout in applymode function.
server/disease.c: Update name_pl in diseases.
server/player.c: replace FREE_AND_CLEAR with FREE_AND_CLEAR_STR - was
freeing data that shouldn't be freed.
MSW 2002-08-01
Show difference between Revision 1.28 and 1.29
Revision 1.28mwedel 2002/06/15 02:47:36 +5 -1
TODO: Additional updates.
Add support for loading the EMERGENCY_.. locations from a .emergency file in
the map directory. This makes it easy to switch map distributions without the
need to recompile. The emergency information is now stored in the settings
structure.
common/init.c: add EMERGENCY_ defines to default values in setting. Add
init_emergency_mappath which loads the information.
include/config.h: Remove NEW_WORLD_MAP definition, as it is no longer
needed. Update some of the EMERGENCY_.. information as we don't need
to include the information for the new world map.
include/global.h: Add emergency_.. fields to settings structure.
server/login.c, server/main.c, server/player.c: Update references from
the EMERGENCY.. values to settings.emergency values.
MSW 2002-06-15
Show difference between Revision 1.27 and 1.28
Revision 1.27mwedel 2002/06/07 02:00:43 +6 -1
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.26 and 1.27
Revision 1.26mwedel 2002/03/26 01:18:57 +7 -4
Update to improve image caching and faceset support in the client.
The main change is adding the 'requestinfo image_info' and
'requestinfo image_sums' commands.
common/image.c: Checksum the bmaps file when we load it - we send this as
part of the image_info data.
doc/Developers/protocol: Document the requestinfo data.
include/global.h: Add extern for bmaps_checksum, and the define for
ROTATE_RIGHT which is used for checksumming.
include/newserver.h: Update SC version to 1027 so that clients can
know if they can issue requestinfo commands.
include/sockproto.h: rebuilt
lib/adm/collect_images.pl: Add support for it to make a crossfire-images
distribution that the client can use to bootstrap its image set.
socket/image.c: Change SendFaceCmd to take a NewSocket parameter instead
of a player parameter - in this way, it can be used before the
AddMe command - this allows the client to download images before
issuing that command. Add send_image_info and send_image_sums
function which send the requestinfo data to the client.
socket/loop.c: Move the askface command from the player commands to the
newsocket commands. Add RequestInfo functino that determines the
type of request and calls the specific function to deal with it.
MSW 2002-03-25
Show difference between Revision 1.25 and 1.26
Revision 1.25garbled 2002/01/01 18:26:28 +2 -1
Clean up some missing prototypes, protect tod.h against multiple inclusion,
and generally make -Wmissing-prototypes happier.
Show difference between Revision 1.24 and 1.25
Revision 1.24garbled 2001/12/19 04:07:41 +8 -1
More basics for the weather system:
document the new map header entries.
New settings for the big-worldmap/weather interactions, and code to load
them.

No functional changes at this time.
Show difference between Revision 1.23 and 1.24
Revision 1.23mwedel 2001/12/03 01:51:40 +2 -2
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.22 and 1.23
Revision 1.22michtoen 2001/11/19 17:30:28 +4 -1
Full support now for gender, rank and alignment.
Full support for guilds & quests in code, most script
functions included.

- some fixes
- old clients will not be effected
- to avoid treasure file error msg, collect arches
Show difference between Revision 1.21 and 1.22
Revision 1.21gros 2001/10/14 02:57:14 +4 -17
Major changes: Added dynamic plugin support, removed old Guile support.
- Gros 10/14/01
Show difference between Revision 1.20 and 1.21
Revision 1.20mwedel 2001/07/13 23:06:50 +9 -12
Map tiling checkin.
include/config.h: remove RANDOM_ENCOUNTERS (no longer available) and
USE_LIGHTING (now standard part and always on).
include/define.h: move P_... values to map.h
include/global.h: add definition for compression externals, as they
are used in a few files. remove map macro functions - moved to map.h
as appropriate. Add FREE_AND_CLEAR macro that frees data and then
sets the pointer to NULL.
include/map.h: Largely redone - many new macros, new map structure.
include/object.h: remove lights object link pointer from objects.
At some #defines that are the flags for update_object and
insert_ob_in_map
include/player.h: Add a few comments.
MSW 2001-07-13
Show difference between Revision 1.19 and 1.20
Revision 1.19michtoen 2001/06/13 07:52:07 +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.18 and 1.19
Revision 1.18michtoen 2001/06/13 05:50:19 +20 -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.17 and 1.18
Revision 1.17mwedel 2001/06/04 01:41:02 +10 -10
Checkin of code that supports larger map sizes (configurable in
config.h).
common/los.c: update los code since it only handled 11x11 maps. Now
uses formulatic approach so any map size should be supported. This
does result in a few more spaces getting blocked around corners,
but it doesn't seem that bad - certainly not compared to the ability
to have larger viewable maps.
common/map.c, crossedit/CrEdit.c, crossedit/Edit.c, include/global.h,
include/map.h,random_maps/monster.c,random_maps/special.c,
random_maps/standalone.c, server/apply.c,server/c_misc.c,
server/spell_effect.c,socket/info.c:
change mapx,mapy to what they really point to,
as it prevented using those as variable/structure element names.
common/object.c: update_position - if faces for different layers are
duplicate, set the duplicates to be blank to increase client
update efficiency.
doc/Protocol: Add map1 command description, update setup command to
describe setting of mapsize.
include/config.h: add MAP_CLIENT_X/Y to set maximum map size we can
send to the client.
include/newserver.h: add mapx, mapy values to socket structure
include/player.h: Use MAP_CLIENT_X/Y for sizing arrays that hold
map related information in player structure.
server/player.c: As per player.h above, use appropriate sizing when
initializing player stucture.
server/shop.c: Update mapx,mapy like above, but re-do shop listings code as
it was doing a lot more work than necessarily (I think some changes
got put in for sorting, and the old object manipulation was never
removed when that got done)
socket/init.c: set default client map size to 11x11 in the socket.
socket/item.c: LookAt - change checks for position checking (such that
you can only look at things in bounds) use max viewable map size.
socket/request.c: Make setup commands a little more forgiving if there are
extra spaces. Add 'mapsize' command to setup command. Update
old map sending code to use socket map sizes (to support even
smaller than normal maps, or 13x13 or 15x15 maps). add draw_client_map1
command which implements the map1 protocol command.
MSW 2001-06-03
Show difference between Revision 1.16 and 1.17
Revision 1.16mwedel 2001/05/28 23:41:53 +11 -8
Make ALLOW_SKILLS standard part of game (remove #ifdef's for it)
Files affected: common/living.c common/object.c common/treasure.c
include/config.h include/player.h server/apply.c server/attack.c
server/c_move.c server/c_range.c server/c_wiz.c server/commands.c
server/init.c server/login.c server/monster.c server/player.c
server/rune.c server/skill_util.c server/spell_util.c
Make MULTIPLE_GODS standards part of game (remove #ifdefs for it)
Files affected: common/readable.c include/spellist.h include/config.h
server/attack.c server/gods.c server/skills.c server/spell_effect.c
server/spell_util.c
doc/Makefile.in, doc/Protocol: Add protocol description file here instead
of in the client distribution.
include/global.h: Move declaration of MAX_EXP_CAT near top of file
so it is set before player.h is included.
include/newclient.h: Add CS_STAT_SKILL* values for sending skill
experience information to client.
include/newserver.h: Add skillexp value to socket struct which determines
if client wants skill experience informatiion.
include/player.h: Add skill information tracking to player structure
so we can easily know when to send updates to client.
random_maps/expand2x.c: remove unused variable to prevent compiler warnings.
random_maps/square_spiral.c: Include prototype information on all systems,
not just win32 to prevent compiler warnings.
server/skill_util.c: Initialize skill pointers to make it easier to
find skill information when we want to update client.
socket/init.c: Init socket->skillexp to 0.
socket/loop.c: Fix indentation of table - whitespace change only
socket/metaserver.c: Minor fix to prevent compile warnings (on the sprintf
that composes the data to send to the metaserver)
socket/request.c: Redo SetUp function to be more compact and IMO simpler as
wll as easier to read (functionality remains the same).
VersionCmd modified to warn users of on dxclients (code on MT)
StatsCmd added to send skill information if client wants it.
The sending of skill experience is by MT, rest of the changes by me.
MSW 2001-05-28
Show difference between Revision 1.15 and 1.16
Revision 1.15mwedel 2001/04/09 01:59:46 +16 -1
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.14 and 1.15
Revision 1.14michtoen 2001/04/06 14:08:44 +2 -2
win32: change // to /* */
Show difference between Revision 1.13 and 1.14
Revision 1.13michtoen 2001/04/05 19:42:16 +3 -1
*** empty log message ***
Show difference between Revision 1.12 and 1.13
Revision 1.12mwedel 2001/03/30 01:27:48 +2 -2
common/image.c, include/define.h, include/global.h: Add empty_face structure
and appropriate code to initialize it. This is used for the server side
look selection.
include/newserver.h: Add NUM_LOOK_OBJECTS to control number of look objects
to send at any one time. add look_position field to the newsocket
structure.
server/move.c: clear look position as player moves.
server/player.c: initalize look_position element in structure.
socket/item.c: modify esrv_draw_look to sne NUM_LOOK_OBJECTS at any one
time, and to also send pseudo objects that lets the player scroll up and down.
modify ApplyCmd so that if it detects the application of one pseudo objects
to adjust the look_position.
MSW 2001-03-29
Show difference between Revision 1.11 and 1.12
Revision 1.11mwedel 2001/03/19 01:58:10 +2 -1
MSW 2001/03/18:
common/init.c: add RESET_LOCATION_TIME initializer to settings structure.
include/config.h: Add RESET_LOCATION_TIME value. If nonzero and the save was longer than
the specified time in seconds, player will be returned home upon login from
save.
include/global.h: Add reset_loc_time field to settings structure.
server/login.c: Remove some unused variables, add support to return player
home as described above.
server/spell_effect.c: Fix for crashes when casting control undead and your
god does not have an enemy. Now properly check to make sure we are not
dereferencing null pointers.
Show difference between Revision 1.10 and 1.11
Revision 1.10peterm 2001/01/23 00:16:25 +1 -4
Improved the porting to HP-UX.
Show difference between Revision 1.9 and 1.10
Revision 1.9cvs 2000/12/04 01:19:56 +1 -3
MSW 2000/12/3:
Misc changes. Main one is adding PNG support to the editor.
TODO: Remove outdated things to do (like partial resistance code)
configure, configure.in, include/autoconf.h.in: Add check for libpng.
include/global.h: Remove displaymodes - moved to crossedit/Defines.h
crossedit/App.c, crossedit/App.h crossedit/CrEdit.c crossedit/CrFace.c
crossedit/CrList.c crossedit/CrUtil.c crossedit/Edit.c crossedit/crossedit.c
crossedit/xutil.c, crossedit/png.c (new file): Add support for png display
in crossedit.
crossedit/Makefile.in: Add png.c file.
server/c_misc.c: Change who command to only display real players, and not
players in process of connecting/unconnecting. Also, remove code to display
old sockets, since those are not supported anymore.
Show difference between Revision 1.8 and 1.9
Revision 1.8cvs 2000/12/03 18:40:04 +2 -1
Checking for partial resistance code. Various minor errors also fixed
(compiler warnings, unused variables, Makefile.in changes, etc).
PR code also includes support to send protections to the client.
Show difference between Revision 1.7 and 1.8
Revision 1.7cvs 2000/11/14 01:35:05 +10 -1
metaserver update:
common/init.c: Add meta_ fields to settings structure initialization.
include/global.h: Add meta_ fields to settings structure.
include/sockproto.h: Updated for new meta_ functions.
lib/Makefile.in: Have it install settings file.
lib/settings: Default settings file with some metaserver default value.s
server/init.c: Add load_settings file. Add call to metaserver_init.
server/main.c: Add call to metaserver_update in do_specials.
socket/Makefile.in: Add metaserver.c to list of files.
socket/metaserver.c: File that deals with metaserver related data.
socket/item.c: Remove some unused variables. Unrelated to metaserver changes.
socket/loop.c: Add calls to metaserver_update in block_until_new)connection. Change
function so that if there are no active players, it still timeouts and
does metaserver update. Basically changed to do it the way the
WATCHDOG code did it.
End of metaserver update. MSW 2000-11-13
Show difference between Revision 1.6 and 1.7
Revision 1.6cvs 2000/08/02 01:04:49 +3 -1
include/config.h, include/global.h, common/init.c, common/living.c,
server/init.c, server/player.c, server/skill_util.c: Add permanent
experience and balanced stat loss features (code by Garth Denley).
Permanent experience make some experience in the skills permanent. Balance
stat loss makes stat loss less likely/costly at low level and more costly
at higher levels. These features are by default off, but can be turned
on either in the config.h file or via command line options. Code checked
in by MSW 8/1/2000
Show difference between Revision 1.5 and 1.6
Revision 1.5cvs 2000/05/27 00:42:14 +3 -7
include/define.h,include/global.h, common/image.c: Remove following old
face information: INV_*_FACES, BLOCKED_FACE, STIPPLE[12]_FACE. This
is just a general cleanup - the server has not used these since the
X11 code was pulled from the server. MSW 5/26/2000
Show difference between Revision 1.4 and 1.5
Revision 1.4damn 1999/09/18 02:34:28 +1 -2
Moved things back, so spells.h doesn't need to be loaded twice any more.-- DAMN
Show difference between Revision 1.3 and 1.4
Revision 1.3damn 1999/09/17 15:56:15 +4 -1
- #defines from spells.h and material.h loaded early -- DAMN
Show difference between Revision 1.2 and 1.3
Revision 1.2cvs 1999/07/13 01:02:52 +0 -0

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.1uid200 1999/04/02 13:10:04 None
Initial revision
First version
Revision 1.1.1.1uid200 1999/04/02 13:10:04 +0 -0
First CVS revsion: crossfire-0.95.3
Show difference between Revision 1.1 and 1.1.1.1


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