--- crossfire/common ---


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

Filename: init.c
Revision 1.51ryo_saeba 2006/08/05 03:56:21 +10 -5
Patch #1389432 (Per-race HallOfSelection) courtesy Lalo Martins
Show difference between Revision 1.50 and 1.51
Revision 1.50qal21 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.49 and 1.50
Revision 1.49ryo_saeba 2006/03/18 09:05:31 +19 -18
Massive cleaning of code. Shouldn't be any functional change.
Show difference between Revision 1.48 and 1.49
Revision 1.48cavesomething 2006/03/07 12:46:21 +4 -2
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.47 and 1.48
Revision 1.47akirschbaum 2006/02/11 08:05:32 +4 -1
Apply modified patch #1428048 (make the log line buffered) by Marc Lehmann.
Show difference between Revision 1.46 and 1.47
Revision 1.46akirschbaum 2006/02/10 17:59:25 +2 -2
Apply slightly modified patch #1428309 (code-cleanup: const, static) by
Stefan Huehner: add const/static to functions/variables. Remove some type
casts.
Show difference between Revision 1.45 and 1.46
Revision 1.45akirschbaum 2006/01/08 14:52:11 +3 -2
Update to 'no_player_stealing' patch: use correct place to initialize settings structure.
Show difference between Revision 1.44 and 1.45
Revision 1.44akirschbaum 2005/12/05 17:34:03 +11 -11
Apply patch #1371956 (code cleanup patch) by Stefan Huehner: fix old-style
function declarations and prototypes to proper Ansi C syntax. This patch
allows the compiler to check function arguments and also removes some warnings
when compiling with -Wstrict-prototypes.
Show difference between Revision 1.43 and 1.44
Revision 1.43akirschbaum 2005/10/28 14:08:53 +7 -7
Fix compiler warnings. Most changes do not change the program (remove unused
variables, convert "if(x = y)" into "x = y; if(x)"); a few actually fix
(possible) problems (fix uninitialized variables, fix printf format
specifiers, fix mismatches between signed and unsigned variables, add missing
return and default statements).
Show difference between Revision 1.42 and 1.43
Revision 1.42qal21 2005/10/15 02:07:31 +5 -2
Add directory in preparation for template (where the template can be from the random map generator) maps.
Show difference between Revision 1.41 and 1.42
Revision 1.41ryo_saeba 2005/07/15 08:51:48 +1 -2
Glue cleaning. New plugin function.
Show difference between Revision 1.40 and 1.41
Revision 1.40tchize 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.39 and 1.40
Revision 1.39cavesomething 2005/04/14 19:41:33 +2 -1
patch 1123766 to make PK luck penalty configurable
Show difference between Revision 1.38 and 1.39
Revision 1.38majorwoo 2005/03/20 16:20:39 +3 -1
This is patch #1152538 to add a server configurable who command
Show difference between Revision 1.37 and 1.38
Revision 1.37ryo_saeba 2005/03/15 15:06:19 +2 -2
Apply patch #1145089 by cavesomething for region support
Show difference between Revision 1.36 and 1.37
Revision 1.36ryo_saeba 2004/05/08 08:38:04 +8 -2
Add settings to control armor enchantment
Show difference between Revision 1.35 and 1.36
Revision 1.35ryo_saeba 2004/05/08 06:11:07 +2 -2
Use LOGFILE for logfile, not hardcoded value
Show difference between Revision 1.34 and 1.35
Revision 1.34tanner 2004/02/16 14:03:10 +3 -3
When the crossfire server crashes or restarts it over-writes the
logfiles.

This make and sort of port-mortem analysis of a crash impossible.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=232336
Show difference between Revision 1.33 and 1.34
Revision 1.33mwedel 2003/09/13 00:01:27 +31 -3
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.32 and 1.33
Revision 1.32temitchell 2003/08/26 19:00:45 +2 -2
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.31 and 1.32
Revision 1.31tchize 2003/06/19 05:59:26 +2 -1

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.30 and 1.31
Revision 1.30mwedel 2003/03/07 23:35:32 +3 -2
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.29 and 1.30
Revision 1.29garbled 2003/01/30 13:17:50 +2 -2
Thanks to Kevin R Bulgrien for making me look at this file again.
Apparently NOT_PERMADETH and BALANCED_STAT_LOSS were reversed.
Show difference between Revision 1.28 and 1.29
Revision 1.28garbled 2002/11/26 02:08:00 +1 -3
remove #ifdef DUMP_SWITCHES SECURE SHOP_LISTINGS
Show difference between Revision 1.27 and 1.28
Revision 1.27garbled 2002/11/12 23:49:03 +3 -1
#define MOTD -> settings.motd
#define DM_MAIL -> settings.dm_mail
Show difference between Revision 1.26 and 1.27
Revision 1.26garbled 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.25 and 1.26
Revision 1.25garbled 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.24 and 1.25
Revision 1.24garbled 2002/11/12 18:49:46 +2 -1
#ifdef CASTING_TIME -> settings.casting_time
Show difference between Revision 1.23 and 1.24
Revision 1.23garbled 2002/11/12 18:26:12 +3 -1
#ifdef SPELL_ENCUMBRANCE -> settings.spell_encumbrance
#ifdef SPELL_FAILURE_EFFECTS -> settings.spell_failure_effects
Show difference between Revision 1.22 and 1.23
Revision 1.22garbled 2002/11/12 17:20:11 +2 -1
#ifdef SEARCH_ITEMS -> settings.search_items
Show difference between Revision 1.21 and 1.22
Revision 1.21garbled 2002/11/12 17:09:10 +3 -1
SET_TITLE and RESURRECTION are now settings.
Show difference between Revision 1.20 and 1.21
Revision 1.20garbled 2002/11/12 16:34:26 +2 -1
convert #ifdef NOT_PERMADETH into settings.not_permadeth.
Show difference between Revision 1.19 and 1.20
Revision 1.19garbled 2002/10/27 22:42:45 +2 -2
common/init.c: update for FLAG_IS_WATER
common/loader.l: update for FLAG_IS_WATER
Show difference between Revision 1.18 and 1.19
Revision 1.18mwedel 2002/09/11 01:21:46 +2 -1
INSTALL: Update directions with new automake method.
common/Makefile.am, common/Makefile.in: Fix code for building the libproto.h
file - it was including loader.l and not loader.c
common/exp.c: Add init_experience() and dump_experience() functions -
init_experience() loads the experience table from a file. Add default
experience table into this file
common/init.c: Add call to init_experience()
common/living.c: Remove experience tables - players can select the one they
want by changing the exp_table file. Remove reference to new_levels[] -
only levels[] is used now for the formentioned reason.
include/config.h: Update notes about SIMPLE_EXP system.
include/libproto.h: rebuilt.
lib/Makefile.am, lib/Makefile.in: Add exp_table to list of files.
lib/exp_table: New file that contains experience information.
server/c_object.c: Modify command_take() to look for objects above the player
to pick up, then objects below. This fixes the bug with not being able
to use the take command on items from a chest the player opens without
moving off the space.
server/init.c: Add -mexp dump switch to dump the experience table. Allow
the simple experience system to be set in the settings file.
server/skill_util.c: Fix oddness in calc_skill_exp() which could result
in add amounts of exp given.
MSW 2002-09-10
Show difference between Revision 1.17 and 1.18
Revision 1.17mwedel 2002/09/07 17:08:05 +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.16 and 1.17
Revision 1.16mwedel 2002/07/14 23:25:39 +3 -3
Update banner copyright with proper contact information.
MSW 2002-07-14
Show difference between Revision 1.15 and 1.16
Revision 1.15mwedel 2002/06/15 02:47:36 +47 -2
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.14 and 1.15
Revision 1.14garbled 2002/01/01 17:37:54 +4 -3
Add the concept of overlay maps to the code. An overlay map is a map which
is loaded on top of another map, replacing values in the header, and placing
objects on top of other objects. This is the fundamental part of the new
weather code, but also can be used to allow dynamic editing of the worldmaps
by DM's eventually.
garbled 2002-01-01

Phase II of the new weather system is done. Please let me know immediately
if this causes any bizzare effects.
Show difference between Revision 1.13 and 1.14
Revision 1.13jbontje 2001/12/19 11:07:01 +2 -2
clockdata really should be in localdir, garbled tried to do that before
but he forgot to change it in a function. mids 2001-12-19
Show difference between Revision 1.12 and 1.13
Revision 1.12garbled 2001/12/18 14:17:57 +2 -2
Mids makes a good point in his post, this should be in var, not in
datadir. Thanks.
Show difference between Revision 1.11 and 1.12
Revision 1.11garbled 2001/12/18 02:58:03 +52 -1
Lots of changes here. Basically implement a night and day system, as
well as tracking of game time. A clockdata file is now created and
updated by the server to increment time. Time increases by 1 hour,
approximately every 2 minutes of real time. Right now this code has
virtually no effect, but as maps are updated with outdoor settings,
nightfall will occur automatically. The time command has been modified
to show the current game time, and the clock objects have been changed to
show the game time as well.
garbled 2001-12-18
Show difference between Revision 1.10 and 1.11
Revision 1.10garbled 2001/10/07 02:14:34 +92 -1
Initialize the attackmessages

garbled 2001-10-06
Show difference between Revision 1.9 and 1.10
Revision 1.9mwedel 2001/05/09 01:58:12 +7 -2
Various improvements to make finding memory leaks easier.
common/anim.c: Add free_all_anim function
common/arch.c: Modify free_all_arch to free more data
common/init.c: If running under MEMORY_DEBUG, don't pre-allocate objects.
common/map.c: Add free_all_maps functiion.
common/object.c: Modify object allocations if using MEMORY_DEBUG to only
malloc one object at a time, and not pre-allocate objects.
common/readable.c: Fix memory leak.
common/shstr.c: Include autoconf.h so it can pull in dmalloc.h file.
include/config.h: Remove notes of what was removed a long time ago.
Add MEMORY_DEBUG option.
include/libproto.h, include/sockproto.h, include/sproto.h: automatic rebuild
server/c_misc.c: Fix 'malloc info command so it reports right memory total
for maps. Add command_style_map_info which sums up memory used by
style maps.
server/commands.c: Add style_info wiz command which dumps memory usage
for style maps.
server/init.c: Have sighup handler call cleanup function.
server/main.c: Fix clean_tmp_files which could result in crash if one
of the maps in memory has 0 reset time. Modify cleanup function
to free more data.
server/player.c: op_on_battleground: Fix compile warning about unuused variable.
socket/init.c: Change name of free_all_ericserver to free_all_newserver,
have it free all face data.
MSW 2001-05-08
Show difference between Revision 1.8 and 1.9
Revision 1.8mwedel 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.7 and 1.8
Revision 1.7mwedel 2001/03/04 20:05:18 +10 -3
MSW 2001/03/04:
TODO: add re-connecting player to new client if client logs in with
right name/password.
common/init.c: Open up the logfile with the provide filename when given
the -log option.
server/init.c: Make set_logfile a first pass option so the init_library
has the right logfile name to work with.
server/main.c: Fix crash if map has an exit path yet that file does not
exist. Give proper error message.
Show difference between Revision 1.6 and 1.7
Revision 1.6cvs 2000/12/03 18:40:03 +3 -2
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.5 and 1.6
Revision 1.5cvs 2000/11/14 01:35:01 +7 -2
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.4 and 1.5
Revision 1.4cvs 2000/08/02 01:04:50 +5 -2
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.3 and 1.4
Revision 1.3jec 2000/05/21 16:41:45 +2 -2
common/init.c, common/loger.c, include/logger.h, server/init.c: New
log level llevInfo which is the new default log level.
Many other files: Use llevInfo instead of llevError where appropriate.
Use 'settings.debug >= llevDebug' instead of 'settings.debug'.

server/main.c: Use a marker object to track current position in the list
of active objects. Using a pointer didn't work because all objects on
that list can be removed from it by process_object(). One of the things
this fixes is bogus "Free object on list" errors.
Show difference between Revision 1.2 and 1.3
Revision 1.2cvs 1999/07/13 01:02:41 +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:03 None
Initial revision
First version
Revision 1.1.1.1uid200 1999/04/02 13:10:03 +0 -0
First CVS revsion: crossfire-0.95.3
Show difference between Revision 1.1 and 1.1.1.1


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