From bugs at real-time.com Tue Aug 1 02:10:05 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:26 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008010710.e717A5l17566@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From mwedel at scruznet.com Wed Aug 2 01:04:50 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:27 2005 Subject: [CF-Devel] CVS update: crossfire/include Message-ID: <200008020604.XAA32478@boltzmann.eecs.berkeley.edu> Date: Tuesday August 1, 2000 @ 23:04 Author: cvs Update of /home/cvs/CVS/crossfire/include In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv32470/include Modified Files: config.h global.h Log Message: 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 **************************************** Index: crossfire/include/config.h diff -u crossfire/include/config.h:1.6 crossfire/include/config.h:1.7 --- crossfire/include/config.h:1.6 Tue Jun 20 22:03:47 2000 +++ crossfire/include/config.h Tue Aug 1 23:04:49 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_config_h = - * "$Id: config.h,v 1.6 2000/06/21 05:03:47 cvs Exp $"; + * "$Id: config.h,v 1.7 2000/08/02 06:04:49 cvs Exp $"; */ /* @@ -84,6 +84,7 @@ * Short list of features, and what to search for: * ALCHEMY - enables alchemy code * ALLOW_SKILLS - enables skills code. + * BALANCED_STAT_LOSS - Based death stat depletion on level etc? * CASTING_TIME - makes spells take time to cast * CS_LOGSTATS - log various new client/server data. * DEBUG - more verbose message logging? @@ -106,6 +107,7 @@ * SPELL_* - various spell related options * STAT_LOSS_ON_DEATH - toggle between stat loss or stat depletion * USE_LIGHTING - enable light/darkness & light sources + * USE_PERMANENT_EXPERIENCE - allow players to accumulate permanent experience? * USE_SWAP_STATS - allows stat swapping for new characters * WATCHDOG - allows use of an external watchdog program * @@ -134,6 +136,43 @@ +/* Use balanced stat loss code? + * This code is a little more merciful with repeated stat loss at lower + * levels. Basically, the more stats you have lost, the less likely that + * you will lose more. Additionally, lower level characters are shown + * a lot more mercy (there are caps on how much of a stat you can lose too). + * On the nasty side, if you are higher level, you can lose mutiple stats + * _at_once_ and are shown less mercy when you die. But when you're higher + * level, it is much easier to buy back your stats with potions. + * Turn this on if you want death-based stat loss to be more merciful + * at low levels and more cruel at high levels. + * Only works when stats are depleted rather than lost. This option has + * no effect if you are using genuine stat loss. + * + * The BALSL_.. values control this behaviour. + * BALSL_NUMBER_LOSSES_RATIO determines the number of stats to lose. + * the character level is divided by that value, and that is how many + * stats are lost. + * + * BALSL_MAX_LOSS_RATIO puts the upper limit on depletion of a stat - + * basically, level/max_loss_ratio is the most a stat can be depleted. + * + * BALSL_LOSS_CHANCE_RATIO controls how likely it is a stat is depleted. + * The chance not to lose a stat is + * depleteness^2 / (depletedness^2+ level/ratio). + * ie, if the stats current depleted value is 2 and the character is level + * 15, the chance not to lose the stat is 4/(4+3) or 4/7. The higher the + * level, the more likely it is a stat can get really depleted, but + * this gets more offset as the stat gets more depleted. + * + */ +/* GD */ + +#define BALANCED_STAT_LOSS FALSE +#define BALSL_LOSS_CHANCE_RATIO 4 +#define BALSL_NUMBER_LOSSES_RATIO 6 +#define BALSL_MAX_LOSS_RATIO 2 + /* casting times for spells, if you have this defined then it takes a * specific amount of time for a spell to go off. You may attack or * be hit during this time, and this will cause you to lose the spell. @@ -449,6 +488,41 @@ #define USE_LIGHTING +/* Use permanent experience code? + * This code allows players to build up a small amount of 'permanent + * experience' which reduces the effect of large experience drains, such as + * death. This makes multiple frequent deaths less devastating, and also + * ensures that any character will make some gradual progress even if they + * die all of the time. + * A nice option if your keep dying due to massive client/server lags despite + * playing well... or you like to swim well outside of your depth. :) + * + * The PERM_EXP values adjust the behaviour of this option - if + * USE_PERMAMENT_EXPERIENCE if off, these values have no meaning. If it + * is on, the minimum ratio is the minimum amount of permanent exp relative + * to the total exp in the skill (ie, at a default of .25, if you had 100 + * experience, at least 25 of it would be permanent). The gain ratio + * is how much of experienced experience goes to the permanent value. + * This does not detract from total exp gain (ie, if you gained 100 exp, + * 100 would go to the skill total and 10 to the permanent value). + * the loss ratio is the maximum amount of experience that can be lost + * in any one hit - this is calculated as total exp - perm exp * loss ratio. + * + * A few thoughts on these default value (by MSW) + * gain ratio is pretty much meaningless until exp has been lost, as until + * that poin, the minimum ratio will be used. + * It is also impossible for the exp to actually be reduced to the permanent + * exp ratio - since the loss ratio is .5, it will just get closer and + * closer. However, after about half a dozen hits, pretty much all the + * exp that can be lost has been lost, and after that, only minor loss + * will occur. + */ +/* GD */ + +#define USE_PERMANENT_EXPERIENCE FALSE +#define PERM_EXP_MINIMUM_RATIO 0.25f +#define PERM_EXP_GAIN_RATIO 0.10f +#define PERM_EXP_MAX_LOSS_RATIO 0.50f /* * SWAP_STATS is fixed now - rgg. @@ -929,7 +1003,4 @@ */ /*#define BACKUP_SAVE_AT_HOME*/ - - - Index: crossfire/include/global.h diff -u crossfire/include/global.h:1.5 crossfire/include/global.h:1.6 --- crossfire/include/global.h:1.5 Fri May 26 22:42:14 2000 +++ crossfire/include/global.h Tue Aug 1 23:04:49 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_global_h = - * "$Id: global.h,v 1.5 2000/05/27 05:42:14 cvs Exp $"; + * "$Id: global.h,v 1.6 2000/08/02 06:04:49 cvs Exp $"; */ /* @@ -278,6 +278,8 @@ char *uniquedir; /* directory for the unique items */ char *tmpdir; /* Directory to use for temporary files */ uint8 stat_loss_on_death; /* If true, chars lose a random stat when they die */ + uint8 use_permanent_experience; /* If true, players can gain perm exp */ + uint8 balanced_stat_loss; /* If true, Death stat depletion based on level etc */ uint8 simple_exp; /* If true, use the simple experience system */ } Settings; From mwedel at scruznet.com Wed Aug 2 01:04:50 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:27 2005 Subject: [CF-Devel] CVS update: crossfire Message-ID: <200008020604.XAA32498@boltzmann.eecs.berkeley.edu> Date: Tuesday August 1, 2000 @ 23:04 Author: cvs Update of /home/cvs/CVS/crossfire In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv32470 Modified Files: CHANGES Log Message: 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 **************************************** Index: crossfire/CHANGES diff -u crossfire/CHANGES:1.116 crossfire/CHANGES:1.117 --- crossfire/CHANGES:1.116 Fri Jul 28 00:10:21 2000 +++ crossfire/CHANGES Tue Aug 1 23:04:50 2000 @@ -17,6 +17,15 @@ else. With this, include the file(s) that you changed. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +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 + server/time.c: Update the change_object function such that if the object is in a players inventory, send a delete & send_item for the object that has changed (the delete + send_item is necessary due to the ways objects From mwedel at scruznet.com Wed Aug 2 01:04:50 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:27 2005 Subject: [CF-Devel] CVS update: crossfire/server Message-ID: <200008020604.XAA32491@boltzmann.eecs.berkeley.edu> Date: Tuesday August 1, 2000 @ 23:04 Author: cvs Update of /home/cvs/CVS/crossfire/server In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv32470/server Modified Files: init.c player.c skill_util.c Log Message: 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 **************************************** Index: crossfire/server/init.c diff -u crossfire/server/init.c:1.6 crossfire/server/init.c:1.7 --- crossfire/server/init.c:1.6 Thu Jun 15 23:07:07 2000 +++ crossfire/server/init.c Tue Aug 1 23:04:50 2000 @@ -1,12 +1,12 @@ /* * static char *rcsid_init_c = - * "$Id: init.c,v 1.6 2000/06/16 06:07:07 cvs Exp $"; + * "$Id: init.c,v 1.7 2000/08/02 06:04:50 cvs Exp $"; */ /* CrossFire, A Multiplayer game for X-windows - Copyright (C) 1992 Mark Wedel + Copyright (C) 2000 Mark Wedel Copyright (C) 1992 Frank Tore Johansen This program is free software; you can redistribute it and/or modify @@ -23,7 +23,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - The author can be reached via e-mail to master@rahul.net + The author can be reached via e-mail to mwedel@scruz.net */ #include @@ -77,6 +77,12 @@ static void stat_loss_on_death_true() {settings.stat_loss_on_death = 1; } static void stat_loss_on_death_false() {settings.stat_loss_on_death = 0; } +static void use_permanent_experience_true() {settings.use_permanent_experience = 1; } +static void use_permanent_experience_false() {settings.use_permanent_experience = 0; } + +static void balanced_stat_loss_true() {settings.balanced_stat_loss = 1; } +static void balanced_stat_loss_false() {settings.balanced_stat_loss = 0; } + static void simple_exp_true() {settings.simple_exp = 1; } static void simple_exp_false() {settings.simple_exp = 0; } @@ -152,6 +158,10 @@ {"+simple_exp", 0, 3, simple_exp_false}, {"-stat_loss_on_death", 0, 3, stat_loss_on_death_true}, {"+stat_loss_on_death", 0, 3, stat_loss_on_death_false}, +{"-balanced_stat_loss", 0, 3, balanced_stat_loss_true}, +{"+balanced_stat_loss", 0, 3, balanced_stat_loss_false}, +{"-use_permanent_experience", 0, 3, use_permanent_experience_true}, +{"+use_permanent_experience", 0, 3, use_permanent_experience_false} }; @@ -265,8 +275,12 @@ printf(" -o Prints out info on what was defined at compile time.\n"); printf(" -s Display the high-score list.\n"); printf(" -score Displays all high scores with matching name/class.\n"); - printf(" -stat_loss_on_death - if set, player loses stat when they die"); - printf(" +stat_loss_on_death - if set, player does not lose a stat when they die"); + printf(" -stat_loss_on_death - if set, player loses stat when they die\n"); + printf(" +stat_loss_on_death - if set, player does not lose a stat when they die\n"); + printf(" -use_permanent_experience - if set, player may gain permanent experience\n"); + printf(" +use_permanent_experience - if set, player does not gain permanent experience\n"); + printf(" -balanced_stat_loss - if set, death stat depletion is balanced by level etc\n"); + printf(" +balanced_stat_loss - if set, ordinary death stat depletion is used\n"); printf(" -v Print version and contributors.\n"); #ifndef SECURE Index: crossfire/server/player.c diff -u crossfire/server/player.c:1.15 crossfire/server/player.c:1.16 --- crossfire/server/player.c:1.15 Fri Jun 23 02:55:11 2000 +++ crossfire/server/player.c Tue Aug 1 23:04:50 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_player_c = - * "$Id: player.c,v 1.15 2000/06/23 09:55:11 jec Exp $"; + * "$Id: player.c,v 1.16 2000/08/02 06:04:50 cvs Exp $"; */ /* @@ -38,7 +38,6 @@ #include #include - void display_motd(object *op) { #ifdef MOTD char buf[MAX_BUF]; @@ -1597,7 +1596,12 @@ int x,y,i; mapstruct *map; /* this is for resurrection */ object *tmp; - + int z; + int num_stats_lose; + int lost_a_stat; + int lose_this_stat; + int this_stat; + if(save_life(op)) return; @@ -1640,33 +1644,93 @@ * make it depletion. This bunch of code deals with that aspect * of death. */ - if (settings.stat_loss_on_death) { - /* Pick a random stat and take a point off it. Tell the player - * what he lost. - */ - i = RANDOM() % 7; - change_attr_value(&(op->stats), i,-1); - check_stat_bounds(&(op->stats)); - change_attr_value(&(op->contr->orig_stats), i,-1); - check_stat_bounds(&(op->contr->orig_stats)); - new_draw_info(NDI_UNIQUE, 0,op, lose_msg[i]); + + if (settings.balanced_stat_loss) { + /* If stat loss is permanent, lose one stat only. */ + /* Lower level chars don't lose as many stats because they suffer more + if they do. */ + /* Higher level characters can afford things such as potions of + restoration, or better, stat potions. So we slug them that little + bit harder. */ + /* GD */ + if (settings.stat_loss_on_death) + num_stats_lose = 1; + else + num_stats_lose = 1 + op->level/BALSL_NUMBER_LOSSES_RATIO; } else { - /* deplete a stat */ - archetype *deparch=find_archetype("depletion"); - object *dep; - - i = RANDOM() % 7; - dep = present_arch_in_ob(deparch,op); - if(!dep) { - dep = arch_to_object(deparch); - insert_ob_in_ob(dep, op); - } - change_attr_value(&(dep->stats), i,-1); - SET_FLAG(dep, FLAG_APPLIED); - new_draw_info(NDI_UNIQUE, 0,op, lose_msg[i]); - fix_player(op); + num_stats_lose = 1; } + lost_a_stat = 0; + for (z=0; zstats), i,-1); + check_stat_bounds(&(op->stats)); + change_attr_value(&(op->contr->orig_stats), i,-1); + check_stat_bounds(&(op->contr->orig_stats)); + new_draw_info(NDI_UNIQUE, 0,op, lose_msg[i]); + lost_a_stat = 1; + } else { + /* deplete a stat */ + archetype *deparch=find_archetype("depletion"); + object *dep; + + i = RANDOM() % 7; + dep = present_arch_in_ob(deparch,op); + if(!dep) { + dep = arch_to_object(deparch); + insert_ob_in_ob(dep, op); + } + lose_this_stat = 1; + if (settings.balanced_stat_loss) { + /* GD */ + /* Get the stat that we're about to deplete. */ + this_stat = get_attr_value(&(dep->stats), i); + if (this_stat < 0) { + int loss_chance = 1 + op->level/BALSL_LOSS_CHANCE_RATIO; + int keep_chance = this_stat * this_stat; + /* Yes, I am paranoid. Sue me. */ + if (keep_chance < 1) + keep_chance = 1; + + /* There is a maximum depletion total per level. */ + if (this_stat < -1 - op->level/BALSL_MAX_LOSS_RATIO) { + lose_this_stat = 0; + /* Take loss chance vs keep chance to see if we retain the stat. */ + } else { + if ((RANDOM() % (loss_chance + keep_chance)) < keep_chance) + lose_this_stat = 0; + /* LOG(llevDebug, "Determining stat loss. Stat: %d Keep: %d Lose: %d Result: %s.\n", + this_stat, keep_chance, loss_chance, + lose_this_stat?"LOSE":"KEEP"); */ + } + } + } + + if (lose_this_stat) { + change_attr_value(&(dep->stats), i, -1); + SET_FLAG(dep, FLAG_APPLIED); + new_draw_info(NDI_UNIQUE, 0,op, lose_msg[i]); + fix_player(op); + lost_a_stat = 1; + } + } + } + /* If no stat lost, tell the player. */ + if (!lost_a_stat) + { + /* determine_god() seems to not work sometimes... why is this? + Should I be using something else? GD */ + char *god = determine_god(op); + if (god && (strcmp(god, "none"))) + new_draw_info_format(NDI_UNIQUE, 0, op, "For a brief moment you feel the holy presence of %s protecting you.", god); + else + new_draw_info(NDI_UNIQUE, 0, op, "For a brief moment you feel a holy presence protecting you."); + } /* Put a gravestone up where the character 'almost' died. List the * exp loss on the stone. Index: crossfire/server/skill_util.c diff -u crossfire/server/skill_util.c:1.6 crossfire/server/skill_util.c:1.7 --- crossfire/server/skill_util.c:1.6 Tue Jun 13 21:04:16 2000 +++ crossfire/server/skill_util.c Tue Aug 1 23:04:50 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_skill_util_c = - * "$Id: skill_util.c,v 1.6 2000/06/14 04:04:16 cvs Exp $"; + * "$Id: skill_util.c,v 1.7 2000/08/02 06:04:50 cvs Exp $"; */ /* CrossFire, A Multiplayer game for X-windows @@ -1000,6 +1000,22 @@ return 1; } +/* Gives a percentage clipped to 0% -> 100% of a/b. */ +/* Probably belongs in some global utils-type file? */ +static int clipped_percent(int a, int b) +{ + int rv; + + rv = (a*100)/b; + + if (rv < 0) + return 0; + else if (rv > 100) + return 100; + + return rv; +} + /* show_skills() - Meant to allow players to examine * their current skill list. b.t. (thomas@nomad.astro.psu.edu) * I have now added capability to show assoc. experience objects too. @@ -1060,9 +1076,18 @@ char tmpbuf[40]; strcpy(tmpbuf,tmp_exp->name); while(k>0) {k--; strcat(tmpbuf,".");} - new_draw_info_format(NDI_UNIQUE,0,op,"%slvl:%3d (xp:%d/%d)", - tmpbuf,tmp_exp->level,tmp_exp->stats.exp, - level_exp(tmp_exp->level+1, op->expmul)); + if (settings.use_permanent_experience) { + new_draw_info_format(NDI_UNIQUE,0,op,"%slvl:%3d (xp:%d/%d/%d%%)", + tmpbuf,tmp_exp->level, + tmp_exp->stats.exp, + level_exp(tmp_exp->level+1, op->expmul), + clipped_percent(tmp_exp->last_heal,tmp_exp->stats.exp)); + } else { + new_draw_info_format(NDI_UNIQUE,0,op,"%slvl:%3d (xp:%d/%d)", + tmpbuf,tmp_exp->level, + tmp_exp->stats.exp, + level_exp(tmp_exp->level+1, op->expmul)); + } if (strcmp(tmp_exp->name,"physique")==0) { sprintf(Special,"You can handle %d weapon improvements.",tmp_exp->level/5+5); From mwedel at scruznet.com Wed Aug 2 01:04:50 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:28 2005 Subject: [CF-Devel] CVS update: crossfire/common Message-ID: <200008020604.XAA32485@boltzmann.eecs.berkeley.edu> Date: Tuesday August 1, 2000 @ 23:04 Author: cvs Update of /home/cvs/CVS/crossfire/common In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv32470/common Modified Files: init.c living.c Log Message: 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 **************************************** Index: crossfire/common/init.c diff -u crossfire/common/init.c:1.3 crossfire/common/init.c:1.4 --- crossfire/common/init.c:1.3 Sun May 21 14:41:45 2000 +++ crossfire/common/init.c Tue Aug 1 23:04:50 2000 @@ -1,11 +1,12 @@ /* * static char *rcsid_init_c = - * "$Id: init.c,v 1.3 2000/05/21 21:41:45 jec Exp $"; + * "$Id: init.c,v 1.4 2000/08/02 06:04:50 cvs Exp $"; */ /* CrossFire, A Multiplayer game for X-windows + Copyright (C) 2000 Mark Wedel Copyright (C) 1992 Frank Tore Johansen This program is free software; you can redistribute it and/or modify @@ -22,7 +23,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - The author can be reached via e-mail to frankj@ifi.uio.no. + The author can be reached via e-mail to mwedel@scruz.net */ #define EXTERN @@ -51,6 +52,8 @@ PLAYERDIR, MAPDIR, ARCHETYPES,TREASURES, UNIQUE_DIR, TMPDIR, STAT_LOSS_ON_DEATH, +USE_PERMANENT_EXPERIENCE, +BALANCED_STAT_LOSS, SIMPLE_EXP }; Index: crossfire/common/living.c diff -u crossfire/common/living.c:1.8 crossfire/common/living.c:1.9 --- crossfire/common/living.c:1.8 Mon Jun 19 05:23:11 2000 +++ crossfire/common/living.c Tue Aug 1 23:04:50 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_living_c = - * "$Id: living.c,v 1.8 2000/06/19 12:23:11 jec Exp $"; + * "$Id: living.c,v 1.9 2000/08/02 06:04:50 cvs Exp $"; */ /* @@ -29,7 +29,6 @@ #include #include - static int con_bonus[MAX_STAT + 1]={ -6,-5,-4,-3,-2,-1,-1,0,0,0,0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20, 22,25,30,40,50 @@ -1588,10 +1587,59 @@ /* adjust_exp() - make sure that we don't exceed max or min set on * experience */ - + int adjust_exp(object *op, int exp) { int max_exp = MAX_EXPERIENCE; + if (settings.use_permanent_experience) { + /* Permanent experience code. Blame me if any problems. :) */ + /* This code _only_ affects experience objects. */ + /* GD */ + if (op->type == EXPERIENCE) { + int p_exp_min; + int p_exp_gain; + int max_loss; + + /* The following fields are used: */ + /* stats.exp: Current exp in experience object. */ + /* last_heal: Permanent experience earnt. */ + + /* Ensure that our permanent experience minimum is met. */ + p_exp_min = (int)(PERM_EXP_MINIMUM_RATIO * (float)(op->stats.exp)); + /*LOG(llevError, "Experience minimum check: %d p-min %d p-curr %d curr.\n", p_exp_min, op->last_heal, op->stats.exp);*/ + if (op->last_heal < p_exp_min) + op->last_heal = p_exp_min; + + /* Experience gain: We get a ratio of the gain as permanent experience. */ + if (exp > 0) { + p_exp_gain = (int)(PERM_EXP_GAIN_RATIO * exp); + op->last_heal += p_exp_gain; + /* Cap permanent experience. */ + if (op->last_heal > MAX_EXP_IN_OBJ) + op->last_heal = MAX_EXP_IN_OBJ; + /*LOG(llevError, "Gaining %d experience results in %d permanent exp (now %d).\n", exp, p_exp_gain, op->last_heal); */ + } + + /* Experience loss: Our permanent experience affects this. */ + if (exp < 0) { + /*LOG(llevError, "Experience loss of %d from %d (%d perm).\n", + -exp, op->stats.exp, op->last_heal); */ + if (op->stats.exp <= op->last_heal) { + /* Cripes. Less experience than permanent experience. + No experience loss. */ + max_loss = 0; + exp = 0; + } else { + /* Max loss is a ratio of temporary experience (curr-perm). */ + max_loss = (int)(PERM_EXP_MAX_LOSS_RATIO * (float)(op->stats.exp - op->last_heal)); + if (exp < -max_loss) + exp = -max_loss; + } + /* LOG(llevError, "Decided on a loss of %d.\n", -exp); */ + } + } + } + op->stats.exp += exp; if(op->stats.exp < 0) { exp -= op->stats.exp; From bugs at real-time.com Wed Aug 2 02:10:01 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:28 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008020710.e727A1x05029@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From frankj at osc.no Wed Aug 2 03:21:01 2000 From: frankj at osc.no (Frank Tore Johansen) Date: Thu Jan 13 17:57:28 2005 Subject: [CF-Devel] Some bugs Message-ID: Basically, what he's reporting is that the server crashes when saying Kashu to get teleported into the mopoons weapon shop in Lake Country, as well as when saying that long word to get into the level below the titans in the Tower of Demonology. This happened on the voldsboks.pvv.org server, which runs the latest official version with no modifications. -Frank. ---------- Forwarded message ---------- From: Kjetil Joergensen S? .. et par irriterende bugs : i mopoons-weapon shop i Lake Country .. for ? komme seg til Wizards Tower, en m? si Kashu for ? bli "teleportert" inn .. dette for?rsaker at servere krasjer. tror kartet heter noe s?nt som ./Lake_Country/Mopoon_wshop Det samme skjer ogs? i Tower Of Deamonology n?r en sier Hleafnarumledenkaranthrachakamar for ? komme seg opp i etasjen under titanene. ./peterm/Demonology/Demon3 -- Kjetil J?rgensen Spiller : Urko From frankj at osc.no Wed Aug 2 03:36:38 2000 From: frankj at osc.no (Frank Tore Johansen) Date: Thu Jan 13 17:57:28 2005 Subject: [CF-Devel] Re: Some bugs In-Reply-To: Message-ID: Btw, he also reported in another mail that the peaceful setting don't work while braced. (This was at least used as an excuse during some playerkilling controversy on the voldsboks.pvv.org server) -Frank. From bugs at real-time.com Thu Aug 3 02:10:01 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:28 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008030710.e737A1u14271@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Fri Aug 4 02:10:01 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:28 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008040710.e747A1723644@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Sat Aug 5 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:28 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008050710.e757A2t32504@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Sun Aug 6 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:28 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008060710.e767A2h06947@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From mwedel at scruznet.com Mon Aug 7 00:16:34 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:28 2005 Subject: [CF-Devel] CVS update: crossfire/common Message-ID: <200008070516.WAA06606@boltzmann.eecs.berkeley.edu> Date: Sunday August 6, 2000 @ 22:16 Author: cvs Update of /home/cvs/CVS/crossfire/common In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv6595/common Modified Files: item.c Log Message: The following change basically does the following: When the server sends an item name to the client, this item name is now two pieces - the first piece of the name is its singular form, the second piece is the plural name. This now makes items in the inventory appear more proper in terms of pluralization and just normal English. I did notice that the server does not know how to properly make 'torch' plural - it turns it into torchs. A matching check in for the client has also been done. include/newserver.h: Update VERSION_SC to 1024 common/item.c: Change query_base_name to take a second option on whether we should generate a plural version of the name or not. socket/item.c: Modify functions to use second argument on the query_base_name function. Update item commands to send two part names (singular & plural). Modify esrv_send_look to use item1 protocol command instead of item command. server/c_object.c: Update item_matched_string to use second option to query_base_name. Modify function to check against both singular and plural versions of name. server/shop.c: Modify shop_listing command usage in query_basename to use second option. It will also generate the singular name, but that is only used on sorting, so I don't think it will generally cause any problems. include/libproto.h: rebuilt because query_base_name has an addition opt. Mark Wedel 8/13/2000 **************************************** Index: crossfire/common/item.c diff -u crossfire/common/item.c:1.8 crossfire/common/item.c:1.9 --- crossfire/common/item.c:1.8 Sat May 27 00:08:12 2000 +++ crossfire/common/item.c Sun Aug 6 22:16:34 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_item_c = - * "$Id: item.c,v 1.8 2000/05/27 07:08:12 cvs Exp $"; + * "$Id: item.c,v 1.9 2000/08/07 05:16:34 cvs Exp $"; */ /* @@ -207,8 +207,8 @@ if (buf3!=NULL) { strcpy(buf2, buf3); *buf3 = '\0'; /* also changes value in buf */ - len=strlen(buf); } + len=strlen(buf); if(QUERY_FLAG(op,FLAG_NEED_IE)) { char *cp=strrchr(buf,'y'); @@ -372,9 +372,12 @@ * call to query_base_name(). This is a lot like query_name, but we * don't include the item count or item status. Used for inventory sorting * and sending to client. + * If plural is set, we generate the plural name of this. */ -char *query_base_name(object *op) { +char *query_base_name(object *op, int plural) { static char buf[MAX_BUF]; + char buf2[MAX_BUF]; + int len; if(op->name == NULL) return "(null)"; @@ -382,6 +385,42 @@ return op->name; /* To speed things up (or make things slower?) */ strcpy(buf,op->name); + + /* This code pretty much taken directly from query_short_name */ + if (plural) { + char *buf3 = strstr(buf, " of "); + if (buf3!=NULL) { + strcpy(buf2, buf3); + *buf3 = '\0'; /* also changes value in buf */ + } + len=strlen(buf); + + if(QUERY_FLAG(op,FLAG_NEED_IE)) { + char *cp=strrchr(buf,'y'); + + if(cp!=NULL) { + *cp='\0'; /* Strip the 'y' */ + len--; + } + safe_strcat(buf,"ies", &len, MAX_BUF); + } else if (buf[strlen(buf)-1]!='s') + /* if the item ends in 's', then adding another one is + * not the way to pluralize it. The only item where this + * matters (that I know of) is bracers, as they start of + * plural + */ + safe_strcat(buf,"s", &len, MAX_BUF); + + /* If buf3 is set, then this was a string that contained + * something of something (potion of dexterity.) The part before + * the of gets made plural, so now we need to copy the rest + * (after and including the " of "), to the buffer string. + */ + if (buf3) + safe_strcat(buf, buf2, &len, MAX_BUF); + } + + if (op->title && QUERY_FLAG(op,FLAG_IDENTIFIED)) { strcat(buf, " "); strcat(buf, op->title); From mwedel at scruznet.com Mon Aug 7 00:16:34 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:28 2005 Subject: [CF-Devel] CVS update: crossfire/include Message-ID: <200008070516.WAA06600@boltzmann.eecs.berkeley.edu> Date: Sunday August 6, 2000 @ 22:16 Author: cvs Update of /home/cvs/CVS/crossfire/include In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv6595/include Modified Files: newserver.h libproto.h Log Message: The following change basically does the following: When the server sends an item name to the client, this item name is now two pieces - the first piece of the name is its singular form, the second piece is the plural name. This now makes items in the inventory appear more proper in terms of pluralization and just normal English. I did notice that the server does not know how to properly make 'torch' plural - it turns it into torchs. A matching check in for the client has also been done. include/newserver.h: Update VERSION_SC to 1024 common/item.c: Change query_base_name to take a second option on whether we should generate a plural version of the name or not. socket/item.c: Modify functions to use second argument on the query_base_name function. Update item commands to send two part names (singular & plural). Modify esrv_send_look to use item1 protocol command instead of item command. server/c_object.c: Update item_matched_string to use second option to query_base_name. Modify function to check against both singular and plural versions of name. server/shop.c: Modify shop_listing command usage in query_basename to use second option. It will also generate the singular name, but that is only used on sorting, so I don't think it will generally cause any problems. include/libproto.h: rebuilt because query_base_name has an addition opt. Mark Wedel 8/13/2000 **************************************** Index: crossfire/include/newserver.h diff -u crossfire/include/newserver.h:1.4 crossfire/include/newserver.h:1.5 --- crossfire/include/newserver.h:1.4 Sat Jun 3 00:01:42 2000 +++ crossfire/include/newserver.h Sun Aug 6 22:16:33 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_newserver_h = - * "$Id: newserver.h,v 1.4 2000/06/03 07:01:42 cvs Exp $"; + * "$Id: newserver.h,v 1.5 2000/08/07 05:16:33 cvs Exp $"; */ /* @@ -125,7 +125,7 @@ extern FaceInfo faces[MAXFACENUM]; /* face information */ #define VERSION_CS 1022 -#define VERSION_SC 1023 +#define VERSION_SC 1024 #define VERSION_INFO "Crossfire Server" Index: crossfire/include/libproto.h diff -u crossfire/include/libproto.h:1.4 crossfire/include/libproto.h:1.5 --- crossfire/include/libproto.h:1.4 Thu Jun 15 23:08:06 2000 +++ crossfire/include/libproto.h Sun Aug 6 22:16:33 2000 @@ -2,7 +2,7 @@ * This file was automatically generated by version 1.7 of cextract. * Manual editing not recommended. * - * Created: Sun Mar 28 01:31:27 1999 + * Created: Fri Aug 4 17:36:36 2000 */ #ifndef __CEXTRACT__ #ifdef __STDC__ @@ -49,7 +49,6 @@ extern void change_book ( object *book, int msgtype ); extern void change_luck ( object *op, int value ); extern int change_map_light ( mapstruct *m, int change ); -extern int operate_altar ( object *altar, object **sacrifice ); extern int check_altar_sacrifice ( object *altar, object *sacrifice ); extern int check_dm_add_exp_to_obj ( object *exp_ob, int i ); extern void check_formulae ( void ); @@ -58,7 +57,7 @@ extern object * check_inv_recursive ( object *op, object *trig ); extern int check_path ( char *name, int prepend_dir ); extern void check_stat_bounds ( living *stats ); -extern int check_trigger ( object *op, object *sacrifice ); +extern int check_trigger ( object *op, object *cause ); extern int check_walk_on ( object *op, object *originator ); extern void check_wall ( object *op, int x, int y ); extern void clean_object ( object *op ); @@ -72,6 +71,7 @@ extern void close_and_delete ( FILE *fp, int compressed ); extern void copy_map ( mapstruct *m1, mapstruct *m2 ); extern void copy_object ( object *op2, object *op ); +extern void copy_owner ( object *op, object *clone ); extern int count_active ( void ); extern int count_free ( void ); extern int count_used ( void ); @@ -101,7 +101,7 @@ extern void dummy_function_ob_int ( object *ob, int i ); extern void dummy_function_player_int ( player *p, int j ); extern void dummy_function_txtnr ( char *txt, int nr ); -extern void dummy_move_apply_func (object *, object *, object * ); +extern void dummy_move_apply_func ( object *ob, object *ob2, object *ob3 ); extern void dump_abilities ( void ); extern void dump_alchemy ( void ); extern void dump_alchemy_costs ( void ); @@ -173,7 +173,6 @@ extern mapstruct *get_empty_map ( int sizex, int sizey ); extern recipelist * get_formulalist ( int i ); extern char *get_levelnumber ( int i ); -extern int was_destroyed (object *op, tag_t old_tag); extern mapstruct *get_linked_map ( char *path ); extern int get_magic ( int diff ); extern object *get_nearest_part ( object *op, object *pl ); @@ -259,6 +258,7 @@ extern object *ObjectCreateArch ( archetype * at ); extern object *ObjectCreateClone ( object *asrc ); extern FILE *open_and_uncompress ( char *name, int flag, int *compressed ); +extern int operate_altar ( object *altar, object **sacrifice ); extern void player_lvl_adj ( object *who, object *op ); extern object *pntr_to_god_obj ( godlink *godlnk ); extern object *present ( unsigned char type, mapstruct *m, int x, int y ); @@ -268,7 +268,7 @@ extern void print_los ( object *op ); extern void print_monsters ( void ); extern void push_button ( object *op ); -extern char *query_base_name ( object *op ); +extern char *query_base_name ( object *op, int plural ); extern char *query_name ( object *op ); extern int query_refcount ( const char *str ); extern char *query_short_name ( object *op ); @@ -295,7 +295,6 @@ extern long seconds ( void ); extern void second_arch_pass ( FILE *fp ); extern void set_abs_magic ( object *op, int magic ); -extern void set_move_apply ( type_move_apply_func addr ); extern void set_attr_value ( living *stats, int attr, signed char value ); extern void set_block ( int x, int y, int bx, int by ); extern void set_cheat ( object *op ); @@ -313,11 +312,11 @@ extern void set_map_reset_time ( mapstruct *map ); extern void set_max_time ( long t ); extern void set_monster_check_apply ( type_func_ob_ob addr ); +extern void set_move_apply ( type_move_apply_func addr ); extern void set_move_creator ( type_func_ob addr ); -extern void set_move_teleporter ( type_func_ob addr ); extern void set_move_firewall ( type_func_ob addr ); +extern void set_move_teleporter ( type_func_ob addr ); extern void set_owner ( object *op, object *owner ); -extern void copy_owner ( object *op, object *clone ); extern void set_process_active_maps ( type_func_void addr ); extern void set_remove_friendly_object ( type_func_ob addr ); extern void set_ring_bonus ( object *op, int bonus ); @@ -354,6 +353,7 @@ extern void use_trigger ( object *op ); extern void verify_button_links ( mapstruct *map ); extern int wall ( mapstruct *m, int x, int y ); +extern int was_destroyed ( object *op, tag_t old_tag ); extern void write_book_archive ( void ); extern int yyerror ( char *s ); extern void yyrestart ( FILE *input_file ); From mwedel at scruznet.com Mon Aug 7 00:16:34 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:28 2005 Subject: [CF-Devel] CVS update: crossfire/socket Message-ID: <200008070516.WAA06611@boltzmann.eecs.berkeley.edu> Date: Sunday August 6, 2000 @ 22:16 Author: cvs Update of /home/cvs/CVS/crossfire/socket In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv6595/socket Modified Files: item.c Log Message: The following change basically does the following: When the server sends an item name to the client, this item name is now two pieces - the first piece of the name is its singular form, the second piece is the plural name. This now makes items in the inventory appear more proper in terms of pluralization and just normal English. I did notice that the server does not know how to properly make 'torch' plural - it turns it into torchs. A matching check in for the client has also been done. include/newserver.h: Update VERSION_SC to 1024 common/item.c: Change query_base_name to take a second option on whether we should generate a plural version of the name or not. socket/item.c: Modify functions to use second argument on the query_base_name function. Update item commands to send two part names (singular & plural). Modify esrv_send_look to use item1 protocol command instead of item command. server/c_object.c: Update item_matched_string to use second option to query_base_name. Modify function to check against both singular and plural versions of name. server/shop.c: Modify shop_listing command usage in query_basename to use second option. It will also generate the singular name, but that is only used on sorting, so I don't think it will generally cause any problems. include/libproto.h: rebuilt because query_base_name has an addition opt. Mark Wedel 8/13/2000 **************************************** Index: crossfire/socket/item.c diff -u crossfire/socket/item.c:1.4 crossfire/socket/item.c:1.5 --- crossfire/socket/item.c:1.4 Fri May 26 02:50:53 2000 +++ crossfire/socket/item.c Sun Aug 6 22:16:34 2000 @@ -1,7 +1,7 @@ /* * static char *rcsid_item_c = - * "$Id: item.c,v 1.4 2000/05/26 09:50:53 jec Exp $"; + * "$Id: item.c,v 1.5 2000/08/07 05:16:34 cvs Exp $"; */ /* @@ -135,7 +135,7 @@ void esrv_draw_look(object *pl) { object *tmp, *last; - int flags, got_one=0,len; + int flags, got_one=0,len,anim_speed; SockList sl; char *buf; @@ -156,7 +156,7 @@ sl.buf=malloc(MAXSOCKBUF); Write_String_To_Socket(&pl->contr->socket, "delinv 0", strlen("delinv 0")); - strcpy((char*)sl.buf,"item "); + strcpy((char*)sl.buf,"item1 "); sl.len=strlen((char*)sl.buf); SockList_AddInt(&sl, 0); @@ -174,13 +174,47 @@ if (!pl->contr->socket.faces_sent[tmp->face->number]) esrv_send_face(&pl->contr->socket, tmp->face->number,0); + if (QUERY_FLAG(tmp,FLAG_ANIMATE) && + !pl->contr->socket.anims_sent[tmp->animation_id]) + esrv_send_animation(&pl->contr->socket, tmp->animation_id); + SockList_AddInt(&sl, tmp->count); SockList_AddInt(&sl, flags); SockList_AddInt(&sl, QUERY_FLAG(tmp, FLAG_NO_PICK) ? -1 : WEIGHT(tmp)); SockList_AddInt(&sl, tmp->face->number); - add_stringlen_to_sockbuf(query_short_name(tmp), &sl); - got_one++; + if (pl->contr->socket.sc_version>=1024) { + int len; + char *item_p,item_n[MAX_BUF]; + + strncpy(item_n,query_base_name(tmp, 0),127); + item_n[127]=0; + len=strlen(item_n); + item_p=query_base_name(tmp, 1); + strncpy(item_n+len+1, item_p, 127); + item_n[254]=0; + len += strlen(item_p) + 1; + SockList_AddChar(&sl, len); + memcpy(sl.buf+sl.len, item_n, len); + sl.len += len; + } else + add_stringlen_to_sockbuf(query_base_name(tmp,0), &sl); + + SockList_AddShort(&sl,tmp->animation_id); + anim_speed=0; + if (QUERY_FLAG(tmp,FLAG_ANIMATE)) { + if (tmp->anim_speed) anim_speed=tmp->anim_speed; + else { + if (FABS(tmp->speed)<0.001) anim_speed=255; + else if (FABS(tmp->speed)>=1.0) anim_speed=1; + else anim_speed = (1.0/FABS(tmp->speed)); + } + if (anim_speed>255) anim_speed=255; + } + SockList_AddChar(&sl, anim_speed); + SockList_AddInt(&sl, tmp->nrof); SET_FLAG(tmp, FLAG_CLIENT_SENT); + got_one++; + if (sl.len > (MAXSOCKBUF-MAXITEMLEN)) { Send_With_Handling(&pl->contr->socket, &sl); strcpy((char*)sl.buf,"item "); @@ -201,7 +235,7 @@ object *tmp; int flags, got_one=0, anim_speed,len; SockList sl; - char *buf; + char *buf, item_n[MAX_BUF]; sl.buf=malloc(MAXSOCKBUF); @@ -229,7 +263,22 @@ SockList_AddInt(&sl, QUERY_FLAG(tmp, FLAG_NO_PICK) ? -1 : WEIGHT(tmp)); SockList_AddInt(&sl, tmp->face->number); - add_stringlen_to_sockbuf(query_base_name(tmp), &sl); + if (pl->contr->socket.sc_version>=1024) { + int len; + char *item_p; + + strncpy(item_n,query_base_name(tmp, 0),127); + item_n[127]=0; + len=strlen(item_n); + item_p=query_base_name(tmp, 1); + strncpy(item_n+len+1, item_p, 127); + item_n[254]=0; + len += strlen(item_p) + 1; + SockList_AddChar(&sl, len); + memcpy(sl.buf+sl.len, item_n, len); + sl.len += len; + } else + add_stringlen_to_sockbuf(query_base_name(tmp,0), &sl); SockList_AddShort(&sl,tmp->animation_id); anim_speed=0; @@ -314,8 +363,22 @@ SockList_AddInt(&sl, op->face->number); } if (flags & UPD_NAME) { - add_stringlen_to_sockbuf(query_short_name(op), &sl); - + if (pl->contr->socket.sc_version>=1024) { + int len; + char *item_p, item_n[MAX_BUF]; + + strncpy(item_n,query_base_name(op, 0),127); + item_n[127]=0; + len=strlen(item_n); + item_p=query_base_name(op, 1); + strncpy(item_n+len+1, item_p, 127); + item_n[254]=0; + len += strlen(item_p) + 1; + SockList_AddChar(&sl, len); + memcpy(sl.buf+sl.len, item_n, len); + sl.len += len; + } else + add_stringlen_to_sockbuf(query_base_name(op,0), &sl); } if (flags & UPD_ANIM) SockList_AddShort(&sl,op->animation_id); @@ -344,7 +407,7 @@ { int anim_speed,len; SockList sl; - char *buf; + char *buf, item_n[MAX_BUF]; /* If this is not the player object, do some more checks */ if (op!=pl) { @@ -377,7 +440,23 @@ SockList_AddInt(&sl, query_flags(op)); SockList_AddInt(&sl, WEIGHT(op)); SockList_AddInt(&sl, op->face->number); - add_stringlen_to_sockbuf(query_base_name(op), &sl); + + if (pl->contr->socket.sc_version>=1024) { + int len; + char *item_p; + + strncpy(item_n,query_base_name(op, 0),127); + item_n[127]=0; + len=strlen(item_n); + item_p=query_base_name(op, 1); + strncpy(item_n+len+1, item_p, 127); + item_n[254]=0; + len += strlen(item_p) + 1; + SockList_AddChar(&sl, len); + memcpy(sl.buf+sl.len, item_n, len); + sl.len += len; + } else + add_stringlen_to_sockbuf(query_base_name(op,0), &sl); SockList_AddShort(&sl,op->animation_id); anim_speed=0; From mwedel at scruznet.com Mon Aug 7 00:16:34 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:29 2005 Subject: [CF-Devel] CVS update: crossfire/server Message-ID: <200008070516.WAA06616@boltzmann.eecs.berkeley.edu> Date: Sunday August 6, 2000 @ 22:16 Author: cvs Update of /home/cvs/CVS/crossfire/server In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv6595/server Modified Files: c_object.c shop.c Log Message: The following change basically does the following: When the server sends an item name to the client, this item name is now two pieces - the first piece of the name is its singular form, the second piece is the plural name. This now makes items in the inventory appear more proper in terms of pluralization and just normal English. I did notice that the server does not know how to properly make 'torch' plural - it turns it into torchs. A matching check in for the client has also been done. include/newserver.h: Update VERSION_SC to 1024 common/item.c: Change query_base_name to take a second option on whether we should generate a plural version of the name or not. socket/item.c: Modify functions to use second argument on the query_base_name function. Update item commands to send two part names (singular & plural). Modify esrv_send_look to use item1 protocol command instead of item command. server/c_object.c: Update item_matched_string to use second option to query_base_name. Modify function to check against both singular and plural versions of name. server/shop.c: Modify shop_listing command usage in query_basename to use second option. It will also generate the singular name, but that is only used on sorting, so I don't think it will generally cause any problems. include/libproto.h: rebuilt because query_base_name has an addition opt. Mark Wedel 8/13/2000 **************************************** Index: crossfire/server/c_object.c diff -u crossfire/server/c_object.c:1.9 crossfire/server/c_object.c:1.10 --- crossfire/server/c_object.c:1.9 Tue Jun 27 21:53:58 2000 +++ crossfire/server/c_object.c Sun Aug 6 22:16:34 2000 @@ -1,10 +1,11 @@ /* * static char *rcsid_c_object_c = - * "$Id: c_object.c,v 1.9 2000/06/28 04:53:58 cvs Exp $"; + * "$Id: c_object.c,v 1.10 2000/08/07 05:16:34 cvs Exp $"; */ /* CrossFire, A Multiplayer game for X-windows + Copyright (C) 2000 Mark Wedel Copyright (C) 1992 Frank Tore Johansen This program is free software; you can redistribute it and/or modify @@ -116,9 +117,12 @@ } if (!strcasecmp(cp,query_name(op))) retval=20; else if (!strcasecmp(cp,query_short_name(op))) retval=18; - else if (!strcasecmp(cp,query_base_name(op))) retval=16; - else if (!strncasecmp(cp,query_base_name(op), - MIN(strlen(cp),strlen(query_base_name(op))))) retval=14; + else if (!strcasecmp(cp,query_base_name(op,0))) retval=16; + else if (!strcasecmp(cp,query_base_name(op,1))) retval=16; + else if (!strncasecmp(cp,query_base_name(op,0), + MIN(strlen(cp),strlen(query_base_name(op,0))))) retval=14; + else if (!strncasecmp(cp,query_base_name(op,1), + MIN(strlen(cp),strlen(query_base_name(op,1))))) retval=14; if (retval) { pl->contr->count=count; return retval; Index: crossfire/server/shop.c diff -u crossfire/server/shop.c:1.5 crossfire/server/shop.c:1.6 --- crossfire/server/shop.c:1.5 Thu Jun 8 09:08:41 2000 +++ crossfire/server/shop.c Sun Aug 6 22:16:34 2000 @@ -1,12 +1,12 @@ /* * static char *rcsid_shop_c = - * "$Id: shop.c,v 1.5 2000/06/08 16:08:41 jec Exp $"; + * "$Id: shop.c,v 1.6 2000/08/07 05:16:34 cvs Exp $"; */ /* CrossFire, A Multiplayer game for X-windows - Copyright (C) 1994 Mark Wedel + Copyright (C) 2000 Mark Wedel Copyright (C) 1992 Frank Tore Johansen This program is free software; you can redistribute it and/or modify @@ -23,7 +23,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - The author can be reached via e-mail to master@rahul.net + The author can be reached via e-mail to mwedel@scruz.net */ @@ -654,14 +654,14 @@ case BOOTS: case GLOVES: case GIRDLE: - sprintf(buf,"%s %s",query_base_name(tmp),describe_item(tmp)); + sprintf(buf,"%s %s",query_base_name(tmp,0),describe_item(tmp)); items[numitems].item_sort = strdup_local(buf); sprintf(buf,"%s %s",query_name(tmp),describe_item(tmp)); items[numitems++].item_real = strdup_local(buf); break; default: - items[numitems].item_sort = strdup_local(query_base_name(tmp)); + items[numitems].item_sort = strdup_local(query_base_name(tmp, 0)); items[numitems++].item_real = strdup_local(query_name(tmp)); break; } From mwedel at scruznet.com Mon Aug 7 00:16:35 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:29 2005 Subject: [CF-Devel] CVS update: crossfire Message-ID: <200008070516.WAA06622@boltzmann.eecs.berkeley.edu> Date: Sunday August 6, 2000 @ 22:16 Author: cvs Update of /home/cvs/CVS/crossfire In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv6595 Modified Files: CHANGES Log Message: The following change basically does the following: When the server sends an item name to the client, this item name is now two pieces - the first piece of the name is its singular form, the second piece is the plural name. This now makes items in the inventory appear more proper in terms of pluralization and just normal English. I did notice that the server does not know how to properly make 'torch' plural - it turns it into torchs. A matching check in for the client has also been done. include/newserver.h: Update VERSION_SC to 1024 common/item.c: Change query_base_name to take a second option on whether we should generate a plural version of the name or not. socket/item.c: Modify functions to use second argument on the query_base_name function. Update item commands to send two part names (singular & plural). Modify esrv_send_look to use item1 protocol command instead of item command. server/c_object.c: Update item_matched_string to use second option to query_base_name. Modify function to check against both singular and plural versions of name. server/shop.c: Modify shop_listing command usage in query_basename to use second option. It will also generate the singular name, but that is only used on sorting, so I don't think it will generally cause any problems. include/libproto.h: rebuilt because query_base_name has an addition opt. Mark Wedel 8/13/2000 **************************************** Index: crossfire/CHANGES diff -u crossfire/CHANGES:1.117 crossfire/CHANGES:1.118 --- crossfire/CHANGES:1.117 Tue Aug 1 23:04:50 2000 +++ crossfire/CHANGES Sun Aug 6 22:16:35 2000 @@ -17,6 +17,28 @@ else. With this, include the file(s) that you changed. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +The following change basically does the following: When the server sends an +item name to the client, this item name is now two pieces - the first piece +of the name is its singular form, the second piece is the plural name. This +now makes items in the inventory appear more proper in terms of pluralization +and just normal English. I did notice that the server does not know how +to properly make 'torch' plural - it turns it into torchs. A matching +check in for the client has also been done. +include/newserver.h: Update VERSION_SC to 1024 +common/item.c: Change query_base_name to take a second option on whether + we should generate a plural version of the name or not. +socket/item.c: Modify functions to use second argument on the query_base_name + function. Update item commands to send two part names (singular & plural). + Modify esrv_send_look to use item1 protocol command instead of item command. +server/c_object.c: Update item_matched_string to use second option to + query_base_name. Modify function to check against both singular and + plural versions of name. +server/shop.c: Modify shop_listing command usage in query_basename to use + second option. It will also generate the singular name, but that is only + used on sorting, so I don't think it will generally cause any problems. +include/libproto.h: rebuilt because query_base_name has an addition opt. +Mark Wedel 8/13/2000 + 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). From mwedel at scruznet.com Mon Aug 7 00:27:23 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:29 2005 Subject: [CF-Devel] CVS update: client Message-ID: <200008070527.WAA06834@boltzmann.eecs.berkeley.edu> Date: Sunday August 6, 2000 @ 22:27 Author: cvs Update of /home/cvs/CVS/client In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv6826 Modified Files: CHANGES Protocol client.h commands.c gx11.c item.c item.h player.c x11.c Log Message: The following matches a change made to the server which includes two piece item names to make the item names in the client appear more perfect. Protocol: Updated to document the new item name transmission method. client.h: Update SC version to 1024. item.h: Remove name and o_name from item structure, instead there is now d_name, s_name, and p_name, representing the display name, singular name, and plural name. display name is derived from the s/p names plus nrof value. commands.c: Chance strncpy to memcpy, as a null character is used to seperate the two name values. UpdateItemCmd is also modified to supply an empty string to set_item_values instead of the same name if the name is unchanged. gx11.c, player.c, x11.c: use d_name instead of name to correspond with changes to item.h item.c: Update item initialization and clearing functions with new name elements. Update set_item_values with new two piece name support. remove adding 'a' and 'an' prefix to singular objects, as it generally doesn't look good in the look window and isn't all that useful in the inventory window either. Mark Wedel 8/6/2000 **************************************** Index: client/CHANGES diff -u client/CHANGES:1.17 client/CHANGES:1.18 --- client/CHANGES:1.17 Tue Jun 20 21:45:47 2000 +++ client/CHANGES Sun Aug 6 22:27:22 2000 @@ -1,5 +1,28 @@ -"$Id: CHANGES,v 1.17 2000/06/21 04:45:47 cvs Exp $" +"$Id: CHANGES,v 1.18 2000/08/07 05:27:22 cvs Exp $" Top of CVS tree: + +The following matches a change made to the server which includes two +piece item names to make the item names in the client appear more perfect. +Protocol: Updated to document the new item name transmission method. +client.h: Update SC version to 1024. +item.h: Remove name and o_name from item structure, instead there is now + d_name, s_name, and p_name, representing the display name, singular name, + and plural name. display name is derived from the s/p names plus nrof value. +commands.c: Chance strncpy to memcpy, as a null character is used to seperate + the two name values. UpdateItemCmd is also modified to supply an empty + string to set_item_values instead of the same name if the name is unchanged. +gx11.c, player.c, x11.c: use d_name instead of name to correspond with + changes to item.h +item.c: Update item initialization and clearing functions with new name + elements. Update set_item_values with new two piece name support. + remove adding 'a' and 'an' prefix to singular objects, as it generally + doesn't look good in the look window and isn't all that useful in the + inventory window either. +Mark Wedel 8/6/2000 + +item_types, item_types.h: Update with new item types - MSW 7/19/2000 + +player.c: Comment out command buffering output - MSW 7/19/2000 ------------------------------------------------------------------------------ Changes for 0.95.6: Index: client/Protocol diff -u client/Protocol:1.2 client/Protocol:1.3 --- client/Protocol:1.2 Sat Jun 3 00:20:23 2000 +++ client/Protocol Sun Aug 6 22:27:22 2000 @@ -393,7 +393,9 @@ to the client before actually sending a face number. name is the name of the object. The first byte of this field is the - text length of the name. + text length of the name. Starting at SC 1024, this name is two + strings, with a null seperation. The first byte (length) is the + length for both of these strings. Below here are fields/differences for the item1 command. @@ -827,6 +829,9 @@ SC version 1022 -> 1023: Server supports sending png images (addition of image command). + +SC version 1023 -> 1024: Server will send two part names (described in +item command) which contains the singular & plural form of the name) ------------------------------------------------------------------------------ Todo: Index: client/client.h diff -u client/client.h:1.4 client/client.h:1.5 --- client/client.h:1.4 Sat Jun 3 00:20:23 2000 +++ client/client.h Sun Aug 6 22:27:22 2000 @@ -41,7 +41,7 @@ #endif #define VERSION_CS 1022 -#define VERSION_SC 1023 +#define VERSION_SC 1024 #ifdef GTK_CLIENT #define VERSION_INFO "GTK C Client" Index: client/commands.c diff -u client/commands.c:1.3 client/commands.c:1.4 --- client/commands.c:1.3 Sat Jun 3 00:20:23 2000 +++ client/commands.c Sun Aug 6 22:27:22 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_commands_c = - * "$Id: commands.c,v 1.3 2000/06/03 07:20:23 cvs Exp $"; + * "$Id: commands.c,v 1.4 2000/08/07 05:27:22 cvs Exp $"; */ /* Crossfire client, a client program for the crossfire program. @@ -329,7 +329,7 @@ face= GetInt_String(data+i); i+=4; nlen=data[i++]; - strncpy(name, (const char*)data+i, nlen); + memcpy(name, (const char*)data+i, nlen); name[nlen]='\0'; i+= nlen; @@ -382,7 +382,7 @@ weight = GetInt_String(data+pos); pos+=4; face = GetInt_String(data+pos); pos+=4; nlen = data[pos++]; - strncpy(name, (char*)data+pos, nlen); + memcpy(name, (char*)data+pos, nlen); pos += nlen; name[nlen]='\0'; update_item (tag, loc, name, weight, face, flags,0,0,-1); @@ -421,7 +421,7 @@ weight = GetInt_String(data+pos); pos+=4; face = GetInt_String(data+pos); pos+=4; nlen = data[pos++]; - strncpy(name, (char*)data+pos, nlen); + memcpy(name, (char*)data+pos, nlen); pos += nlen; name[nlen]='\0'; anim = GetShort_String(data+pos); pos+=2; @@ -456,7 +456,7 @@ /* Copy all of these so we can pass the values to update_item and * don't need to figure out which ones were modified by this function. */ - strcpy(name, ip->name); + *name='\0'; loc=ip->env?ip->env->tag:0; weight=ip->weight * 1000; face = ip->face; @@ -485,7 +485,7 @@ } if (sendflags & UPD_NAME) { nlen = data[pos++]; - strncpy(name, (char*)data+pos, nlen); + memcpy(name, (char*)data+pos, nlen); pos += nlen; name[nlen]='\0'; } Index: client/gx11.c diff -u client/gx11.c:1.5 client/gx11.c:1.6 --- client/gx11.c:1.5 Sat Jun 3 00:20:23 2000 +++ client/gx11.c Sun Aug 6 22:27:22 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_xio_c = - * "$Id: gx11.c,v 1.5 2000/06/03 07:20:23 cvs Exp $"; + * "$Id: gx11.c,v 1.6 2000/08/07 05:27:22 cvs Exp $"; * * This file handles all the windowing stuff. The idea is * that all of it is in one file, so to port to different systems @@ -2104,7 +2104,7 @@ strcpy (buffer[0]," "); - strcpy (buffer[1], tmp->name); + strcpy (buffer[1], tmp->d_name); if (l->show_icon == 0) strcat (buffer[1], tmp->flags); @@ -3444,7 +3444,7 @@ void open_container (item *op) { look_list.env = op; - sprintf (look_list.title, "%s:", op->name); + sprintf (look_list.title, "%s:", op->d_name); draw_list (&look_list); } Index: client/item.c diff -u client/item.c:1.2 client/item.c:1.3 --- client/item.c:1.2 Tue Apr 18 23:20:59 2000 +++ client/item.c Sun Aug 6 22:27:22 2000 @@ -101,10 +101,6 @@ for (itmp = it->env->inv; itmp!=NULL; itmp=itmp->next) { /* If the next item is higher in the order, insert here */ if (itmp->type >= it->type) { -#if 0 - fprintf(stderr,"Inserting object %s (%d) before %s (%d)\n", - it->name, it->type, itmp->name, itmp->type); -#endif /* If we have a previous object, update the list. If * not, we need to update the environment to point to us */ @@ -175,8 +171,9 @@ exit(0); op->next = op->prev = NULL; - copy_name (op->name, ""); - copy_name (op->o_name, ""); + copy_name (op->d_name, ""); + copy_name (op->s_name, ""); + copy_name (op->p_name, ""); op->inv = NULL; op->env = NULL; op->tag = 0; @@ -294,8 +291,9 @@ op->prev = NULL; op->env = NULL; op->tag = 0; - copy_name (op->name, ""); - copy_name (op->o_name, ""); + copy_name (op->d_name, ""); + copy_name (op->s_name, ""); + copy_name (op->p_name, ""); op->inv = NULL; op->env = NULL; op->tag = 0; @@ -342,7 +340,6 @@ tmp->next->prev = op; tmp->next = op; } -/* fprintf(stderr,"Added object %s to %s\n", op->name, env->name);*/ } /* @@ -463,30 +460,63 @@ return; } if (nrof<0) { - copy_name (op->name, name); + char *cp; + /* for s_name and p_name, we want to truncate the prefix (number + * or a/an), so that when it gets remade, it looks OK. + */ + copy_name (op->d_name, name); op->nrof = get_nrof(name); + cp = strchr(name, ' '); + if (cp) { + cp++; + copy_name (op->s_name, cp); + copy_name (op->p_name, cp); + } + else { + copy_name (op->s_name, name); + copy_name (op->p_name, name); + } } else { /* we have a nrof - item1 command */ - int need_new_name=0; - /* Program always expect at least 1 object internall */ if (nrof==0) nrof=1; - /* Little hack to force it to make a new name if nrof changes */ - if (nrof != op->nrof) need_new_name=1; - op->nrof = nrof; - /* Bunch of hacks here. First, the UpdItem command passes the - * same name to us, and nrof has been set by the first item command. - * So, if the name passed matches the name we used, don't - * recopy.. + if (*name!='\0') { + copy_name(op->s_name, name); + + /* Unfortunately, we don't get a length parameter, so we just have + * to assume that if it is a new server, it is giving us two piece + * names. + */ + if (csocket.sc_version>=1024) { + copy_name(op->p_name, name+strlen(name)+1); + } + else { /* If not new version, just use same for both */ + copy_name(op->p_name, name); + } + } + + /* Rather than try to get too clever on trying to figure out when + * to up d_name, just do it all the time. */ - if (strcmp(name, op->name)) { - copy_name (op->o_name, name); - sprintf(op->name,"%s %s", get_number(nrof), op->o_name); + if (op->nrof!=1) { + sprintf(op->d_name, "%s %s", get_number(nrof), op->p_name); + } else { + strcpy(op->d_name, op->s_name); +#if 0 +/* I don't think adding 'a' or 'an' to the name really adds much, and + * I think it actually detracts as it reduces the displayed name by that + * much, so I have disabled this for now. + */ + /* Deal with our a/an prefix properly */ + if (*op->s_name=='a' || *op->s_name=='e' || *op->s_name=='i' || + *op->s_name=='o' || *op->s_name=='u') + sprintf(op->d_name, "an %s", op->s_name); + else + sprintf(op->d_name, "a %s", op->s_name); +#endif } - else if (need_new_name) - sprintf(op->name,"%s %s", get_number(nrof), op->o_name); } if (op->env) op->env->inv_updated = 1; @@ -497,7 +527,7 @@ get_flags (op, flags); /* We don't sort the map, so lets not do this either */ if (op->env != map) - op->type =get_type_from_name(op->name); + op->type =get_type_from_name(op->s_name); update_item_sort(op); } @@ -546,9 +576,7 @@ return map; } -/* This makes debugging much easier. declare it static so it isn't - * multiple defined at the link stage. - */ +/* Upates an item with new attributes. */ void update_item(int tag, int loc, char *name, int weight, int face, int flags, int anim, int animspeed, int nrof) { @@ -558,7 +586,10 @@ * being updated. */ if (player->tag==tag) { - copy_name (player->name, name); + copy_name (player->d_name, name); + /* I don't think this makes sense, as you can have + * two players merged together, so nrof should always be one + */ player->nrof = get_nrof(name); player->weight = (float) weight / 1000; player->face = face; @@ -581,6 +612,7 @@ /* * Prints players inventory, contain extra information for debugging purposes + * This isn't pretty, but is only used for debugging, so it doesn't need to be. */ void print_inventory (item *op) { @@ -591,14 +623,14 @@ int info_width = get_info_width(); if (l == 0) { - sprintf (buf, "%s's inventory (%d):", op->name, op->tag); + sprintf (buf, "%s's inventory (%d):", op->d_name, op->tag); sprintf (buf2, "%-*s%6.1f kg", info_width - 10, buf, op->weight); draw_info (buf2,NDI_BLACK); } l += 2; for (tmp = op->inv; tmp; tmp=tmp->next) { - sprintf (buf, "%*s- %d %s%s (%d)", l - 2, "", tmp->nrof, tmp->name, + sprintf (buf, "%*s- %d %s%s (%d)", l - 2, "", tmp->nrof, tmp->d_name, tmp->flags, tmp->tag); sprintf (buf2, "%-*s%6.1f kg", info_width - 8 - l, buf, tmp->nrof*tmp->weight); draw_info (buf2,NDI_BLACK); Index: client/item.h diff -u client/item.h:1.1 client/item.h:1.2 --- client/item.h:1.1 Sun Mar 28 21:11:25 1999 +++ client/item.h Sun Aug 6 22:27:22 2000 @@ -30,13 +30,14 @@ struct item_struct *prev; /* previous item in inventory */ struct item_struct *env; /* which items inventory is this item */ struct item_struct *inv; /* items inventory */ - char name[NAME_LEN]; /* item's full name w/o status information */ + char d_name[NAME_LEN]; /* item's full name w/o status information */ + char s_name[NAME_LEN]; /* item's singular name as sent to us */ + char p_name[NAME_LEN]; /* item's plural name as sent to us */ char flags[NAME_LEN]; /* item's status information */ sint32 tag; /* item identifier (0 = free) */ sint32 nrof; /* number of items */ float weight; /* how much item weights */ sint16 face; /* index for face array */ - char o_name[NAME_LEN]; /* name as sent with item1 command */ uint16 animation_id; /* Index into animation array */ uint8 anim_speed; /* how often to animate */ uint8 anim_state; /* last face in sequence drawn */ Index: client/player.c diff -u client/player.c:1.4 client/player.c:1.5 --- client/player.c:1.4 Wed Jul 19 23:49:32 2000 +++ client/player.c Sun Aug 6 22:27:22 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_player_c = - * "$Id: player.c,v 1.4 2000/07/20 06:49:32 cvs Exp $"; + * "$Id: player.c,v 1.5 2000/08/07 05:27:22 cvs Exp $"; */ #include @@ -34,7 +34,7 @@ { cpl.ob->tag = tag; cpl.ob->nrof = 1; - copy_name (cpl.ob->name, name); + copy_name (cpl.ob->d_name, name); cpl.ob->weight = (float) weight / 1000; cpl.ob->face = face; } Index: client/x11.c diff -u client/x11.c:1.8 client/x11.c:1.9 --- client/x11.c:1.8 Tue Jun 20 21:45:47 2000 +++ client/x11.c Sun Aug 6 22:27:22 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_x11_c = - * "$Id: x11.c,v 1.8 2000/06/21 04:45:47 cvs Exp $"; + * "$Id: x11.c,v 1.9 2000/08/07 05:27:22 cvs Exp $"; */ /* Crossfire client, a client program for the crossfire program. @@ -1694,7 +1694,7 @@ } } /* draw name */ - strcpy (buf2, tmp->name); + strcpy (buf2, tmp->d_name); if (l->show_icon == 0) strcat (buf2, tmp->flags); @@ -1781,7 +1781,7 @@ void open_container (item *op) { look_list.env = op; - sprintf (look_list.title, "%s:", op->name); + sprintf (look_list.title, "%s:", op->d_name); draw_list (&look_list); } From mwedel at scruznet.com Mon Aug 7 00:28:34 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:29 2005 Subject: [CF-Devel] CVS update: crossfire Message-ID: <200008070528.WAA06880@boltzmann.eecs.berkeley.edu> Date: Sunday August 6, 2000 @ 22:28 Author: cvs Update of /home/cvs/CVS/crossfire In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv6873 Modified Files: CHANGES Log Message: Replace wrong date for last checking just done. MSW **************************************** Index: crossfire/CHANGES diff -u crossfire/CHANGES:1.118 crossfire/CHANGES:1.119 --- crossfire/CHANGES:1.118 Sun Aug 6 22:16:35 2000 +++ crossfire/CHANGES Sun Aug 6 22:28:34 2000 @@ -37,7 +37,7 @@ second option. It will also generate the singular name, but that is only used on sorting, so I don't think it will generally cause any problems. include/libproto.h: rebuilt because query_base_name has an addition opt. -Mark Wedel 8/13/2000 +Mark Wedel 8/6/2000 include/config.h, include/global.h, common/init.c, common/living.c, server/init.c, server/player.c, server/skill_util.c: Add permanent From bugs at real-time.com Mon Aug 7 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:29 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008070710.e777A2F14644@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From mwedel at scruznet.com Tue Aug 8 01:57:57 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:29 2005 Subject: [CF-Devel] CVS update: crossfire Message-ID: <200008080657.XAA11063@boltzmann.eecs.berkeley.edu> Date: Monday August 7, 2000 @ 23:57 Author: cvs Update of /home/cvs/CVS/crossfire In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv11058 Modified Files: CHANGES Log Message: Add/Remove some LOG calls: common/living.c: Remove log messages about gen_sp values on armor server/login.c, server/main.c: Add messages about player logins/logouts with IP address. Useful for tracking potentially troublesome players and where they are player from. MSW 8/7/2000 **************************************** Index: crossfire/CHANGES diff -u crossfire/CHANGES:1.119 crossfire/CHANGES:1.120 --- crossfire/CHANGES:1.119 Sun Aug 6 22:28:34 2000 +++ crossfire/CHANGES Mon Aug 7 23:57:56 2000 @@ -17,6 +17,12 @@ else. With this, include the file(s) that you changed. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +Add/Remove some LOG calls: +common/living.c: Remove log messages about gen_sp values on armor +server/login.c, server/main.c: Add messages about player logins/logouts with +IP address. Useful for tracking potentially troublesome players and where +they are player from. MSW 8/7/2000 + The following change basically does the following: When the server sends an item name to the client, this item name is now two pieces - the first piece of the name is its singular form, the second piece is the plural name. This From mwedel at scruznet.com Tue Aug 8 01:57:57 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:29 2005 Subject: [CF-Devel] CVS update: crossfire/common Message-ID: <200008080657.XAA11068@boltzmann.eecs.berkeley.edu> Date: Monday August 7, 2000 @ 23:57 Author: cvs Update of /home/cvs/CVS/crossfire/common In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv11058/common Modified Files: living.c Log Message: Add/Remove some LOG calls: common/living.c: Remove log messages about gen_sp values on armor server/login.c, server/main.c: Add messages about player logins/logouts with IP address. Useful for tracking potentially troublesome players and where they are player from. MSW 8/7/2000 **************************************** Index: crossfire/common/living.c diff -u crossfire/common/living.c:1.9 crossfire/common/living.c:1.10 --- crossfire/common/living.c:1.9 Tue Aug 1 23:04:50 2000 +++ crossfire/common/living.c Mon Aug 7 23:57:57 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_living_c = - * "$Id: living.c,v 1.9 2000/08/02 06:04:50 cvs Exp $"; + * "$Id: living.c,v 1.10 2000/08/08 06:57:57 cvs Exp $"; */ /* @@ -951,7 +951,9 @@ op->contr->gen_sp += tmp->stats.sp; op->contr->gen_grace += tmp->stats.grace; op->contr->gen_sp_armour += tmp->last_heal; +#if 0 if (tmp->last_heal) LOG(llevDebug,"Object %s applied, gen_sp_armour + %d = %d\n", tmp->name, tmp->last_heal, op->contr->gen_sp_armour); +#endif } } From mwedel at scruznet.com Tue Aug 8 01:57:57 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:29 2005 Subject: [CF-Devel] CVS update: crossfire/server Message-ID: <200008080657.XAA11073@boltzmann.eecs.berkeley.edu> Date: Monday August 7, 2000 @ 23:57 Author: cvs Update of /home/cvs/CVS/crossfire/server In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv11058/server Modified Files: login.c main.c Log Message: Add/Remove some LOG calls: common/living.c: Remove log messages about gen_sp values on armor server/login.c, server/main.c: Add messages about player logins/logouts with IP address. Useful for tracking potentially troublesome players and where they are player from. MSW 8/7/2000 **************************************** Index: crossfire/server/login.c diff -u crossfire/server/login.c:1.8 crossfire/server/login.c:1.9 --- crossfire/server/login.c:1.8 Tue Jun 27 21:23:09 2000 +++ crossfire/server/login.c Mon Aug 7 23:57:57 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_login_c = - * "$Id: login.c,v 1.8 2000/06/28 04:23:09 cvs Exp $"; + * "$Id: login.c,v 1.9 2000/08/08 06:57:57 cvs Exp $"; */ /* @@ -753,6 +753,8 @@ kill_player(op); if (pl->state != ST_PLAYING) return; } + LOG(llevInfo,"LOGIN: Player named %s from ip %s\n", op->name, + op->contr->socket.host); /* Do this after checking for death - no reason sucking up bandwidth if * the data isn't needed. Index: crossfire/server/main.c diff -u crossfire/server/main.c:1.11 crossfire/server/main.c:1.12 --- crossfire/server/main.c:1.11 Sat Jun 17 14:56:45 2000 +++ crossfire/server/main.c Mon Aug 7 23:57:57 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_main_c = - * "$Id: main.c,v 1.11 2000/06/17 21:56:45 cvs Exp $"; + * "$Id: main.c,v 1.12 2000/08/08 06:57:57 cvs Exp $"; */ /* @@ -788,6 +788,8 @@ * of the data. */ pl->socket.status=Ns_Dead; + LOG(llevInfo,"LOGOUT: Player named %s from ip %s\n", pl->ob->name, + pl->socket.host); (void) sprintf(buf,"%s left the game.",pl->ob->name); if (pl->ob->map) { From bugs at real-time.com Tue Aug 8 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:29 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008080710.e787A2J24552@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From mwedel at scruznet.com Wed Aug 9 00:31:51 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:29 2005 Subject: [CF-Devel] CVS update: crossfire/doc/spoiler-html Message-ID: <200008090531.WAA19759@boltzmann.eecs.berkeley.edu> Date: Tuesday August 8, 2000 @ 22:31 Author: cvs Update of /home/cvs/CVS/crossfire/doc/spoiler-html In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv19755 Modified Files: Makefile.in empty.pbm makeps.pl spoiler.html Log Message: doc/spoiler.html/(Makefile.in,empty.pbm, makeps.pl, spoiler.html): Modify to make gif images from png source instead of xpm images. A valid question to ask is why convert to gif at all and not just keep in PNG format. The answer right now is that png support in netscape at least still is not very good, and it displays gifs better. MSW 8/8/2000 **************************************** Index: crossfire/doc/spoiler-html/Makefile.in diff -u crossfire/doc/spoiler-html/Makefile.in:1.2 crossfire/doc/spoiler-html/Makefile.in:1.3 --- crossfire/doc/spoiler-html/Makefile.in:1.2 Sun Mar 19 20:05:25 2000 +++ crossfire/doc/spoiler-html/Makefile.in Tue Aug 8 22:31:50 2000 @@ -1,7 +1,7 @@ FILES = Makefile.in monster-extract spells-extract stats-extract arm-extract\ spoiler.html spoiler.shtml helm-extract mag-extract shield-extract \ - items-extract makeps makeps.pl empty.pbm bow-extract arche-extract\ + items-extract makeps.pl empty.pbm bow-extract arche-extract\ weap-extract HTML = monput.html spells.html stats.html weap.html shield.html helmet.html\ @@ -36,26 +36,26 @@ $(RM) *.gif touch .bmaps -items: .bmaps in_items makeps items.gif +items: .bmaps in_items makeps.pl items.gif makeps.pl libdir=$(CROSSRC)/lib archdir=$(CROSSRC)/lib/ size=0.4 input=in_items inarch=$(datadir)/archetypes > items in_items: items-extract $(datadir)/archetypes $(CROSSRC)/common/living.c $(AWK) -v living_c=$(CROSSRC)/common/living.c -f items-extract $(datadir)/archetypes > in_items -stats.html: .bmaps in_stats makeps stats.gif +stats.html: .bmaps in_stats makeps.pl stats.gif makeps.pl libdir=$(CROSSRC)/lib archdir=$(CROSSRC)/lib/ size=0.4 input=in_stats inarch=$(datadir)/archetypes > stats.html in_stats: stats-extract $(datadir)/archetypes $(CROSSRC)/common/living.c $(AWK) -v living_c=$(CROSSRC)/common/living.c -f stats-extract $(datadir)/archetypes > in_stats -monput.html: .bmaps in_monput makeps monsters.gif +monput.html: .bmaps in_monput makeps.pl monsters.gif makeps.pl libdir=$(CROSSRC)/lib archdir=$(CROSSRC)/lib/ size=0.4 input=in_monput inarch=$(datadir)/archetypes > monput.html in_monput: monster-extract $(CROSSBIN) $(datadir)/treasures $(datadir)/archetypes $(CROSSBIN) -m2 | sort -f | $(AWK) -F'|' -f monster-extract > in_monput -spells.html: .bmaps in_spells makeps spells.gif +spells.html: .bmaps in_spells makeps.pl spells.gif makeps.pl libdir=$(CROSSRC)/lib archdir=$(CROSSRC)/lib/ size=0.4 input=in_spells inarch=$(datadir)/archetypes > spells.html in_spells: spells-extract $(INCDIR)/spellist.h $(CROSSBIN) $(datadir)/archetypes Index: crossfire/doc/spoiler-html/empty.pbm Index: crossfire/doc/spoiler-html/makeps.pl diff -u crossfire/doc/spoiler-html/makeps.pl:1.2 crossfire/doc/spoiler-html/makeps.pl:1.3 --- crossfire/doc/spoiler-html/makeps.pl:1.2 Thu Apr 13 21:37:40 2000 +++ crossfire/doc/spoiler-html/makeps.pl Tue Aug 8 22:31:50 2000 @@ -18,6 +18,8 @@ $\ = "\n"; # set output record separator $size=0.4; +$IMAGE_SIZE=32; # Size of PNG images +$BG="\\#ab0945"; # Set colour to 1 if you want colour postscript. $colour = 1; @@ -25,12 +27,13 @@ # appropriately. IT looks much nicer if you can do it. $giftrans = 1; + if ($colour) { - $xpm2ps = 'xpmtoppm | pnmdepth 255 | ppmtogif'; + $png2ps = 'echo'; $ppm2ps = 'pnmdepth 255 | ppmtogif'; } else { - $xpm2ps = 'xpmtoppm | pnmdepth 255 | ppmtopgm | pnmtops'; + $png2ps = 'echo'; $ppm2ps = 'pnmdepth 255 | ppmtopgm | pnmtops'; } @@ -148,8 +151,9 @@ } } -system('rm -f work.pbm tmp.pbm'); +system('rm -f work.pbm tmp.pbm empty.pbm'); # clean up a little +system("pbmmake -white $IMAGE_SIZE $IMAGE_SIZE > empty.pbm"); # We've created a number of Postscript-files - now we need to # patch the filenames and sizes into the TeX-files. @@ -173,7 +177,7 @@ sub assemble { local($w, $h, $ppm, $buff, $i, $j, $bmap_file, $ps_file) = @_; - $bmap_file = $archdir.$bmap{$faces{0,0}}.".xpm"; + $bmap_file = $archdir.$bmap{$faces{0,0}}.".png"; $ps_file = $faces{0, 0} . '.gif'; $ps_file =~ s/[_ ]/-/g; @@ -181,12 +185,11 @@ $h = $ymax - $ymin + 1; if (! -e $ps_file) { if (($w == 1) && ($h == 1)) { + # Maybe ln -s instead? if ($giftrans) { - system("sed 's/[Nn]one/#fafbfc/g' < $bmap_file | $xpm2ps > tmp.gif"); - system("giftrans -t \\#fafbfc tmp.gif > $ps_file"); - } - else { - system("sed 's/[Nn]one/white/g' < $bmap_file | $xpm2ps > $ps_file"); + system("pngtopnm -mix -background $BG $bmap_file | ppmtogif | giftrans -t $BG $ppm > $ps_file"); + } else { + system("pngtopnm -mix -background $BG $bmap_file | ppmtogif > $ps_file"); } } else { @@ -207,26 +210,18 @@ for ($j = $ymin; $j <= $ymax; $j++) { print STDERR 'Processing ' . $bmap{$faces{$i, $j}}; - $valx = ($i - $xmin) * 24; - $valy = ($j - $ymin) * 24; - if ($giftrans) { - system("sed 's/[Nn]one/#fafbfc/g' < $archdir$bmap{$faces{$i,$j}}.xpm | xpmtoppm > tmp.ppm"); - } - else { - system("sed 's/[Nn]one/white/g' < $archdir$bmap{$faces{$i,$j}}.xpm | xpmtoppm > tmp.ppm"); - } + $valx = ($i - $xmin) * $IMAGE_SIZE; + $valy = ($j - $ymin) * $IMAGE_SIZE; +# print STDERR "pngtopnm -background #ABCD01239876 $archdir$bmap{$faces{$i,$j}}.png > tmp.ppm\n"; + system("pngtopnm -mix -background $BG $archdir$bmap{$faces{$i,$j}}.png > tmp.ppm"); system("pnmpaste tmp.ppm $valx $valy $ppm > tmp2.ppm"); rename("tmp2.ppm", $ppm); } } if ($giftrans) { - system("cat $ppm | $ppm2ps > tmp.gif"); - system("giftrans -t \\#fafbfc tmp.gif > $ps_file"); - } - else { - system("cat $ppm | $ppm2ps > $ps_file"); - - ; + system("ppmtogif $ppm | giftrans -t $BG > $ps_file"); + } else { + system("ppmtogif $ppm > $ps_file"); } } } Index: crossfire/doc/spoiler-html/spoiler.html diff -u crossfire/doc/spoiler-html/spoiler.html:1.2 crossfire/doc/spoiler-html/spoiler.html:1.3 --- crossfire/doc/spoiler-html/spoiler.html:1.2 Mon Mar 20 18:27:51 2000 +++ crossfire/doc/spoiler-html/spoiler.html Tue Aug 8 22:31:50 2000 @@ -7,7 +7,7 @@

Crossfire Spoiler

-Crossfire v0.95.5 +Crossfire v0.95.6
@@ -113,9 +113,9 @@ - + @@ -234,7 +234,7 @@ - + @@ -266,7 +266,7 @@ - + @@ -298,7 +298,7 @@ - +
NameDamSpeedWeight
Magnifying glass 1 2.002.0
Harakiri sword 30 6.005.0
Dagger of fortune 2 5.002.0
Unknown Sword 40 6.00111.0
Harakiri sword 30 6.005.0
Axe 7 10.009.0
Axe 6 10.006.0
Axe 8 10.0012.0
Mjøllnir +3 108.00Strength +1
Attacks: electricity
Protected: electricity
Mournblade +4 98.00Strength +1, spell-point regeneration +1
Attacks: drain, weaponmagic
Protected: magical
Immune: drain
Skullcleaver +3 2011.00Attacks: physical
Skull-slaying
Staff of the Magi +5 200.00Intelligence +1, power +2, spell-point regeneration +2
Attacks: physical, weaponmagic
Protected: magical
Staff of the Magi +5 200.00Intelligence +1, power +1, spell-point regeneration +2
Attacks: physical, weaponmagic
Protected: magical
Sting +3 56.00Attacks: physical
Troll-slaying
Stormbringer +4 98.00Strength +1, hit-point regeneration +1
Attacks: electricity, drain
Protected: magical, electricity
Immune: drain
Unicorn horn +3 99.00
Dress 004.50.80Charisma +1
Gale Armour 44010.05.00Dexterity +2
Protected: electricity
Leather armour 3520.01.30
Midnight Robe +5 505.01.20Dexterity +1, intelligence +2, power +2, reflect spells
Protected: magical, fire, cold, drain, slow, paralyze
Immune: acid
Vulnerable: ghosthit, depletion
Midnight Robe +5 505.01.20Dexterity +1, intelligence +2, wisdom +2, reflect spells
Protected: magical, fire, cold, drain, slow, paralyze
Immune: acid
Vulnerable: ghosthit, depletion
Mithril chainmail 42515.01.80
Mithril chainmail of lightning +3 44015.02.70Charisma +1, strength +1, speed +1
Protected: electricity
Plate mail 540100.00.70
Kabuto of Geisya 3102.0Wisdom +1, charisma +2, intelligence +1
Turban 010.5
Wig 000.5Charisma +1
Wizard Hat 101.0Intelligence +1, power +1, spell-point regeneration +5
Protected: fire, cold, drain, slow, paralyze
Wizard Hat 101.0Intelligence +2, spell-point regeneration +4
Protected: fire, cold, drain, slow, paralyze

@@ -774,7 +774,7 @@ Demon Lord 900003000-11Fast movement, see invisible, spellcaster, Spell abilities, hellfire, fear, lightning spells, magic missile spell, paralyze spells, Attacks, physical, fire, Immune, fire, cold, fear, Protected, magical -Devourers 1 350-12Very fast movement, infravision, undead, wield weapon, wear armour, spellcaster, Attacks, drain, depletion, death, Immune, drain, fear, depletion, death, Protected, drain, fear, depletion, death, Vulnerable, fire, Attuned, Death, Repelled, Protection, Abjuration, Denied, Fire, Restoration, Turning, Light +Devourers 1 350-12Very fast movement, infravision, undead, wield weapon, wear armour, spellcaster, Attacks, drain, depletion, death, Immune, drain, fear, depletion, death, Protected, drain, fear, depletion, death, Vulnerable, fire, Attuned, Death, Repelled, Protection, Abjuration, Denied, Fire, Restoration, Turning, Light Dog 30 10 4Fast movement @@ -830,7 +830,7 @@ Fly ant 20 1 10Fast movement, levitate -Gaea 11000 -5Normal movement, armour+50, slay undead, chess, unnatural, wear armour, spellcaster, Attacks, fear, Immune, drain, depletion, death, Protected, drain, depletion, death, Vulnerable, fear, Attuned, Summoning, Abjuration, Restoration, Creation, Light, Repelled, Fire, Frost, Electricity, Missiles, Denied, Wounding, Death +Gaea 11000 -5Normal movement, armour+50, slay undead, chess, unnatural, wear armour, spellcaster, Attacks, fear, Immune, drain, depletion, death, Protected, drain, depletion, death, Vulnerable, fear, Attuned, Summoning, Abjuration, Restoration, Creation, Light, Repelled, Fire, Frost, Electricity, Missiles, Denied, Wounding, Death Gaelotroll 700003000-15Fast movement, infravision, wield weapon, skill user, Attacks, physical, acid, Protected, physical, fear, Vulnerable, fire @@ -846,7 +846,7 @@ Giant cobra 150 30 -2Slow movement, Attacks, physical, poison -Gnarg 11000 -5Fast movement, armour+40, slay faerie, dwarf, wield weapon, wear armour, spellcaster, Attacks, poison, Immune, poison, Protected, poison, Vulnerable, fear, Attuned, Missiles, Wounding, Repelled, Restoration, Turning +Gnarg 11000 -5Fast movement, armour+40, slay faerie, dwarf, wield weapon, wear armour, spellcaster, Attacks, poison, Immune, poison, Protected, poison, Vulnerable, fear, Attuned, Missiles, Wounding, Repelled, Restoration, Turning Gnoll 30 8 13Slow movement, skill user @@ -856,7 +856,7 @@ Golem of Necromancer10000010000-40Very fast movement, see invisible, wield weapon, archer, wear armour, wear ring, read scroll, fire wand, use rod, spellcaster, Spell abilities, paralyze spells, fear, fear, lightning spells, lightning spells, slow spell, Immune, electricity, fear, Protected, magical -Gorokh 1 350 -5Fast movement, armour+50, slay angel, wield weapon, wear armour, spellcaster, Attacks, fear, Immune, confusion, fear, Protected, confusion, fear, Attuned, Wounding, Death, Denied, Protection, Mind +Gorokh 1 350 -5Fast movement, armour+50, slay angel, wield weapon, wear armour, spellcaster, Attacks, fear, Immune, confusion, fear, Protected, confusion, fear, Attuned, Wounding, Death, Denied, Protection, Mind Greater Demon 1500008000-11Fast movement, infravision, see invisible, wield weapon, archer, wear armour, wear ring, read scroll, fire wand, use rod, skill user, spellcaster, Spell abilities, paralyze spells, fear, fire, summon fire, Attacks, physical, fire, poison, Immune, fire, confusion, poison, Protected, magical, god power, holy power @@ -918,7 +918,7 @@ Lord Eureca (commanded by Ghothwolte) 1000010000-50Lightning fast movement, armour+50, undead, archer, wear ring, read scroll, fire wand, skill user, Attacks, magical, fire, electricity, cold, Immune, fire, electricity, cold, Vulnerable, confusion, slow, paralyze -Lythander 1 350 -7Fast movement, armour+50, luck+2, stealth, slay goblin, troll, wield weapon, wear armour, spellcaster, Attacks, confusion, Immune, confusion, Protected, confusion, Vulnerable, confusion, Attuned, Turning, Repelled, Missiles, Wounding +Lythander 1 350 -7Fast movement, armour+50, luck+2, stealth, slay goblin, troll, wield weapon, wear armour, spellcaster, Attacks, confusion, Immune, confusion, Protected, confusion, Vulnerable, confusion, Attuned, Turning, Repelled, Missiles, Wounding Mabu suke 1500 250 1Slow movement, wield weapon, skill user, Protected, electricity @@ -938,7 +938,7 @@ Minor djinn 700002500-15Very fast movement, see invisible, wield weapon, wear armour, wear ring, read scroll, fire wand, use rod, use horn, spellcaster, Spell abilities, paralyze spells, fear, major healing, make dance, lightning spells, ice, summon fire, summon earth, slow spell, Attacks, physical, magical, Immune, confusion, acid, ghosthit, poison, fear, Protected, physical, magical, fire, electricity, cold, Vulnerable, drain, weaponmagic, chaos -Mostrai 1 350-10Fast movement, armour+75, slay goblin, giant, wield weapon, wear armour, spellcaster, Attacks, weaponmagic, Protected, fire, Attuned, Creation, Transmutation, Repelled, Summoning +Mostrai 1 350-10Fast movement, armour+75, slay goblin, giant, wield weapon, wear armour, spellcaster, Attacks, weaponmagic, Protected, fire, Attuned, Creation, Transmutation, Repelled, Summoning Mouse 5 1 7Slow movement @@ -994,7 +994,7 @@ Royal Guard 1500 250 0Slow movement, armour+75, reflect spells, reflect missiles, see invisible, spellcaster, unaggressive, Immune, magical -Ruggilli 1 800 -5Extremely fast movement, armour+20, reflect missiles, wield weapon, spellcaster, Attacks, physical, fire, Immune, fire, Protected, physical, magical, fire, Vulnerable, cold, Attuned, Fire, Wounding, Repelled, Frost, Restoration, Creation, Information, Denied, Protection, Mind, Transmutation, Turning +Ruggilli 1 800 -5Extremely fast movement, armour+20, reflect missiles, wield weapon, spellcaster, Attacks, physical, fire, Immune, fire, Protected, physical, magical, fire, Vulnerable, cold, Attuned, Fire, Wounding, Repelled, Frost, Restoration, Creation, Information, Denied, Protection, Mind, Transmutation, Turning Rustmonster 300 100-10Extremely fast movement, hitback, Attacks, acid, Vulnerable, fire @@ -1038,7 +1038,7 @@ Snake 50 10 5Slow movement, Attacks, physical, poison, Immune, poison -Sorig 1 300 -5Very fast movement, armour+40, wield weapon, wear armour, spellcaster, Attacks, electricity, Immune, electricity, Protected, electricity, Attuned, Electricity, Missiles, Wounding, Repelled, Restoration, Denied, Protection, Mind, Turning +Sorig 1 300 -5Very fast movement, armour+40, wield weapon, wear armour, spellcaster, Attacks, electricity, Immune, electricity, Protected, electricity, Attuned, Electricity, Missiles, Wounding, Repelled, Restoration, Denied, Protection, Mind, Turning Spectre 100000 500 -5Slow movement, undead, see invisible, wear ring, read scroll, fire wand, spellcaster, Attacks, physical, cold, Protected, physical, magical @@ -1070,7 +1070,7 @@ Unusual kobold 500010000-100Very fast movement, armour+100, Vulnerable, cold -Valriel 1 350 -7Fast movement, armour+50, slay demon, wield weapon, wear armour, spellcaster, Attacks, fear, Immune, confusion, fear, Protected, confusion, fear, Attuned, Protection, Mind, Denied, Wounding, Death +Valriel 1 350 -7Fast movement, armour+50, slay demon, wield weapon, wear armour, spellcaster, Attacks, fear, Immune, confusion, fear, Protected, confusion, fear, Attuned, Protection, Mind, Denied, Wounding, Death Vampire 2000 150 0Very fast movement, infravision, undead, wield weapon, wear armour, wear ring, read scroll, fire wand, use rod, spellcaster, Spell abilities, fear, fear, fear, slow spell, paralyze spells, Immune, physical, electricity From mwedel at scruznet.com Wed Aug 9 00:36:05 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:29 2005 Subject: [CF-Devel] CVS update: crossfire Message-ID: <200008090536.WAA19819@boltzmann.eecs.berkeley.edu> Date: Tuesday August 8, 2000 @ 22:36 Author: cvs Update of /home/cvs/CVS/crossfire In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv19814 Modified Files: CHANGES Log Message: doc/spoiler.html/(Makefile.in,empty.pbm, makeps.pl, spoiler.html): Modify to make gif images from png source instead of xpm images. A valid question to ask is why convert to gif at all and not just keep in PNG format. The answer right now is that png support in netscape at least still is not very good, and it displays gifs better. MSW 8/8/2000 **************************************** Index: crossfire/CHANGES diff -u crossfire/CHANGES:1.120 crossfire/CHANGES:1.121 --- crossfire/CHANGES:1.120 Mon Aug 7 23:57:56 2000 +++ crossfire/CHANGES Tue Aug 8 22:36:05 2000 @@ -17,6 +17,12 @@ else. With this, include the file(s) that you changed. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +doc/spoiler.html/(Makefile.in,empty.pbm, makeps.pl, spoiler.html): Modify +to make gif images from png source instead of xpm images. A valid question +to ask is why convert to gif at all and not just keep in PNG format. The +answer right now is that png support in netscape at least still is not very +good, and it displays gifs better. MSW 8/8/2000 + Add/Remove some LOG calls: common/living.c: Remove log messages about gen_sp values on armor server/login.c, server/main.c: Add messages about player logins/logouts with From bugs at real-time.com Wed Aug 9 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:29 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008090710.e797A2701461@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Thu Aug 10 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:29 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008100710.e7A7A2m11194@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From mwedel at scruznet.com Thu Aug 10 22:57:09 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:29 2005 Subject: [CF-Devel] CVS update: client Message-ID: <200008110357.UAA01674@boltzmann.eecs.berkeley.edu> Date: Thursday August 10, 2000 @ 20:57 Author: cvs Update of /home/cvs/CVS/client In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv1670 Modified Files: cfsndserv.c CHANGES Log Message: cfsndserv.c: Make some changes so that sound on ultrasparc systems is played properly. Missing FD_SET call to re-add the soundfd, as well as a missing wrap check for first_free_buffer. MSW 8/10/2000 **************************************** Index: client/cfsndserv.c diff -u client/cfsndserv.c:1.2 client/cfsndserv.c:1.3 --- client/cfsndserv.c:1.2 Thu Apr 20 23:47:42 2000 +++ client/cfsndserv.c Thu Aug 10 20:57:09 2000 @@ -791,6 +791,7 @@ (first_free_buffer >= current_buffer)) first_free_buffer = buf+1; } + if (first_free_buffer >= settings.buffers) first_free_buffer=0; } int SoundCmd(unsigned char *data, int len) @@ -925,6 +926,11 @@ if (current_buffer>=settings.buffers) current_buffer=0; } } + } else { + /* We need to reset this if it is not set - otherwise, we will never + * finish playing the sounds + */ + FD_SET(soundfd,&outset); } if (FD_ISSET(infd,&inset)){ int err=read(infd,inbuf+inbuf_pos,1); Index: client/CHANGES diff -u client/CHANGES:1.18 client/CHANGES:1.19 --- client/CHANGES:1.18 Sun Aug 6 22:27:22 2000 +++ client/CHANGES Thu Aug 10 20:57:09 2000 @@ -1,5 +1,9 @@ -"$Id: CHANGES,v 1.18 2000/08/07 05:27:22 cvs Exp $" +"$Id: CHANGES,v 1.19 2000/08/11 03:57:09 cvs Exp $" Top of CVS tree: + +cfsndserv.c: Make some changes so that sound on ultrasparc systems is played +properly. Missing FD_SET call to re-add the soundfd, as well as a missing +wrap check for first_free_buffer. MSW 8/10/2000 The following matches a change made to the server which includes two piece item names to make the item names in the client appear more perfect. From bugs at real-time.com Fri Aug 11 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:30 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008110710.e7B7A2420990@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Sat Aug 12 02:10:01 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:30 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008120710.e7C7A1q30181@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Sat Aug 12 02:10:01 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:30 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008120710.e7C7A1q30181@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Sun Aug 13 02:10:01 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:30 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008130710.e7D7A1E05055@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From mwedel at scruznet.com Sun Aug 13 23:42:35 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:30 2005 Subject: [CF-Devel] CVS update: client Message-ID: <200008140442.VAA25440@boltzmann.eecs.berkeley.edu> Date: Sunday August 13, 2000 @ 21:42 Author: cvs Update of /home/cvs/CVS/client In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv25435 Modified Files: config.h config.h.in configure configure.in gx11.c x11.c xutil.c CHANGES Added Files: png.c Log Message: The following change removes imlib as are png loading/rendering library - instead, we use our own local function located in png.c. libpng is still needed, but it removes the dependancy on imlib. Also, my home spun function renders all the png images crossfire uses correctly, while imlib had several it did not do properly. MSW 8/13/2000 Files affected: config.h, config.h.in: Change HAVE_IMLIB_H to HAVE_LIBPNG configure, configure.in: Change check from imlib to libpng. gx11.c,x11.c,xutil.c: Changed to use our functions and not imlib. png.c: new file that has our png support in it. **************************************** Index: client/config.h diff -u client/config.h:1.3 client/config.h:1.4 --- client/config.h:1.3 Sat Jun 3 00:20:23 2000 +++ client/config.h Sun Aug 13 21:42:35 2000 @@ -52,5 +52,6 @@ /* Define/not defined depending on the endianness of this system */ /* #undef WORDS_BIGENDIAN */ -/* Define/not defined depending on the endianness of this system */ -#define HAVE_IMLIB_H 1 +/* Define if you have the header file. */ +#define HAVE_LIBPNG 1 + Index: client/config.h.in diff -u client/config.h.in:1.3 client/config.h.in:1.4 --- client/config.h.in:1.3 Sat Jun 3 00:20:23 2000 +++ client/config.h.in Sun Aug 13 21:42:35 2000 @@ -51,5 +51,6 @@ /* Define/not defined depending on the endianness of this system */ #undef WORDS_BIGENDIAN -/* Define/not defined depending on the endianness of this system */ -#undef HAVE_IMLIB_H +/* Define if you have the header file. */ +#undef HAVE_LIBPNG + Index: client/configure diff -u client/configure:1.6 client/configure:1.7 --- client/configure:1.6 Tue Jun 20 21:45:47 2000 +++ client/configure Sun Aug 13 21:42:35 2000 @@ -3186,45 +3186,9 @@ fi -echo $ac_n "checking for main in -lgdk_imlib""... $ac_c" 1>&6 -echo "configure:3191: checking for main in -lgdk_imlib" >&5 -ac_lib_var=`echo gdk_imlib'_'main | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lgdk_imlib $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - GTK_LIBS="$GTK_LIBS -lgdk_imlib" -else - echo "$ac_t""no" 1>&6 -fi - echo $ac_n "checking for main in -lXext""... $ac_c" 1>&6 -echo "configure:3228: checking for main in -lXext" >&5 +echo "configure:3192: checking for main in -lXext" >&5 ac_lib_var=`echo Xext'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3232,14 +3196,14 @@ ac_save_LIBS="$LIBS" LIBS="-lXext $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3259,24 +3223,30 @@ echo "$ac_t""no" 1>&6 fi + + +CPPFLAGS="$gcfc_save_CPPFLAGS" +LIBS="$gcfc_save_LIBS" + + -echo $ac_n "checking for main in -lImlib""... $ac_c" 1>&6 -echo "configure:3265: checking for main in -lImlib" >&5 -ac_lib_var=`echo Imlib'_'main | sed 'y%./+-%__p_%'` +echo $ac_n "checking for main in -lpng""... $ac_c" 1>&6 +echo "configure:3235: checking for main in -lpng" >&5 +ac_lib_var=`echo png'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-lImlib $LIBS" +LIBS="-lpng $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3291,19 +3261,21 @@ fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - X_LIBS="$X_LIBS -lImlib" + ac_tr_lib=HAVE_LIB`echo png | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <&6 fi -CPPFLAGS="$gcfc_save_CPPFLAGS" -LIBS="$gcfc_save_LIBS" - - - echo $ac_n "checking for main in -ldmalloc""... $ac_c" 1>&6 -echo "configure:3307: checking for main in -ldmalloc" >&5 +echo "configure:3279: checking for main in -ldmalloc" >&5 ac_lib_var=`echo dmalloc'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3311,14 +3283,14 @@ ac_save_LIBS="$LIBS" LIBS="-ldmalloc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3294: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3347,7 +3319,7 @@ echo $ac_n "checking for sqrt in -lm""... $ac_c" 1>&6 -echo "configure:3351: checking for sqrt in -lm" >&5 +echo "configure:3323: checking for sqrt in -lm" >&5 ac_lib_var=`echo m'_'sqrt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3355,7 +3327,7 @@ ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3396,12 +3368,12 @@ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:3400: checking for ANSI C header files" >&5 +echo "configure:3372: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -3409,7 +3381,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3413: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3385: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3426,7 +3398,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3444,7 +3416,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3465,7 +3437,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -3476,7 +3448,7 @@ exit (0); } EOF -if { (eval echo configure:3480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -3499,21 +3471,21 @@ fi -for ac_hdr in fcntl.h sys/ioctl.h sys/time.h unistd.h string.h sys/select.h Imlib.h +for ac_hdr in fcntl.h sys/ioctl.h sys/time.h unistd.h string.h sys/select.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3507: checking for $ac_hdr" >&5 +echo "configure:3479: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3517: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3489: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3541,12 +3513,12 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:3545: checking for working const" >&5 +echo "configure:3517: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3571: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -3616,12 +3588,12 @@ fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:3620: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:3592: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -3630,7 +3602,7 @@ struct tm *tp; ; return 0; } EOF -if { (eval echo configure:3634: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -3653,13 +3625,13 @@ if test $ac_cv_prog_gcc = yes; then echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6 -echo "configure:3657: checking whether ${CC-cc} needs -traditional" >&5 +echo "configure:3629: checking whether ${CC-cc} needs -traditional" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_pattern="Autoconf.*'x'" cat > conftest.$ac_ext < Autoconf TIOCGETP @@ -3677,7 +3649,7 @@ if test $ac_cv_prog_gcc_traditional = no; then cat > conftest.$ac_ext < Autoconf TCGETA @@ -3699,12 +3671,12 @@ fi echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:3703: checking for vprintf" >&5 +echo "configure:3675: checking for vprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else @@ -3751,12 +3723,12 @@ if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:3755: checking for _doprnt" >&5 +echo "configure:3727: checking for _doprnt" >&5 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else @@ -3806,12 +3778,12 @@ for ac_func in mkdir socket strcspn sysconf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3810: checking for $ac_func" >&5 +echo "configure:3782: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else Index: client/configure.in diff -u client/configure.in:1.6 client/configure.in:1.7 --- client/configure.in:1.6 Tue Jun 20 21:45:47 2000 +++ client/configure.in Sun Aug 13 21:42:35 2000 @@ -246,12 +246,12 @@ fi dnl Put this here so we get the gdk libs -AC_CHECK_LIB(gdk_imlib, main,GTK_LIBS="$GTK_LIBS -lgdk_imlib") +dnl AC_CHECK_LIB(gdk_imlib, main,GTK_LIBS="$GTK_LIBS -lgdk_imlib") dnl Need to check for Xext while we still have X_LIBS set. AC_CHECK_LIB(Xext, main, X_LIBS="$X_LIBS -lXext") -AC_CHECK_LIB(Imlib, main, X_LIBS="$X_LIBS -lImlib") +dnl AC_CHECK_LIB(Imlib, main, X_LIBS="$X_LIBS -lImlib") dnl Restore previous CPPFLAGS and LIBS. CPPFLAGS="$gcfc_save_CPPFLAGS" @@ -259,6 +259,8 @@ AC_SUBST(LIBS) +AC_CHECK_LIB(png, main) + dnl not strictly needed, but since the X11 client uses it, lets use it here AC_CHECK_LIB(dmalloc, main) @@ -268,7 +270,7 @@ dnl Checks for header files. AC_HEADER_STDC -AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/time.h unistd.h string.h sys/select.h Imlib.h) +AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/time.h unistd.h string.h sys/select.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST Index: client/gx11.c diff -u client/gx11.c:1.6 client/gx11.c:1.7 --- client/gx11.c:1.6 Sun Aug 6 22:27:22 2000 +++ client/gx11.c Sun Aug 13 21:42:35 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_xio_c = - * "$Id: gx11.c,v 1.6 2000/08/07 05:27:22 cvs Exp $"; + * "$Id: gx11.c,v 1.7 2000/08/14 04:42:35 cvs Exp $"; * * This file handles all the windowing stuff. The idea is * that all of it is in one file, so to port to different systems @@ -105,8 +105,9 @@ #include #include -#ifdef HAVE_IMLIB_H -#include +#ifdef HAVE_LIBPNG +#define PNG_GDK +#include "png.c" #endif static int image_size=24; @@ -306,12 +307,9 @@ }; struct PixmapInfo { - Pixmap pixmap,mask; - Pixmap bitmap; long fg,bg; GdkPixmap *gdkpixmap; GdkBitmap *gdkmask; - GdkPixmap *gdkbitmap; }; struct GtkMap { @@ -1285,9 +1283,11 @@ } } else if (display_mode == Png_Display) { -#ifdef HAVE_IMLIB_H - if (gdk_imlib_load_file_to_pixmap(buf, &pixmaps[pnum].gdkpixmap, &pixmaps[pnum].gdkmask)==0) { - fprintf(stderr,"Got error on Imlib_load_file_to_pixmap\n"); +#ifdef HAVE_LIBPNG + + if (png_to_gdkpixmap(gtkwin_root->window, buf, &pixmaps[pnum].gdkpixmap, + &pixmaps[pnum].gdkmask,gtk_widget_get_colormap(gtkwin_root))) { + fprintf(stderr,"Got error on png_to_gdkpixmap\n"); requestface(pnum, face, buf); } #endif @@ -1970,7 +1970,6 @@ static int get_game_display(GtkWidget *frame) { - /*#include "pixmaps/bg.xpm"*/ GtkWidget *gtvbox, *gthbox; gtvbox = gtk_vbox_new (FALSE, 0); @@ -3405,18 +3404,6 @@ ****************************************************************************/ -/*#define draw_status_icon(l,x,y,face) \ -do { \ - XClearArea(display, l->win, x, y, 24, 6, False); \ - if (face) { \ - XSetClipMask(display, l->gc_status, icons[face].mask), \ - XSetClipOrigin(display, l->gc_status, x, y), \ - XCopyArea(display, icons[face].pixmap, l->win, l->gc_status, \ - 0, 0, 24, 6, x, y); \ - } \ -} while (0) -*/ - /* * draw_all_list clears a window and after that draws all objects * and a scrollbar @@ -6234,7 +6221,7 @@ #ifdef Xpm_Pix puts("-xpm - Use color pixmaps (XPM) for display."); #endif -#ifdef HAVE_IMLIB_H +#ifdef HAVE_LIBPNG puts("-png - Use png images for display."); #endif puts("-showicon - Print status icons in inventory window"); @@ -6305,7 +6292,7 @@ #endif } if (!strcmp(argv[on_arg],"-png")) { -#ifdef HAVE_IMLIB_H +#ifdef HAVE_LIBPNG display_mode = Png_Display; image_size=32; continue; @@ -6384,11 +6371,6 @@ init_keys(); if (cache_images) init_cache_data(); destroy_splash(); -#ifdef HAVE_IMLIB_H - if (display_mode == Png_Display) { - gdk_imlib_init(); - } -#endif return 0; } @@ -6519,7 +6501,7 @@ */ void display_newpng(long face,char *buf,long buflen) { -#ifdef HAVE_IMLIB_H +#ifdef HAVE_LIBPNG char *filename; FILE *tmpfile; @@ -6540,8 +6522,10 @@ fclose(tmpfile); } - if (gdk_imlib_load_file_to_pixmap(filename, &pixmaps[face].gdkpixmap, &pixmaps[face].gdkmask)==0) { - fprintf(stderr,"Got error on Imlib_load_file_to_pixmap\n"); + if (png_to_gdkpixmap(gtkwin_root->window, filename, + &pixmaps[face].gdkpixmap, &pixmaps[face].gdkmask, + gtk_widget_get_colormap(gtkwin_root))) { + fprintf(stderr,"Got error on png_to_gdkpixmap\n"); } if (cache_images) { Index: client/x11.c diff -u client/x11.c:1.9 client/x11.c:1.10 --- client/x11.c:1.9 Sun Aug 6 22:27:22 2000 +++ client/x11.c Sun Aug 13 21:42:35 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_x11_c = - * "$Id: x11.c,v 1.9 2000/08/07 05:27:22 cvs Exp $"; + * "$Id: x11.c,v 1.10 2000/08/14 04:42:35 cvs Exp $"; */ /* Crossfire client, a client program for the crossfire program. @@ -306,11 +306,10 @@ /* info win */ #define INFOCHARS 50 -#ifdef HAVE_IMLIB_H -#include -static ImlibData *id; -#endif +#if defined(HAVE_LIBPNG) && !defined(__CEXTRACT__) +#include +#endif #include /* This is the loop that the client goes through once all the @@ -324,6 +323,7 @@ */ extern int maxfd; + void event_loop() { fd_set tmp_read, tmp_exceptions; @@ -2604,7 +2604,7 @@ #ifdef HAVE_LIBXPM puts("-xpm - Use color pixmaps (XPM) for display."); #endif -#ifdef HAVE_IMLIB_H +#ifdef HAVE_LIBPNG puts("-png - Use png images for display."); #endif puts("-showicon - Print status icons in inventory window"); @@ -2678,7 +2678,7 @@ #endif } if (!strcmp(argv[on_arg],"-png")) { -#ifdef HAVE_IMLIB_H +#ifdef HAVE_LIBPNG display_mode = Png_Display; image_size=32; continue; @@ -2762,11 +2762,6 @@ if (cache_images) init_cache_data(); set_window_pos(); info_ratio=(float) infodata.width/ (float) (infodata.width + INV_WIDTH); -#ifdef HAVE_IMLIB_H - if (display_mode == Png_Display) { - id=Imlib_init(display); - } -#endif return 0; } @@ -2891,11 +2886,12 @@ */ void display_newpng(long face,char *buf,long buflen) { -#ifdef HAVE_IMLIB_H +#ifdef HAVE_LIBPNG char *filename; FILE *tmpfile; Pixmap pixmap, mask; + unsigned long w,h; if (cache_images) { if (facetoname[face]==NULL) { @@ -2913,7 +2909,8 @@ fclose(tmpfile); } - if (Imlib_load_file_to_pixmap(id, filename, &pixmap, &mask)==0) { + if (png_to_xpixmap(display, win_game, filename, &pixmap, &mask, + colormap, &w, &h)) { fprintf(stderr,"Got error on Imlib_load_file_to_pixmap\n"); } Index: client/xutil.c diff -u client/xutil.c:1.7 client/xutil.c:1.8 --- client/xutil.c:1.7 Sat Jun 3 00:20:24 2000 +++ client/xutil.c Sun Aug 13 21:42:35 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_xio_c = - * "$Id: xutil.c,v 1.7 2000/06/03 07:20:24 cvs Exp $"; + * "$Id: xutil.c,v 1.8 2000/08/14 04:42:35 cvs Exp $"; * * This contains varous 'support' functions. These functions will probably * go mostly unaltered between different toolkits, as long as X11 is still @@ -156,11 +156,13 @@ /* fprintf(stderr,"Successfully loaded %s (%d) from cache\n", buf, pnum);*/ } } else if (display_mode==Png_Display) { -#ifdef HAVE_IMLIB_H +#ifdef HAVE_LIBPNG Pixmap pixmap, mask; + unsigned long w, h; /* Fail on this read, we will request a new copy */ - if (Imlib_load_file_to_pixmap(id, buf, &pixmap, &mask)==0) { + if (png_to_xpixmap(display, win_game, buf, + &pixmap, &mask, colormap, &w, &h)) { requestface(pnum, face, buf); } else { pixmaps[pnum].pixmap = pixmap; Index: client/CHANGES diff -u client/CHANGES:1.19 client/CHANGES:1.20 --- client/CHANGES:1.19 Thu Aug 10 20:57:09 2000 +++ client/CHANGES Sun Aug 13 21:42:35 2000 @@ -1,5 +1,16 @@ -"$Id: CHANGES,v 1.19 2000/08/11 03:57:09 cvs Exp $" +"$Id: CHANGES,v 1.20 2000/08/14 04:42:35 cvs Exp $" Top of CVS tree: + +The following change removes imlib as are png loading/rendering library - +instead, we use our own local function located in png.c. libpng is +still needed, but it removes the dependancy on imlib. Also, my home +spun function renders all the png images crossfire uses correctly, while +imlib had several it did not do properly. MSW 8/13/2000 +Files affected: +config.h, config.h.in: Change HAVE_IMLIB_H to HAVE_LIBPNG +configure, configure.in: Change check from imlib to libpng. +gx11.c,x11.c,xutil.c: Changed to use our functions and not imlib. +png.c: new file that has our png support in it. cfsndserv.c: Make some changes so that sound on ultrasparc systems is played properly. Missing FD_SET call to re-add the soundfd, as well as a missing From bugs at real-time.com Mon Aug 14 02:10:01 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:30 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008140710.e7E7A1C23341@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Tue Aug 15 02:10:01 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:30 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008150710.e7F7A1c10238@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Wed Aug 16 02:10:01 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:30 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008160710.e7G7A1r31144@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Thu Aug 17 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:30 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008170710.e7H7A2218424@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Fri Aug 18 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:30 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008180710.e7I7A2O05732@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Sat Aug 19 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:30 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008190710.e7J7A2G25045@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Sun Aug 20 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:30 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008200710.e7K7A2Y10830@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From andi.vogl at gmx.net Wed Aug 23 10:59:46 2000 From: andi.vogl at gmx.net (Andreas Vogl) Date: Thu Jan 13 17:57:30 2005 Subject: [CF-Devel] I want to be poisoned and blinded! :-) Message-ID: <9891.967046386@www18.gmx.net> Hi everybody, (Sorry this mail is a bit long...) I?ve noticed that a character at high overall level (like 110) never gets hit by any special-effect attacktypes like poison, paralyze, confusion, fear, slow, blind,... . Without wearing immunities of course. And that is independant from the attacker?s level. Even a level 200 monster can?t hit me with those attacktypes. That irritates me since there are already so many immunities on my equipment. Why should life as a high level char be all that easy? So I looked at the code and here?s a copy of the important parts that do the specific calculations: -------------------------- server/attack.c: ~~~~~~~~~~~~~~~~ ... int hit_player_attacktype(object *op, object *hitter, int dam, uint32 attacktype, int magic) { ... if (op->speed && (QUERY_FLAG(op, FLAG_MONSTER) || op->type==PLAYER) && !(RANDOM()%((attacktype&AT_SLOW?6:3))) && (RANDOM()%20 + 1 + ((op->protected&attacktype)?4:0) - ((op->vulnerable&attacktype)?4:0) < savethrow[op->level])) { /* Player has been hit by something */ if (attacktype & AT_CONFUSION) confuse_player(op,hitter,dam); else if (attacktype & AT_POISON) poison_player(op,hitter,dam); else if (attacktype & AT_SLOW) slow_player(op,hitter,dam); else if (attacktype & AT_PARALYZE) paralyze_player(op,hitter,dam); else if (attacktype & AT_FEAR) SET_FLAG(op, FLAG_SCARED); else if (attacktype & AT_CANCELLATION) cancellation(op); else if (attacktype & AT_DEPLETE) drain_stat(op); else if (attacktype & AT_BLIND && !QUERY_FLAG(op,FLAG_UNDEAD) && !QUERY_FLAG(op,FLAG_GENERATOR)) blind_player(op,hitter,dam); } ... } common/living.c: ~~~~~~~~~~~~~~~ #define MAXLEVEL 110 ... int savethrow[MAXLEVEL+1]={ 18, 18,17,16,15,14,14,13,13,12,12,12,11,11,11,11,10,10,10,10, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; -------------------------------- I?ll try to explain how the chance of being hit is calculated above: We have a value that consist of a random number between 1 and 20, plus 4 if player is protected against attack, minus 4 if player is vulnerable to attack. Let?s call this value "variable1". The player gets hit if variable1 is less than savethrow[*player?s level*]. Now notice that savethrow[>90] is always one, while variable1 is always greater than zero. Conclusion: A naked player past overall level 90 is perfectly immune to all special attacktypes! That doesn?t make any sense does it? Why should a level 100 monster not be able to hit a level 100 player with poison? Why should a high level character never get blinded, etc? My own humble opinion is that chance of being hit should not depend on the player?s level only, but on the difference between player?s and attacker?s level instead. Therefor, I suggest the following change: ------------------------------------ server/attack.c: ~~~~~~~~~~~~~~~~ int hit_player_attacktype(object *op, object *hitter, int dam, uint32 attacktype, int magic) { int diff; ... diff = abs(op->level - hitter->level); if (diff > 110) diff = 110; /* savethrow has only 111 elements */ if (... && ... || ... && ... && (RANDOM()%20 + 1 + ((op->protected&attacktype)?4:0) - ((op->vulnerable&attacktype)?4:0) < savethrow[diff])) { /* Player has been hit by something */ ... } ... } ------------------------------------------ Before we could use poison at higher levels happily, there?s still a second problem: A level 100 poison cloud-infection would drain the player?s Str, Con, Dex and Int down to about 1. "Str 1" means the player is almost unable to move and thus doomed to die. So we should set an upper limit to stats draining in the poison_player() function in attack.c: ------------------------------------------ void poison_player(object *op, object *hitter, int dam) { object *tmp=present_arch_in_ob(at,op); ... if(op->type==PLAYER) { tmp->stats.Con= -(dam/4+1); tmp->stats.Str= -(dam/3+2); tmp->stats.Dex= -(dam/6+1); tmp->stats.Int= -dam/7; /* a limit for all tmp->stats.* is needed, like -10 or something */ tmp->stats.Con = tmp->stats.Str < -10 ? -10 : tmp->stats.Str; tmp->stats.Str = tmp->stats.Str < -10 ? -10 : tmp->stats.Str; tmp->stats.Dex = tmp->stats.Str < -10 ? -10 : tmp->stats.Str; tmp->stats.Int = tmp->stats.Str < -10 ? -10 : tmp->stats.Str; SET_FLAG(tmp,FLAG_APPLIED); fix_player(op); new_draw_info(NDI_UNIQUE, 0,op,"You suddenly feel very ill."); } ... } --------------------------------------------- I?d be glad to hear if other people agree to my thoughts... -- Sent through GMX FreeMail - http://www.gmx.net From andi.vogl at gmx.net Wed Aug 23 14:29:33 2000 From: andi.vogl at gmx.net (Andreas Vogl) Date: Thu Jan 13 17:57:30 2005 Subject: [CF-Devel] RE: I want to be poisoned and blinded! :-) Message-ID: <1987.967058973@www25.gmx.net> Hi again, (If you didn?t read my first post, please do so before you continue here.) Um... hm... perhaps I didn?t think about my problem carefully enough yet. If the chance of being hit depended only on the difference between player?s and attacker?s level, a level 100 monster could not hit a level 1 player - quite stupid {:/ This should work better: ------------------------------------ server/attack.c: ~~~~~~~~~~~~~~~~ int hit_player_attacktype(object *op, object *hitter, int dam, uint32 attacktype, int magic) { int diff; ... diff = op->level - hitter->level; if (diff > 110) diff = 110; /* savethrow has only 111 elements */ if (diff < 0) diff = 0; /* low-level victims are slain at full power */ if (... && ... || ... && ... && (RANDOM()%20 + 1 + ((op->protected&attacktype)?4:0) - ((op->vulnerable&attacktype)?4:0) < savethrow[diff])) { /* Player has been hit by something */ ... } ... } ------------------------------------------ I hope I got it right this time. I hope I got ANYTHING right. Waaah, god help me! :) -- Sent through GMX FreeMail - http://www.gmx.net From leaf at real-time.com Wed Aug 23 19:42:19 2000 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 17:57:31 2005 Subject: [CF-Devel] I want to be poisoned and blinded! :-) In-Reply-To: <9891.967046386@www18.gmx.net> Message-ID: I am going to repost this message to the list so that it is archived on the mailing list. The maximum length allowed in a message body wasn't set high enough to accept this posting. - Rick Tanner leaf@real-time.com From peterm at tesla.EECS.Berkeley.EDU Wed Aug 23 19:49:34 2000 From: peterm at tesla.EECS.Berkeley.EDU (Peter Mardahl) Date: Thu Jan 13 17:57:31 2005 Subject: [CF-Devel] Poisoning and blinding Message-ID: <200008240049.RAA12850@tesla.EECS.Berkeley.EDU> I second Andreas' motion to make saving throws for {poison, paralyze, confusion, fear, slow, blind} depend on the relative levels of the attacker and defender. PeterM > Hi everybody, > > (Sorry this mail is a bit long...) > > I´ve noticed that a character at high overall level (like 110) never gets > hit by any special-effect attacktypes like poison, paralyze, confusion, > fear, slow, blind,... . Without wearing immunities of course. > And that is independant from the attacker´s level. Even a level 200 > monster can´t hit me with those attacktypes. > That irritates me since there are already so many immunities on my > equipment. Why should life as a high level char be all that easy? > From mwedel at scruznet.com Thu Aug 24 01:32:31 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:31 2005 Subject: [CF-Devel] CVS update: arch/ground Message-ID: <200008240632.XAA05954@boltzmann.eecs.berkeley.edu> Date: Wednesday August 23, 2000 @ 23:32 Author: cvs Update of /home/cvs/CVS/arch/ground In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv5951/ground Modified Files: sea.111.png sea.112.png sea.113.png sea.114.png Log Message: ground/sea*png: Remove transperancies from png images since they should not be transparent. MSW 8/23/2000 **************************************** Index: arch/ground/sea.111.png Index: arch/ground/sea.112.png Index: arch/ground/sea.113.png Index: arch/ground/sea.114.png From mwedel at scruznet.com Thu Aug 24 01:32:31 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:31 2005 Subject: [CF-Devel] CVS update: arch Message-ID: <200008240632.XAA05962@boltzmann.eecs.berkeley.edu> Date: Wednesday August 23, 2000 @ 23:32 Author: cvs Update of /home/cvs/CVS/arch In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv5951 Modified Files: CHANGES Log Message: ground/sea*png: Remove transperancies from png images since they should not be transparent. MSW 8/23/2000 **************************************** Index: arch/CHANGES diff -u arch/CHANGES:1.13 arch/CHANGES:1.14 --- arch/CHANGES:1.13 Tue Jun 27 22:57:04 2000 +++ arch/CHANGES Wed Aug 23 23:32:31 2000 @@ -1,5 +1,8 @@ Changes for CVS top of tree: +ground/sea*png: Remove transperancies from png images since they should not +be transparent. MSW 8/23/2000 + door/Locked/key2.arc, misc/Container/bag.arc, misc/Container/bookshelf.arc, misc/Container/cauldron.arc, misc/Container/chest_2.arc, misc/Container/depositbox.arc, misc/Container/key_ring.arc, From mwedel at scruznet.com Thu Aug 24 01:37:43 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:31 2005 Subject: [CF-Devel] CVS update: crossfire/lib Message-ID: <200008240637.XAA06018@boltzmann.eecs.berkeley.edu> Date: Wednesday August 23, 2000 @ 23:37 Author: cvs Update of /home/cvs/CVS/crossfire/lib In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv6005/lib Modified Files: crossfire.png Log Message: lib/crossfire.png: ground/sea*png - remove transperancies from png images since they should not be transparent. MSW 8/23/2000 **************************************** Index: crossfire/lib/crossfire.png From mwedel at scruznet.com Thu Aug 24 01:37:44 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:31 2005 Subject: [CF-Devel] CVS update: crossfire Message-ID: <200008240637.XAA06023@boltzmann.eecs.berkeley.edu> Date: Wednesday August 23, 2000 @ 23:37 Author: cvs Update of /home/cvs/CVS/crossfire In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv6005 Modified Files: CHANGES Log Message: lib/crossfire.png: ground/sea*png - remove transperancies from png images since they should not be transparent. MSW 8/23/2000 **************************************** Index: crossfire/CHANGES diff -u crossfire/CHANGES:1.121 crossfire/CHANGES:1.122 --- crossfire/CHANGES:1.121 Tue Aug 8 22:36:05 2000 +++ crossfire/CHANGES Wed Aug 23 23:37:44 2000 @@ -17,6 +17,9 @@ else. With this, include the file(s) that you changed. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +lib/crossfire.png: ground/sea*png - remove transperancies from png images +since they should not be transparent. MSW 8/23/2000 + doc/spoiler.html/(Makefile.in,empty.pbm, makeps.pl, spoiler.html): Modify to make gif images from png source instead of xpm images. A valid question to ask is why convert to gif at all and not just keep in PNG format. The From bugs at real-time.com Thu Aug 24 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:31 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008240710.e7O7A2R21662@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From mwedel at scruznet.com Fri Aug 25 00:57:39 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:31 2005 Subject: [CF-Devel] CVS update: client Message-ID: <200008250557.WAA13260@boltzmann.eecs.berkeley.edu> Date: Thursday August 24, 2000 @ 22:57 Author: cvs Update of /home/cvs/CVS/client In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv13252 Modified Files: CHANGES README client.man configure configure.in gx11.c xutil.c Log Message: configure.in, configure: Move check for -lm before png check, and libpng on sparc/solaris systems require math library for proper linking. Also, change the -with-xpm* to -with-ldflags and -with-includes to be more general since extra values may be needed for more than just xpm library. client.man: Updated for information about png images and cwindow command. README: Updated with changes mentioned above with the --with-png options. gx11.c: Remove all support for pixmap images. They didn't work anyways, but you could specify -pix on the command line and get no images - now it will at least result in an error message. Also, savedefaults will now save png status properly. xutil.c: Modified so that it will save png status when savedefaults is issued. MSW 8/24/2000 **************************************** Index: client/CHANGES diff -u client/CHANGES:1.20 client/CHANGES:1.21 --- client/CHANGES:1.20 Sun Aug 13 21:42:35 2000 +++ client/CHANGES Thu Aug 24 22:57:39 2000 @@ -1,5 +1,21 @@ -"$Id: CHANGES,v 1.20 2000/08/14 04:42:35 cvs Exp $" +"$Id: CHANGES,v 1.21 2000/08/25 05:57:39 cvs Exp $" Top of CVS tree: + +configure.in, configure: Move check for -lm before png check, and +libpng on sparc/solaris systems require math library for proper linking. +Also, change the -with-xpm* to -with-ldflags and -with-includes to be +more general since extra values may be needed for more than just xpm +library. +client.man: Updated for information about png images and +cwindow command. +README: Updated with changes mentioned above with the --with-png options. +gx11.c: Remove all support for pixmap images. They didn't work anyways, +but you could specify -pix on the command line and get no images - +now it will at least result in an error message. Also, savedefaults +will now save png status properly. +xutil.c: Modified so that it will save png status when savedefaults +is issued. +MSW 8/24/2000 The following change removes imlib as are png loading/rendering library - instead, we use our own local function located in png.c. libpng is Index: client/README diff -u client/README:1.3 client/README:1.4 --- client/README:1.3 Tue Jun 20 21:45:47 2000 +++ client/README Thu Aug 24 22:57:39 2000 @@ -4,8 +4,8 @@ You will need the XPM library to compile the client. If you want to run the gtk client, you will need to install the gtk libraries. - If you want png support, you will need to install the Imlib and png - library. There may be other requisites for the Imlib file. + If you want png support, you will need to install the png + library. 1) type './configure' to configure for your OS/system. Most options normally understood by configure should be available. @@ -23,6 +23,20 @@ sound daemon). If you want to use the builtin sound system, use the --enable-old-sound. See sound notes further down. + To specify additional places to find header files, use the + --with-includes=value - this includes any -I or other options to provide + the compiler. Example: + ./configure --with-includes="-I/usr/local/include -I/opt/xpm/include" + + Similarly, there is a --with-ldflags option. Example: + ./configure --with-ldflags"-L/usr/local/lib -R/usr/local/lib" + -R is used on many systems to specify run location for libraries so + you don't need to set LD_LIBRARY_PATH. + + Generally, if you are setting --with-includes, your probably need to + set --with-ldflags, as if one is not in a standard place, the other + probably is not either. + 2) Type 'make depend; make' to compile the client. If you get link errors, it may be because you have an older version of the gtk libraries. If you get errors like 'can't find target client.c', your make program @@ -32,10 +46,6 @@ 4) The client can be run by typing 'cfclient' for the X11 version, gcfclient for the gtk client. - -If you wish to generate the X11 client after generating the gtk client, -you just need to re-run configure with the appropriate options, do -a make clean, and then make. ------------------------------------------------------------------------------ Converting keybindings from old save files for use with the client: Index: client/client.man diff -u client/client.man:1.3 client/client.man:1.4 --- client/client.man:1.3 Thu Apr 20 23:50:56 2000 +++ client/client.man Thu Aug 24 22:57:39 2000 @@ -1,12 +1,12 @@ -.\"$Id: client.man,v 1.3 2000/04/21 06:50:56 cvs Exp $ -.TH cfclient "November 29, 1998" +.\"$Id: client.man,v 1.4 2000/08/25 05:57:39 cvs Exp $ +.TH cfclient .SH NAME cfclient - X11 client program for crossfire servers. .br gcfclient - gtk client program for crossfire servers. .SH SYNOPSIS .B client [-server server] [-port number] [-display display] [-split|-nosplit] -[-echo] [-pix|-xpm] [-showicon] [-scrollines number] [-sync] [-help] +[-echo] [-pix|-xpm|-png] [-showicon] [-scrollines number] [-sync] [-help] [-cache|-nocache] .SH DESCRIPTION .PP @@ -51,7 +51,7 @@ printed in the information window as they are sent to the server. .TP -.B -pix|-xpm +.B -pix|-xpm|-png This determines the graphic image types to use. -pix uses pixmap images - these are two color images with no masking (one image per space.). -xpm uses XPM format images - these are multi colored images with masking, @@ -59,8 +59,13 @@ more local processing power (unless you are on a very old machine, this should not be an issue), the installation of the XPM library, and also require more bandwidth to download (however, see the -cache option -further down.) +further down.) Png have all the same features of XPM, but are +slightly larger (32x32 instead of 24x24), appear better, and do the the +efficiency of the png format, actually take less bandwidth to transmit +than the xpm images. Using the png images require that the client +has been compiled with png support. + .TP .B -showicon This shows a little icon next to items in your inventory that contains @@ -186,6 +191,29 @@ 'help bind gives much more detailed information. Once a command is bound, it is stored in ~/.crossfire/keys and will be used in future plays. +.TP +.B scroll +Cfclient only. Toggles between scroll and wrap mode. +In wrap mode, when text gets to the bottom of the +message window, it starts new messages at the top. +Scroll is only really useful on very slow systems where +the performance hit of scrolling the window is too costly. +.TP +.B magicmap +Displays the data from the last time the magic mapping +spell was cast. This information can be completely useless +if you are now on another map. +.TP +.B cwindow +Specifies the number of unprocessed commands to the server. +The server processes player commands as the character has +actions to perform them - having this number too high +can result in extended lengths of time that after you stop +entering commands the character is still performing actions. +Having this value too low on slow links can result in the +character sitting idle even though they have an action +comming to them. + .SH FILES .TP @@ -212,7 +240,7 @@ .PP Please let me know about any bugs you find in the client. .SH AUTHOR -Copyright (C) 1994,1996,1998 Mark Wedel (mark@pyramid.com) +Copyright (C) 1994,2000 Mark Wedel (mwedel@scruz.net) GTK port by David Sundqvist (azzie@netpolicy.com) There are a great many other contributors to both the client and server Index: client/configure diff -u client/configure:1.7 client/configure:1.8 --- client/configure:1.7 Sun Aug 13 21:42:35 2000 +++ client/configure Thu Aug 24 22:57:39 2000 @@ -18,9 +18,9 @@ ac_help="$ac_help --disable-gtk make x11 client [default=make gtk client if available]" ac_help="$ac_help - --with-xpm-lib=dir provide different directory to find xpm lib in " + --with-ldflags=dir provide addition linker directives to find libraries " ac_help="$ac_help - --with-xpm-inc=dir provide different directory to find xpm includes in " + --with-includes=dir provide different compiler options to find headers with " ac_help="$ac_help --with-sound-dir=dir Directory where the sounds are located (default=/usr/local/lib/sounds) " ac_help="$ac_help @@ -1132,17 +1132,17 @@ -# Check whether --with-xpm-lib or --without-xpm-lib was given. -if test "${with_xpm_lib+set}" = set; then - withval="$with_xpm_lib" - XPMLIB="-L$withval" XPMRUN="-R$withval" +# Check whether --with-ldflags or --without-ldflags was given. +if test "${with_ldflags+set}" = set; then + withval="$with_ldflags" + EXTRA_LIB="$withval" fi -# Check whether --with-xpm-inc or --without-xpm-inc was given. -if test "${with_xpm_inc+set}" = set; then - withval="$with_xpm_inc" - XPMINC="-I$withval" +# Check whether --with-includes or --without-includes was given. +if test "${with_includes+set}" = set; then + withval="$with_includes" + EXTRA_INC="$withval" fi @@ -2792,7 +2792,6 @@ GTK_CFLAGS="$GTK_CFLAGS" - CPPFLAGS="$CPPFLAGS $XPMINC" TARGET="gcfclient cfclient" else echo "$ac_t""GTK not found - building xlib client" 1>&6 @@ -2800,19 +2799,19 @@ TARGET="cfclient" - CPPFLAGS="$CPPFLAGS $XPMINC" echo Xlibs: $X_LIBS echo Extras: $X_EXTRA_LIBS echo Xpre: $X_PRE_LIBS fi -LDFLAGS="$LDFLAGS $XPMLIB" +CPPFLAGS="$CPPFLAGS $EXTRA_INC" +LDFLAGS="$LDFLAGS $EXTRA_LIB" if eval "test x$need_r_flag = xyes"; then - LDFLAGS="$LDFLAGS $XPMRUN" + LDFLAGS="$LDFLAGS" fi echo $ac_n "checking for main in -lasound""... $ac_c" 1>&6 -echo "configure:2816: checking for main in -lasound" >&5 +echo "configure:2815: checking for main in -lasound" >&5 ac_lib_var=`echo asound'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2820,14 +2819,14 @@ ac_save_LIBS="$LIBS" LIBS="-lasound -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2830: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2848,7 +2847,7 @@ fi echo $ac_n "checking for alNewConfig in -laudio""... $ac_c" 1>&6 -echo "configure:2852: checking for alNewConfig in -laudio" >&5 +echo "configure:2851: checking for alNewConfig in -laudio" >&5 ac_lib_var=`echo audio'_'alNewConfig | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2856,7 +2855,7 @@ ac_save_LIBS="$LIBS" LIBS="-laudio $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2889,17 +2888,17 @@ ac_safe=`echo "sys/soundcard.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/soundcard.h""... $ac_c" 1>&6 -echo "configure:2893: checking for sys/soundcard.h" >&5 +echo "configure:2892: checking for sys/soundcard.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2903: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2902: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2923,17 +2922,17 @@ ac_safe=`echo "sys/audioio.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/audioio.h""... $ac_c" 1>&6 -echo "configure:2927: checking for sys/audioio.h" >&5 +echo "configure:2926: checking for sys/audioio.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2937: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2936: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2996,7 +2995,6 @@ - if test -n "$DEBUGFLAG"; then CFLAGS="$DEBUGFLAG $CFLAGS" fi @@ -3027,7 +3025,7 @@ if eval "test x$networklibs = xyes"; then echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6 -echo "configure:3031: checking for main in -lnsl" >&5 +echo "configure:3029: checking for main in -lnsl" >&5 ac_lib_var=`echo nsl'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3035,14 +3033,14 @@ ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3063,7 +3061,7 @@ fi echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6 -echo "configure:3067: checking for main in -lsocket" >&5 +echo "configure:3065: checking for main in -lsocket" >&5 ac_lib_var=`echo socket'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3071,14 +3069,14 @@ ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3080: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3102,12 +3100,12 @@ gcfc_save_CPPFLAGS="$CPPFLAGS" gcfc_save_LIBS="$LIBS" -CPPFLAGS="$GTK_CFLAGS $CPPFLAGS $X_CFLAGS" +CPPFLAGS="$GTK_CFLAGS $CPPFLAGS $X_CFLAGS $EXTRA_INC" LIBS="$LIBS $GTK_LIBS $X_LIBS" if test -z "$LIBXPM_LIB"; then echo $ac_n "checking for XpmReadFileToXpmImage in -lXpm""... $ac_c" 1>&6 -echo "configure:3111: checking for XpmReadFileToXpmImage in -lXpm" >&5 +echo "configure:3109: checking for XpmReadFileToXpmImage in -lXpm" >&5 ac_lib_var=`echo Xpm'_'XpmReadFileToXpmImage | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3115,7 +3113,7 @@ ac_save_LIBS="$LIBS" LIBS="-lXpm $X_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3128: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3147,17 +3145,17 @@ ac_safe=`echo "X11/xpm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/xpm.h""... $ac_c" 1>&6 -echo "configure:3151: checking for X11/xpm.h" >&5 +echo "configure:3149: checking for X11/xpm.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3161: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3159: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3176,19 +3174,19 @@ XPM='xpm'; LIBXPM_LIB='-lXpm' else echo "$ac_t""no" 1>&6 -{ echo "configure: error: XPM header file not found - you may need to use --with-xpm-inc=dir" 1>&2; exit 1; } +{ echo "configure: error: XPM header file not found - you may need to use --with-includes=-Idir" 1>&2; exit 1; } fi else echo "$ac_t""no" 1>&6 -{ echo "configure: error: XPM library not found - you may need to use --with-xpm-lib=dir" 1>&2; exit 1; } +{ echo "configure: error: XPM library not found - you may need to use --with-ldflags=-Ldir" 1>&2; exit 1; } fi fi echo $ac_n "checking for main in -lXext""... $ac_c" 1>&6 -echo "configure:3192: checking for main in -lXext" >&5 +echo "configure:3190: checking for main in -lXext" >&5 ac_lib_var=`echo Xext'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3196,14 +3194,14 @@ ac_save_LIBS="$LIBS" LIBS="-lXext $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3230,23 +3228,27 @@ -echo $ac_n "checking for main in -lpng""... $ac_c" 1>&6 -echo "configure:3235: checking for main in -lpng" >&5 -ac_lib_var=`echo png'_'main | sed 'y%./+-%__p_%'` +echo $ac_n "checking for sqrt in -lm""... $ac_c" 1>&6 +echo "configure:3233: checking for sqrt in -lm" >&5 +ac_lib_var=`echo m'_'sqrt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-lpng $LIBS" +LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3252: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3261,36 +3263,36 @@ fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo png | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + ac_tr_lib=HAVE_LIB`echo m | sed -e 's/[^a-zA-Z0-9_]/_/g' \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` cat >> confdefs.h <&6 fi -echo $ac_n "checking for main in -ldmalloc""... $ac_c" 1>&6 -echo "configure:3279: checking for main in -ldmalloc" >&5 -ac_lib_var=`echo dmalloc'_'main | sed 'y%./+-%__p_%'` +echo $ac_n "checking for main in -lpng""... $ac_c" 1>&6 +echo "configure:3281: checking for main in -lpng" >&5 +ac_lib_var=`echo png'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-ldmalloc $LIBS" +LIBS="-lpng $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3296: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3305,40 +3307,36 @@ fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo dmalloc | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + ac_tr_lib=HAVE_LIB`echo png | sed -e 's/[^a-zA-Z0-9_]/_/g' \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` cat >> confdefs.h <&6 fi -echo $ac_n "checking for sqrt in -lm""... $ac_c" 1>&6 -echo "configure:3323: checking for sqrt in -lm" >&5 -ac_lib_var=`echo m'_'sqrt | sed 'y%./+-%__p_%'` +echo $ac_n "checking for main in -ldmalloc""... $ac_c" 1>&6 +echo "configure:3325: checking for main in -ldmalloc" >&5 +ac_lib_var=`echo dmalloc'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-lm $LIBS" +LIBS="-ldmalloc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3353,13 +3351,13 @@ fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo m | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + ac_tr_lib=HAVE_LIB`echo dmalloc | sed -e 's/[^a-zA-Z0-9_]/_/g' \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` cat >> confdefs.h <&6 @@ -3367,13 +3365,14 @@ + echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:3372: checking for ANSI C header files" >&5 +echo "configure:3371: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -3381,7 +3380,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3385: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3384: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3398,7 +3397,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3416,7 +3415,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3437,7 +3436,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -3448,7 +3447,7 @@ exit (0); } EOF -if { (eval echo configure:3452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -3475,17 +3474,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3479: checking for $ac_hdr" >&5 +echo "configure:3478: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3489: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3488: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3513,12 +3512,12 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:3517: checking for working const" >&5 +echo "configure:3516: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3570: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -3588,12 +3587,12 @@ fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:3592: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:3591: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -3602,7 +3601,7 @@ struct tm *tp; ; return 0; } EOF -if { (eval echo configure:3606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3605: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -3625,13 +3624,13 @@ if test $ac_cv_prog_gcc = yes; then echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6 -echo "configure:3629: checking whether ${CC-cc} needs -traditional" >&5 +echo "configure:3628: checking whether ${CC-cc} needs -traditional" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_pattern="Autoconf.*'x'" cat > conftest.$ac_ext < Autoconf TIOCGETP @@ -3649,7 +3648,7 @@ if test $ac_cv_prog_gcc_traditional = no; then cat > conftest.$ac_ext < Autoconf TCGETA @@ -3671,12 +3670,12 @@ fi echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:3675: checking for vprintf" >&5 +echo "configure:3674: checking for vprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else @@ -3723,12 +3722,12 @@ if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:3727: checking for _doprnt" >&5 +echo "configure:3726: checking for _doprnt" >&5 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3754: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else @@ -3778,12 +3777,12 @@ for ac_func in mkdir socket strcspn sysconf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3782: checking for $ac_func" >&5 +echo "configure:3781: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4014,7 +4013,6 @@ s%@GUI_OBJS@%$GUI_OBJS%g s%@GUI_SRCS@%$GUI_SRCS%g s%@SND_LIBS@%$SND_LIBS%g -s%@XPMRUN@%$XPMRUN%g s%@TARGET@%$TARGET%g s%@XPM@%$XPM%g s%@SOUNDDIR@%$SOUNDDIR%g Index: client/configure.in diff -u client/configure.in:1.7 client/configure.in:1.8 --- client/configure.in:1.7 Sun Aug 13 21:42:35 2000 +++ client/configure.in Thu Aug 24 22:57:39 2000 @@ -48,11 +48,11 @@ dnl resides if not with the normal X11 stuff (ie, in /usr/local and not /usr dnl /usr/X11 -AC_ARG_WITH(xpm-lib, [ --with-xpm-lib=dir provide different directory to find xpm lib in ], - XPMLIB="-L$withval" XPMRUN="-R$withval") +AC_ARG_WITH(ldflags, [ --with-ldflags=dir provide addition linker directives to find libraries ], + EXTRA_LIB="$withval") -AC_ARG_WITH(xpm-inc, [ --with-xpm-inc=dir provide different directory to find xpm includes in ], - XPMINC="-I$withval") +AC_ARG_WITH(includes, [ --with-includes=dir provide different compiler options to find headers with ], + EXTRA_INC="$withval") AC_ARG_WITH(sound-dir, [ --with-sound-dir=dir Directory where the sounds are located (default=/usr/local/lib/sounds) ], SOUNDDIR="$withval") @@ -125,7 +125,6 @@ GTK_CFLAGS="$GTK_CFLAGS" AC_SUBST(GTK_LIBS) AC_SUBST(GTK_CFLAGS) - CPPFLAGS="$CPPFLAGS $XPMINC" TARGET="gcfclient cfclient" dnl AC_DEFINE(GTK_CLIENT) else @@ -134,15 +133,15 @@ AC_SUBST(X_LIBS) AC_SUBST(X_CFLAGS) TARGET="cfclient" - CPPFLAGS="$CPPFLAGS $XPMINC" echo Xlibs: $X_LIBS echo Extras: $X_EXTRA_LIBS echo Xpre: $X_PRE_LIBS fi -LDFLAGS="$LDFLAGS $XPMLIB" +CPPFLAGS="$CPPFLAGS $EXTRA_INC" +LDFLAGS="$LDFLAGS $EXTRA_LIB" if eval "test x$need_r_flag = xyes"; then - LDFLAGS="$LDFLAGS $XPMRUN" + LDFLAGS="$LDFLAGS" fi AC_CHECK_LIB(asound, main, alsa_sound=yes, , -lm) @@ -187,7 +186,6 @@ AC_SUBST(GUI_SRCS) AC_SUBST(SND_LIBS) AC_SUBST(LDFLAGS) -AC_SUBST(XPMRUN) AC_SUBST(TARGET) @@ -232,7 +230,7 @@ dnl Save and modify CPPFLAGS and LIBS (to include X and GTK paths temporarily). gcfc_save_CPPFLAGS="$CPPFLAGS" gcfc_save_LIBS="$LIBS" -CPPFLAGS="$GTK_CFLAGS $CPPFLAGS $X_CFLAGS" +CPPFLAGS="$GTK_CFLAGS $CPPFLAGS $X_CFLAGS $EXTRA_INC" LIBS="$LIBS $GTK_LIBS $X_LIBS" dnl Test for libXpm @@ -241,8 +239,8 @@ AC_DEFINE(HAVE_LIBXPM) AC_CHECK_HEADER(X11/xpm.h, XPM='xpm'; LIBXPM_LIB='-lXpm', - AC_MSG_ERROR(XPM header file not found - you may need to use --with-xpm-inc=dir)), - AC_MSG_ERROR(XPM library not found - you may need to use --with-xpm-lib=dir), $X_LIBS) + AC_MSG_ERROR(XPM header file not found - you may need to use --with-includes=-Idir)), + AC_MSG_ERROR(XPM library not found - you may need to use --with-ldflags=-Ldir), $X_LIBS) fi dnl Put this here so we get the gdk libs @@ -259,13 +257,14 @@ AC_SUBST(LIBS) +dnl sound.c needs sqrt. So does png (on some systems) +AC_CHECK_LIB(m, sqrt) + AC_CHECK_LIB(png, main) dnl not strictly needed, but since the X11 client uses it, lets use it here AC_CHECK_LIB(dmalloc, main) -dnl sound.c needs sqrt -AC_CHECK_LIB(m, sqrt) dnl Checks for header files. Index: client/gx11.c diff -u client/gx11.c:1.7 client/gx11.c:1.8 --- client/gx11.c:1.7 Sun Aug 13 21:42:35 2000 +++ client/gx11.c Thu Aug 24 22:57:39 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_xio_c = - * "$Id: gx11.c,v 1.7 2000/08/14 04:42:35 cvs Exp $"; + * "$Id: gx11.c,v 1.8 2000/08/25 05:57:39 cvs Exp $"; * * This file handles all the windowing stuff. The idea is * that all of it is in one file, so to port to different systems @@ -853,8 +853,8 @@ if (!strcmp(inbuf,"display")) { if (!strcmp(cp,"xpm")) display_mode=Xpm_Display; - else if (!strcmp(cp,"pixmap")) - display_mode = Pix_Display; + if (!strcmp(cp,"png")) + display_mode=Png_Display; else fprintf(stderr,"Unknown display specication in %s, %s", path, cp); continue; @@ -932,8 +932,8 @@ fprintf(fp,"server: %s\n", server); if (display_mode==Xpm_Display) { fprintf(fp,"display: xpm\n"); - } else if (display_mode==Pix_Display) { - fprintf(fp,"display: pixmap\n"); + } else if (display_mode==Png_Display) { + fprintf(fp,"display: png\n"); } fprintf(fp,"cacheimages: %s\n", cache_images?"True":"False"); fprintf(fp,"split: %s\n", split_windows?"True":"False"); @@ -1238,60 +1238,62 @@ void FaceCmd(unsigned char *data, int len) { - int pnum; - char *face,buf[MAX_BUF]; + int pnum; + char *face,buf[MAX_BUF]; - /* A quick sanity check, since if client isn't caching, all the data - * structures may not be initialized. - */ + /* A quick sanity check, since if client isn't caching, all the data + * structures may not be initialized. + */ - if (!cache_images) { - fprintf(stderr,"Received a 'face' command when we are not caching\n"); - return; - } - pnum = GetShort_String(data); - face = (char *)data+2; - data[len] = '\0'; - /* To prevent having a directory with 2000 images, we do a simple - * split on the first 2 characters. - */ - sprintf(buf,"%s/%c%c/%s", facecachedir, face[0], face[1],face); + if (!cache_images) { + fprintf(stderr,"Received a 'face' command when we are not caching\n"); + return; + } + pnum = GetShort_String(data); + face = (char *)data+2; + data[len] = '\0'; + /* To prevent having a directory with 2000 images, we do a simple + * split on the first 2 characters. + */ + sprintf(buf,"%s/%c%c/%s", facecachedir, face[0], face[1],face); - if (display_mode == Xpm_Display) - strcat(buf,".xpm"); - else if (display_mode == Png_Display) - strcat(buf,".png"); + if (display_mode == Xpm_Display) + strcat(buf,".xpm"); + else if (display_mode == Png_Display) + strcat(buf,".png"); - /* check to see if we already have the file. IF not, we need to request - * it from the server. - */ - if (access(buf,R_OK)) { + /* check to see if we already have the file. IF not, we need to request + * it from the server. + */ + if (access(buf,R_OK)) { - requestface(pnum, face, buf); + requestface(pnum, face, buf); - } else if (display_mode == Xpm_Display) { + } else { + if (display_mode == Xpm_Display) { - GtkStyle *style; + GtkStyle *style; - style = gtk_widget_get_style(gtkwin_root); - pixmaps[pnum].gdkpixmap = gdk_pixmap_create_from_xpm(gtkwin_root->window, + style = gtk_widget_get_style(gtkwin_root); + pixmaps[pnum].gdkpixmap = gdk_pixmap_create_from_xpm(gtkwin_root->window, &pixmaps[pnum].gdkmask, &style->bg[GTK_STATE_NORMAL], (gchar *) buf ); - if (!pixmaps[pnum].gdkpixmap) { - requestface(pnum, face, buf); + if (!pixmaps[pnum].gdkpixmap) { + requestface(pnum, face, buf); + } } - } - else if (display_mode == Png_Display) { + else if (display_mode == Png_Display) { #ifdef HAVE_LIBPNG - if (png_to_gdkpixmap(gtkwin_root->window, buf, &pixmaps[pnum].gdkpixmap, + if (png_to_gdkpixmap(gtkwin_root->window, buf, &pixmaps[pnum].gdkpixmap, &pixmaps[pnum].gdkmask,gtk_widget_get_colormap(gtkwin_root))) { - fprintf(stderr,"Got error on png_to_gdkpixmap\n"); - requestface(pnum, face, buf); - } + fprintf(stderr,"Got error on png_to_gdkpixmap\n"); + requestface(pnum, face, buf); + } #endif - } + } + } /* else Don't have image */ } @@ -6217,7 +6219,6 @@ puts("-display - Use instead if DISPLAY environment variable.\n"); puts("-split - Use split windows."); puts("-echo - Echo the bound commands"); - puts("-pix - Use bitmaps instead of the font."); #ifdef Xpm_Pix puts("-xpm - Use color pixmaps (XPM) for display."); #endif @@ -6301,11 +6302,6 @@ fprintf(stderr,"Ignoring -png flag\n"); continue; #endif - } - else if (!strcmp(argv[on_arg],"-pix")) { - display_mode = Pix_Display; - image_size=24; - continue; } else if (!strcmp(argv[on_arg],"-cache")) { cache_images= TRUE; Index: client/xutil.c diff -u client/xutil.c:1.8 client/xutil.c:1.9 --- client/xutil.c:1.8 Sun Aug 13 21:42:35 2000 +++ client/xutil.c Thu Aug 24 22:57:39 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_xio_c = - * "$Id: xutil.c,v 1.8 2000/08/14 04:42:35 cvs Exp $"; + * "$Id: xutil.c,v 1.9 2000/08/25 05:57:39 cvs Exp $"; * * This contains varous 'support' functions. These functions will probably * go mostly unaltered between different toolkits, as long as X11 is still @@ -1220,6 +1220,8 @@ if (!strcmp(inbuf,"display")) { if (!strcmp(cp,"xpm")) display_mode=Xpm_Display; + if (!strcmp(cp,"png")) + display_mode=Png_Display; else if (!strcmp(cp,"pixmap")) display_mode = Pix_Display; else fprintf(stderr,"Unknown display specication in %s, %s", @@ -1297,6 +1299,8 @@ fprintf(fp,"display: xpm\n"); } else if (display_mode==Pix_Display) { fprintf(fp,"display: pixmap\n"); + } else if (display_mode==Png_Display) { + fprintf(fp,"display: png\n"); } fprintf(fp,"cacheimages: %s\n", cache_images?"True":"False"); fprintf(fp,"split: %s\n", split_windows?"True":"False"); From mwedel at scruznet.com Fri Aug 25 01:23:28 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:31 2005 Subject: [CF-Devel] CVS update: crossfire/common Message-ID: <200008250623.XAA13407@boltzmann.eecs.berkeley.edu> Date: Thursday August 24, 2000 @ 23:23 Author: cvs Update of /home/cvs/CVS/crossfire/common In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv13404/common Modified Files: living.c Log Message: common/living.c, server/skill_util.c: Patches by Garth Denley: Fixes divide by zero crash, sets up perm exp when a new player is loaded, seperates permanent exp code/calculations into another function. checked in by MSW, 8/24/2000 **************************************** Index: crossfire/common/living.c diff -u crossfire/common/living.c:1.10 crossfire/common/living.c:1.11 --- crossfire/common/living.c:1.10 Mon Aug 7 23:57:57 2000 +++ crossfire/common/living.c Thu Aug 24 23:23:28 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_living_c = - * "$Id: living.c,v 1.10 2000/08/08 06:57:57 cvs Exp $"; + * "$Id: living.c,v 1.11 2000/08/25 06:23:28 cvs Exp $"; */ /* @@ -1586,6 +1586,39 @@ } } +/* Ensure that the permanent experience requirements in an exp object are met. */ +/* GD */ +void calc_perm_exp(object *op) +{ + int p_exp_min; + + /* Sanity checks. */ + if (op->type != EXPERIENCE) { + LOG(llevError, "calc_minimum_perm_exp called on a non-experience object!"); + return; + } + if (!(settings.use_permanent_experience)) { + LOG(llevError, "calc_minimum_perm_exp called whilst permanent experience disabled!"); + return; + } + + /* The following fields are used: */ + /* stats.exp: Current exp in experience object. */ + /* last_heal: Permanent experience earnt. */ + + /* Ensure that our permanent experience minimum is met. */ + p_exp_min = (int)(PERM_EXP_MINIMUM_RATIO * (float)(op->stats.exp)); + /*LOG(llevError, "Experience minimum check: %d p-min %d p-curr %d curr.\n", p_exp_min, op->last_heal, op->stats.exp);*/ + if (op->last_heal < p_exp_min) + op->last_heal = p_exp_min; + + /* Cap permanent experience. */ + if (op->last_heal < 0) + op->last_heal = 0; + else if (op->last_heal > MAX_EXP_IN_OBJ) + op->last_heal = MAX_EXP_IN_OBJ; +} + /* adjust_exp() - make sure that we don't exceed max or min set on * experience */ @@ -1598,27 +1631,20 @@ /* This code _only_ affects experience objects. */ /* GD */ if (op->type == EXPERIENCE) { - int p_exp_min; int p_exp_gain; int max_loss; - /* The following fields are used: */ - /* stats.exp: Current exp in experience object. */ - /* last_heal: Permanent experience earnt. */ - /* Ensure that our permanent experience minimum is met. */ - p_exp_min = (int)(PERM_EXP_MINIMUM_RATIO * (float)(op->stats.exp)); - /*LOG(llevError, "Experience minimum check: %d p-min %d p-curr %d curr.\n", p_exp_min, op->last_heal, op->stats.exp);*/ - if (op->last_heal < p_exp_min) - op->last_heal = p_exp_min; - + calc_perm_exp(op); + /* Experience gain: We get a ratio of the gain as permanent experience. */ if (exp > 0) { p_exp_gain = (int)(PERM_EXP_GAIN_RATIO * exp); op->last_heal += p_exp_gain; - /* Cap permanent experience. */ - if (op->last_heal > MAX_EXP_IN_OBJ) - op->last_heal = MAX_EXP_IN_OBJ; + + /* Update our new perm exp (so we display the right amount when asked. */ + calc_perm_exp(op); + /*LOG(llevError, "Gaining %d experience results in %d permanent exp (now %d).\n", exp, p_exp_gain, op->last_heal); */ } From mwedel at scruznet.com Fri Aug 25 01:23:28 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:31 2005 Subject: [CF-Devel] CVS update: crossfire/server Message-ID: <200008250623.XAA13412@boltzmann.eecs.berkeley.edu> Date: Thursday August 24, 2000 @ 23:23 Author: cvs Update of /home/cvs/CVS/crossfire/server In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv13404/server Modified Files: skill_util.c Log Message: common/living.c, server/skill_util.c: Patches by Garth Denley: Fixes divide by zero crash, sets up perm exp when a new player is loaded, seperates permanent exp code/calculations into another function. checked in by MSW, 8/24/2000 **************************************** Index: crossfire/server/skill_util.c diff -u crossfire/server/skill_util.c:1.7 crossfire/server/skill_util.c:1.8 --- crossfire/server/skill_util.c:1.7 Tue Aug 1 23:04:50 2000 +++ crossfire/server/skill_util.c Thu Aug 24 23:23:28 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_skill_util_c = - * "$Id: skill_util.c,v 1.7 2000/08/02 06:04:50 cvs Exp $"; + * "$Id: skill_util.c,v 1.8 2000/08/25 06:23:28 cvs Exp $"; */ /* CrossFire, A Multiplayer game for X-windows @@ -753,6 +753,9 @@ for(i=0;istats.exp += exp_ob[i]->stats.exp; player_lvl_adj(NULL, exp_ob[i]); } @@ -1006,8 +1009,11 @@ { int rv; - rv = (a*100)/b; + if (b <= 0) + return 0; + rv = (int)((100.0f * ((float)a) / ((float)b) ) + 0.5f); + if (rv < 0) return 0; else if (rv > 100) From mwedel at scruznet.com Fri Aug 25 01:23:28 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:31 2005 Subject: [CF-Devel] CVS update: crossfire Message-ID: <200008250623.XAA13417@boltzmann.eecs.berkeley.edu> Date: Thursday August 24, 2000 @ 23:23 Author: cvs Update of /home/cvs/CVS/crossfire In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv13404 Modified Files: CHANGES Log Message: common/living.c, server/skill_util.c: Patches by Garth Denley: Fixes divide by zero crash, sets up perm exp when a new player is loaded, seperates permanent exp code/calculations into another function. checked in by MSW, 8/24/2000 **************************************** Index: crossfire/CHANGES diff -u crossfire/CHANGES:1.122 crossfire/CHANGES:1.123 --- crossfire/CHANGES:1.122 Wed Aug 23 23:37:44 2000 +++ crossfire/CHANGES Thu Aug 24 23:23:28 2000 @@ -17,6 +17,11 @@ else. With this, include the file(s) that you changed. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +common/living.c, server/skill_util.c: Patches by Garth Denley: +Fixes divide by zero crash, sets up perm exp when a new player is loaded, +seperates permanent exp code/calculations into another function. +checked in by MSW, 8/24/2000 + lib/crossfire.png: ground/sea*png - remove transperancies from png images since they should not be transparent. MSW 8/23/2000 From bugs at real-time.com Fri Aug 25 02:10:03 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:31 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008250710.e7P7A3J31108@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Sat Aug 26 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:32 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008260710.e7Q7A2J07919@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From andi.vogl at gmx.net Sat Aug 26 10:18:56 2000 From: andi.vogl at gmx.net (Andreas Vogl) Date: Thu Jan 13 17:57:32 2005 Subject: [CF-Devel] about the png-images Message-ID: <19538.967303136@www12.gmx.net> Hi, Thanx for help, I finally got my client working with pngs - from the current snapshot (26.Aug). First of all, an important remark concerning the installation process: I tried to compile the client with my current libpng library version 1.0.2 - that did not work. Some errormessages about unknown (missing) commands in /usr/lib/X11R6/lib/libpng.so were displayed. So I downloaded the actual version 1.0.6 from the web, installed, and everything was okay. I think that should be mentioned in the README of the cfclient. About the png-images... They are indeed a LOT better than the current 24x24 xpms! But that applies for the new re-drawn images only. About 50% of the images are just scaled up from the 24x24 format and thus very ugly. Even half of the player-icons and most artifacts are of that kind. I think all the item-images (like artifacts) that haven't been re-drawn should just be copied (and centered) from xpm to png without scaling. All the rest, like buildings, monsters etc still require some serious amount of work. Isn't there any bored graphics artist out there, just waiting to draw some crossfire pngs? :) What about the creator of the existing ones? Is there a chance to convince him to continue his work? If I could draw any better than a pig, I would start doing it myself... :-] Another problem: Some pngs seem to be partly transparent although they shouldn't be. E.g. the "blocked.111" icon is completely transparent, "cave23-25.111", "afloor.131", "grass.111", "mountain1.111" and "wasteland.111" are partly transparent. Any idea why this happens? Andreas Vogl -- Sent through GMX FreeMail - http://www.gmx.net From bugs at real-time.com Sun Aug 27 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:32 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008270710.e7R7A2h15212@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Mon Aug 28 02:10:03 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:32 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008280710.e7S7A3832434@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From mwedel at scruznet.com Mon Aug 28 03:02:41 2000 From: mwedel at scruznet.com (Crossfire CVS devel) Date: Thu Jan 13 17:57:32 2005 Subject: [CF-Devel] CVS update: client Message-ID: <200008280802.BAA04473@boltzmann.eecs.berkeley.edu> Date: Monday August 28, 2000 @ 1:02 Author: cvs Update of /home/cvs/CVS/client In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv4469 Modified Files: item.c Log Message: Fixed a client crashing bug. <= used on an array: indexes start from 0! sizeof counts from 1. PeterM **************************************** Index: client/item.c diff -u client/item.c:1.3 client/item.c:1.4 --- client/item.c:1.3 Sun Aug 6 22:27:22 2000 +++ client/item.c Mon Aug 28 01:02:41 2000 @@ -379,7 +379,7 @@ if (op->locked) strcat (op->flags, " *"); if (op->apply_type) { - if (op->apply_type <= sizeof (apply_string) / sizeof(apply_string[0])) + if (op->apply_type < sizeof (apply_string) / sizeof(apply_string[0])) strcat (op->flags, apply_string[op->apply_type]); else strcat (op->flags, " (undefined)"); From peterm at tesla.EECS.Berkeley.EDU Mon Aug 28 20:23:04 2000 From: peterm at tesla.EECS.Berkeley.EDU (Peter Mardahl) Date: Thu Jan 13 17:57:32 2005 Subject: [CF-Devel] A development most strange Message-ID: <200008290123.SAA19799@tesla.EECS.Berkeley.EDU> So I was playing around on the server I had just made public, the one at crossfire.csua.berkeley.edu. I got in a bad spot, and got to witness a development most strange and disturbing. My character died... and died... and died.... and died.... and died.... no stat loss, no experience loss, no return to scorn. So far as I know, I was using the default-configured server from a few days ago, with the excption of "recycle tmp maps". So, um, what's up with that? PeterM From bugs at real-time.com Tue Aug 29 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:32 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008290710.e7T7A2224068@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From bugs at real-time.com Tue Aug 29 08:10:41 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:32 2005 Subject: [CF-Devel] [Bug 268] New - gravestone_text function is missing Message-ID: <200008291310.e7TDAfl30479@crusader.real-time.com> http://bugzilla.real-time.com/show_bug.cgi?id=268 *** shadow/268 Tue Aug 29 08:10:41 2000 --- shadow/268.tmp.30476 Tue Aug 29 08:10:41 2000 *************** *** 0 **** --- 1,22 ---- + Bug#: 268 + Product: Crossfire + Version: CVS + Platform: SGI + OS/Version: IRIX + Status: NEW + Resolution: + Severity: blocker + Priority: P1 + Component: server + AssignedTo: crossfire-devel@lists.real-time.com + ReportedBy: pjka@jyu.fi + URL: + Cc: + Summary: gravestone_text function is missing + + When trying to compile a permadeath server, function called gravestone_text + is needed (crossfire/server/player.c). That one existed atleast in version + 0.94.3 in crossfire/server/apply.c. That is no longer the case in CVS nor in + 0.95.6. + + permadeath code seems to be not so well tested :-) From bugs at real-time.com Wed Aug 30 02:10:03 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:32 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008300710.e7U7A3h17333@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From peterm at tesla.EECS.Berkeley.EDU Wed Aug 30 23:11:38 2000 From: peterm at tesla.EECS.Berkeley.EDU (Peter Mardahl) Date: Thu Jan 13 17:57:32 2005 Subject: [CF-Devel] Client strangeness over X Message-ID: <200008310411.VAA09170@tesla.EECS.Berkeley.EDU> If I start up a crossfire client (either client) on one machine, and display it on another, none of the keyboard commands work. Anyone else had this happen? PeterM From bugs at real-time.com Thu Aug 31 02:10:02 2000 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 17:57:32 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200008310710.e7V7A2009317@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=18 http://bugzilla.real-time.com/show_bug.cgi?id=27 http://bugzilla.real-time.com/show_bug.cgi?id=33 http://bugzilla.real-time.com/show_bug.cgi?id=34 From gourmet90 at crosswinds.net Tue Aug 1 23:53:32 2000 From: gourmet90 at crosswinds.net (gourmet90@crosswinds.net) Date: Thu Jan 13 18:03:35 2005 Subject: [CF List] Check out the latest Wall Street Merger Message-ID: <200008010346.MAA0000019841@eacademy.learningwith.com> An HTML attachment was scrubbed... URL: http://shadowknight.real-time.com/pipermail/crossfire/attachments/20000801/fe41f059/attachment.html From gourmet90 at crosswinds.net Wed Aug 2 22:21:45 2000 From: gourmet90 at crosswinds.net (gourmet90@crosswinds.net) Date: Thu Jan 13 18:03:35 2005 Subject: [CF List] Check out the latest Wall Street Merger Message-ID: <200008020214.LAA0000031725@eacademy.learningwith.com> An HTML attachment was scrubbed... URL: http://shadowknight.real-time.com/pipermail/crossfire/attachments/20000802/89c822b0/attachment.htm From mwedel at scruznet.com Wed Aug 2 01:11:33 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:35 2005 Subject: [CF List] CVS checkin. Message-ID: <3987BB95.C78A917F@scruznet.com> Just checked this into the CVS repository: 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 From gourmet90 at crosswinds.net Thu Aug 3 07:53:24 2000 From: gourmet90 at crosswinds.net (gourmet90@crosswinds.net) Date: Thu Jan 13 18:03:35 2005 Subject: [CF List] Check out the latest Wall Street Merger Message-ID: <200008021149.NAA10198@ifi.uio.no> An HTML attachment was scrubbed... URL: http://shadowknight.real-time.com/pipermail/crossfire/attachments/20000803/1cf75f09/attachment.html From jesse at andrew.cmu.edu Sun Aug 6 19:20:55 2000 From: jesse at andrew.cmu.edu (Jesse F. Hughes) Date: Thu Jan 13 18:03:36 2005 Subject: [CF List] Make depend error (!) Message-ID: <87lmy9gbvc.fsf@diogenes.localnet> Hey ho. When running `make depend', I get the following error: diogenes:/usr/src/crossfire-client-0.95.6# make depend g -O2 -DALSA_SOUND -DNEW_SOUND -Wall -I. -- client.c commands.c init.c item.c misc.c newsocket.c player.c sound.c x11.c cfsndserv.c misc.c make: g: Command not found make: [depend] Error 127 (ignored) As you can see, I'm running ALSA on this machine. On my other machine, I'm not using ALSA, and I had no problem compiling. But, I don't know if that has anything to do with it. The variable CC = gcc, while CFLAGS = -g -O2 -DALSA_SOUND -DNEW_SOUND -Wall -I. I've attached the Makefile and config.cache -- hope that helps. -------------- next part -------------- # Generated automatically from Makefile.in by configure. VERSION = crossfire-client-0.95.6 MKDIR = /bin/mkdir CP = /bin/cp TAR = /bin/tar RM = /bin/rm TARGET = gcfclient cfclient cfsndserv CFLAGS = -g -O2 -DALSA_SOUND -DNEW_SOUND -Wall -I. LDFLAGS = CC = gcc LIBS = -lm -lXpm INSTALL = /usr/bin/ginstall -c DEPEND = PERL = /usr/bin/perl SOUND_DIR = /usr/local/lib/sounds prefix=/usr/local exec_prefix=${prefix} bindir=${exec_prefix}/bin mandir=${prefix}/man/man1 HEADERS= \ cconfig.h \ client.h \ clientbmap.h \ item.h \ item_types.h \ newclient.h \ proto.h \ soundsdef.h SOURCES = \ client.c \ commands.c \ init.c \ item.c \ misc.c \ newsocket.c \ player.c \ sound.c GTK_SOURCES = $(SOURCES) gx11.c GTK_OBJS= $(GTK_SOURCES:.c=.o) X11_SOURCES = $(SOURCES) x11.c X11_OBJS= $(X11_SOURCES:.c=.o) X_CFLAGS= X_LIBS= -L/usr/X11/lib -lX11 -lXext -lImlib GTK_CFLAGS=-I/usr/X11R6/include -I/usr/lib/glib/include GTK_LIBS=-L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXext -lX11 -lm -lgdk_imlib SND_LIBS=-lasound -lm # proto only wants the .c files PROTOSOURCES= \ client.c \ commands.c \ init.c \ item.c \ misc.c \ newsocket.c \ player.c \ sound.c \ x11.c EXTRA_DIST = \ aclocal.m4 \ CHANGES \ COPYING \ Makefile.in \ Protocol \ README \ README.old \ aclocal.m4 \ client.man \ config.h.in \ configure \ configure.in \ def_keys \ def-keys.h \ item_types \ items.pl \ sounds.dist \ x11.c \ xutil.c \ gx11.c \ cfsndserv.c PIXMAPS = \ pixmaps/all.xpm \ pixmaps/applied.xpm \ pixmaps/bg.xpm \ pixmaps/close.xpm \ pixmaps/coin.xpm \ pixmaps/crossfiretitle.xpm \ pixmaps/cursed.xpm \ pixmaps/damned.xpm \ pixmaps/hand.xpm \ pixmaps/hand2.xpm \ pixmaps/lock.xpm \ pixmaps/locked.xpm \ pixmaps/mag.xpm \ pixmaps/magic.xpm \ pixmaps/nonmag.xpm \ pixmaps/question.111 \ pixmaps/question.xpm \ pixmaps/skull.xpm \ pixmaps/stipple.111 \ pixmaps/stipple.112 \ pixmaps/test.xpm \ pixmaps/unpaid.xpm HELP= \ help/chelp.h \ help/shelp.h \ help/about.h UTILS = \ utils/config.guess \ utils/config.sub \ utils/mdk.sh \ utils/deftoheader.pl \ utils/install-sh \ utils/missing \ utils/mkinstalldirs SND_SOURCES = cfsndserv.c misc.c SND_OBJS= $(SND_SOURCES:.c=.o) INCLUDES = all: gcfclient cfclient cfsndserv def-keys.h gcfclient: $(GTK_OBJS) $(CC) -o gcfclient $(GTK_OBJS) $(LDFLAGS) $(LIBS) $(GTK_LIBS) cfclient: $(X11_OBJS) $(CC) -o cfclient $(X11_OBJS) $(LDFLAGS) $(LIBS) $(X_LIBS) # grumble grumble. cextract can't seem to handle gx11.c proto: cextract +p -P -o proto.h.bak -DCFCLIENT \ -cpp-program="gcc -E -C" $(INCLUDES) -I. $(PROTOSOURCES) sed -e "s/#if __STDC__/#ifdef __STDC__/" -e "/__inline/d" < \ proto.h.bak > proto.h $(RM) -f proto.h.bak chmod 664 proto.h item_types.h: item_types $(PERL) items.pl def-keys.h: def_keys utils/mdk.sh sounds: sounds.dist Makefile $(PERL) -p -e s#/usr/local/lib/sounds#$(SOUND_DIR)# sounds.dist > sounds soundsdef.h: sounds $(PERL) utils/deftoheader.pl sounds soundsdef.h def_sounds .c.o: $(CC) $(CFLAGS) $(INCLUDES) -c $*.c gx11.o: gx11.c $(CC) $(CFLAGS) $(GTK_CFLAGS) $(INCLUDES) -c gx11.c x11.o: x11.c $(CC) $(CFLAGS) $(X_CFLAGS) $(INCLUDES) -c x11.c cfsndserv: $(SND_OBJS) $(CC) -o cfsndserv $(SND_OBJS) $(LDFLAGS) $(SND_LIBS) archive: if [ -d /tmp/$(VERSION) ]; then $(RM) -rf /tmp/$(VERSION); fi $(MKDIR) /tmp/$(VERSION) /tmp/$(VERSION)/utils /tmp/$(VERSION)/help /tmp/$(VERSION)/pixmaps $(CP) $(HEADERS) $(SOURCES) $(EXTRA_DIST) /tmp/$(VERSION) $(CP) $(PIXMAPS) /tmp/$(VERSION)/pixmaps $(CP) $(HELP) /tmp/$(VERSION)/help $(CP) $(UTILS) /tmp/$(VERSION)/utils (cd /tmp; $(RM) $(VERSION).tgz; \ $(TAR) cvfhz $(VERSION).tar.gz $(VERSION) ) $(CP) /tmp/$(VERSION).tar.gz ../ $(RM) -rf /tmp/$(VERSION) /tmp/$(VERSION).tar.gz clean:: $(RM) -f $(TARGET) $(GTK_OBJS) $(SND_OBJS) x11.o Makefile.bak distclean:: $(MAKE) clean $(RM) -f config.status config.log config.cache $(RM) -f cfsndserv cfclient gcfclient install: $(INSTALL) $(TARGET) ${bindir} $(INSTALL) client.man ${mandir}/cfclient.1 @if [ -x gcfclient ]; then \ $(INSTALL) client.man ${mandir}/gcfclient.1; \ fi depend: $(DEPEND) $(DEPENDFLAGS) -- $(CFLAGS) $(INCLUDES) -- $(PROTOSOURCES) $(SND_SOURCES) -------------- next part -------------- -------------- next part -------------- # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs. It is not useful on other systems. # If it contains results you don't want to keep, you may remove or edit it. # # By default, configure uses ./config.cache as the cache file, # creating it if it does not exist already. You can give configure # the --cache-file=FILE option to use a different cache file; that is # what configure does when it calls configure scripts in # subdirectories, so they share the cache. # Giving --cache-file=/dev/null disables caching, for debugging configure. # config.status only pays attention to the cache file if you give it the # --recheck option to rerun configure. # ac_cv_c_bigendian=${ac_cv_c_bigendian=no} ac_cv_c_const=${ac_cv_c_const=yes} ac_cv_func_connect=${ac_cv_func_connect=yes} ac_cv_func_gethostbyname=${ac_cv_func_gethostbyname=yes} ac_cv_func_mkdir=${ac_cv_func_mkdir=yes} ac_cv_func_remove=${ac_cv_func_remove=yes} ac_cv_func_shmat=${ac_cv_func_shmat=yes} ac_cv_func_socket=${ac_cv_func_socket=yes} ac_cv_func_strcspn=${ac_cv_func_strcspn=yes} ac_cv_func_sysconf=${ac_cv_func_sysconf=yes} ac_cv_func_vprintf=${ac_cv_func_vprintf=yes} ac_cv_have_x=${ac_cv_have_x='have_x=yes ac_x_includes= ac_x_libraries=/usr/X11/lib'} ac_cv_header_Imlib_h=${ac_cv_header_Imlib_h=yes} ac_cv_header_X11_xpm_h=${ac_cv_header_X11_xpm_h=yes} ac_cv_header_fcntl_h=${ac_cv_header_fcntl_h=yes} ac_cv_header_stdc=${ac_cv_header_stdc=yes} ac_cv_header_string_h=${ac_cv_header_string_h=yes} ac_cv_header_sys_audioio_h=${ac_cv_header_sys_audioio_h=no} ac_cv_header_sys_ioctl_h=${ac_cv_header_sys_ioctl_h=yes} ac_cv_header_sys_select_h=${ac_cv_header_sys_select_h=yes} ac_cv_header_sys_soundcard_h=${ac_cv_header_sys_soundcard_h=yes} ac_cv_header_sys_time_h=${ac_cv_header_sys_time_h=yes} ac_cv_header_time=${ac_cv_header_time=yes} ac_cv_header_unistd_h=${ac_cv_header_unistd_h=yes} ac_cv_lib_ICE_IceConnectionNumber=${ac_cv_lib_ICE_IceConnectionNumber=yes} ac_cv_lib_Imlib_main=${ac_cv_lib_Imlib_main=yes} ac_cv_lib_Xext_main=${ac_cv_lib_Xext_main=yes} ac_cv_lib_Xpm_XpmReadFileToXpmImage=${ac_cv_lib_Xpm_XpmReadFileToXpmImage=yes} ac_cv_lib_asound_main=${ac_cv_lib_asound_main=yes} ac_cv_lib_audio_alNewConfig=${ac_cv_lib_audio_alNewConfig=no} ac_cv_lib_dmalloc_main=${ac_cv_lib_dmalloc_main=no} ac_cv_lib_dnet_dnet_ntoa=${ac_cv_lib_dnet_dnet_ntoa=no} ac_cv_lib_dnet_stub_dnet_ntoa=${ac_cv_lib_dnet_stub_dnet_ntoa=no} ac_cv_lib_gdk_imlib_main=${ac_cv_lib_gdk_imlib_main=yes} ac_cv_lib_m_sqrt=${ac_cv_lib_m_sqrt=yes} ac_cv_path_CP=${ac_cv_path_CP=/bin/cp} ac_cv_path_GTK_CONFIG=${ac_cv_path_GTK_CONFIG=/usr/bin/gtk-config} ac_cv_path_MKDIR=${ac_cv_path_MKDIR=/bin/mkdir} ac_cv_path_PERL=${ac_cv_path_PERL=/usr/bin/perl} ac_cv_path_RM=${ac_cv_path_RM=/bin/rm} ac_cv_path_TAR=${ac_cv_path_TAR=/bin/tar} ac_cv_path_install=${ac_cv_path_install='/usr/bin/ginstall -c'} ac_cv_prog_CC=${ac_cv_prog_CC=gcc} ac_cv_prog_CPP=${ac_cv_prog_CPP='gcc -E'} ac_cv_prog_LN_S=${ac_cv_prog_LN_S='ln -s'} ac_cv_prog_cc_cross=${ac_cv_prog_cc_cross=no} ac_cv_prog_cc_g=${ac_cv_prog_cc_g=yes} ac_cv_prog_cc_works=${ac_cv_prog_cc_works=yes} ac_cv_prog_gcc=${ac_cv_prog_gcc=yes} ac_cv_prog_gcc_traditional=${ac_cv_prog_gcc_traditional=no} ac_cv_prog_make_make_set=${ac_cv_prog_make_make_set=yes} -------------- next part -------------- I'm using Slackware Linux 2.2.16 (on both machines). Thanks for any help you can offer. -- Jesse Hughes "It's a dangerous place. It's a sacred place. They're going to live as the Aborigines did." -Survivor producer Mark Burnett on the Outback From jesse at andrew.cmu.edu Sun Aug 6 19:20:55 2000 From: jesse at andrew.cmu.edu (Jesse F. Hughes) Date: Thu Jan 13 18:03:36 2005 Subject: [CF List] Make depend error (!) Message-ID: <87lmy9gbvc.fsf@diogenes.localnet> Hey ho. When running `make depend', I get the following error: diogenes:/usr/src/crossfire-client-0.95.6# make depend g -O2 -DALSA_SOUND -DNEW_SOUND -Wall -I. -- client.c commands.c init.c item.c misc.c newsocket.c player.c sound.c x11.c cfsndserv.c misc.c make: g: Command not found make: [depend] Error 127 (ignored) As you can see, I'm running ALSA on this machine. On my other machine, I'm not using ALSA, and I had no problem compiling. But, I don't know if that has anything to do with it. The variable CC = gcc, while CFLAGS = -g -O2 -DALSA_SOUND -DNEW_SOUND -Wall -I. I've attached the Makefile and config.cache -- hope that helps. -------------- next part -------------- # Generated automatically from Makefile.in by configure. VERSION = crossfire-client-0.95.6 MKDIR = /bin/mkdir CP = /bin/cp TAR = /bin/tar RM = /bin/rm TARGET = gcfclient cfclient cfsndserv CFLAGS = -g -O2 -DALSA_SOUND -DNEW_SOUND -Wall -I. LDFLAGS = CC = gcc LIBS = -lm -lXpm INSTALL = /usr/bin/ginstall -c DEPEND = PERL = /usr/bin/perl SOUND_DIR = /usr/local/lib/sounds prefix=/usr/local exec_prefix=${prefix} bindir=${exec_prefix}/bin mandir=${prefix}/man/man1 HEADERS= \ cconfig.h \ client.h \ clientbmap.h \ item.h \ item_types.h \ newclient.h \ proto.h \ soundsdef.h SOURCES = \ client.c \ commands.c \ init.c \ item.c \ misc.c \ newsocket.c \ player.c \ sound.c GTK_SOURCES = $(SOURCES) gx11.c GTK_OBJS= $(GTK_SOURCES:.c=.o) X11_SOURCES = $(SOURCES) x11.c X11_OBJS= $(X11_SOURCES:.c=.o) X_CFLAGS= X_LIBS= -L/usr/X11/lib -lX11 -lXext -lImlib GTK_CFLAGS=-I/usr/X11R6/include -I/usr/lib/glib/include GTK_LIBS=-L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXext -lX11 -lm -lgdk_imlib SND_LIBS=-lasound -lm # proto only wants the .c files PROTOSOURCES= \ client.c \ commands.c \ init.c \ item.c \ misc.c \ newsocket.c \ player.c \ sound.c \ x11.c EXTRA_DIST = \ aclocal.m4 \ CHANGES \ COPYING \ Makefile.in \ Protocol \ README \ README.old \ aclocal.m4 \ client.man \ config.h.in \ configure \ configure.in \ def_keys \ def-keys.h \ item_types \ items.pl \ sounds.dist \ x11.c \ xutil.c \ gx11.c \ cfsndserv.c PIXMAPS = \ pixmaps/all.xpm \ pixmaps/applied.xpm \ pixmaps/bg.xpm \ pixmaps/close.xpm \ pixmaps/coin.xpm \ pixmaps/crossfiretitle.xpm \ pixmaps/cursed.xpm \ pixmaps/damned.xpm \ pixmaps/hand.xpm \ pixmaps/hand2.xpm \ pixmaps/lock.xpm \ pixmaps/locked.xpm \ pixmaps/mag.xpm \ pixmaps/magic.xpm \ pixmaps/nonmag.xpm \ pixmaps/question.111 \ pixmaps/question.xpm \ pixmaps/skull.xpm \ pixmaps/stipple.111 \ pixmaps/stipple.112 \ pixmaps/test.xpm \ pixmaps/unpaid.xpm HELP= \ help/chelp.h \ help/shelp.h \ help/about.h UTILS = \ utils/config.guess \ utils/config.sub \ utils/mdk.sh \ utils/deftoheader.pl \ utils/install-sh \ utils/missing \ utils/mkinstalldirs SND_SOURCES = cfsndserv.c misc.c SND_OBJS= $(SND_SOURCES:.c=.o) INCLUDES = all: gcfclient cfclient cfsndserv def-keys.h gcfclient: $(GTK_OBJS) $(CC) -o gcfclient $(GTK_OBJS) $(LDFLAGS) $(LIBS) $(GTK_LIBS) cfclient: $(X11_OBJS) $(CC) -o cfclient $(X11_OBJS) $(LDFLAGS) $(LIBS) $(X_LIBS) # grumble grumble. cextract can't seem to handle gx11.c proto: cextract +p -P -o proto.h.bak -DCFCLIENT \ -cpp-program="gcc -E -C" $(INCLUDES) -I. $(PROTOSOURCES) sed -e "s/#if __STDC__/#ifdef __STDC__/" -e "/__inline/d" < \ proto.h.bak > proto.h $(RM) -f proto.h.bak chmod 664 proto.h item_types.h: item_types $(PERL) items.pl def-keys.h: def_keys utils/mdk.sh sounds: sounds.dist Makefile $(PERL) -p -e s#/usr/local/lib/sounds#$(SOUND_DIR)# sounds.dist > sounds soundsdef.h: sounds $(PERL) utils/deftoheader.pl sounds soundsdef.h def_sounds .c.o: $(CC) $(CFLAGS) $(INCLUDES) -c $*.c gx11.o: gx11.c $(CC) $(CFLAGS) $(GTK_CFLAGS) $(INCLUDES) -c gx11.c x11.o: x11.c $(CC) $(CFLAGS) $(X_CFLAGS) $(INCLUDES) -c x11.c cfsndserv: $(SND_OBJS) $(CC) -o cfsndserv $(SND_OBJS) $(LDFLAGS) $(SND_LIBS) archive: if [ -d /tmp/$(VERSION) ]; then $(RM) -rf /tmp/$(VERSION); fi $(MKDIR) /tmp/$(VERSION) /tmp/$(VERSION)/utils /tmp/$(VERSION)/help /tmp/$(VERSION)/pixmaps $(CP) $(HEADERS) $(SOURCES) $(EXTRA_DIST) /tmp/$(VERSION) $(CP) $(PIXMAPS) /tmp/$(VERSION)/pixmaps $(CP) $(HELP) /tmp/$(VERSION)/help $(CP) $(UTILS) /tmp/$(VERSION)/utils (cd /tmp; $(RM) $(VERSION).tgz; \ $(TAR) cvfhz $(VERSION).tar.gz $(VERSION) ) $(CP) /tmp/$(VERSION).tar.gz ../ $(RM) -rf /tmp/$(VERSION) /tmp/$(VERSION).tar.gz clean:: $(RM) -f $(TARGET) $(GTK_OBJS) $(SND_OBJS) x11.o Makefile.bak distclean:: $(MAKE) clean $(RM) -f config.status config.log config.cache $(RM) -f cfsndserv cfclient gcfclient install: $(INSTALL) $(TARGET) ${bindir} $(INSTALL) client.man ${mandir}/cfclient.1 @if [ -x gcfclient ]; then \ $(INSTALL) client.man ${mandir}/gcfclient.1; \ fi depend: $(DEPEND) $(DEPENDFLAGS) -- $(CFLAGS) $(INCLUDES) -- $(PROTOSOURCES) $(SND_SOURCES) -------------- next part -------------- -------------- next part -------------- # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs. It is not useful on other systems. # If it contains results you don't want to keep, you may remove or edit it. # # By default, configure uses ./config.cache as the cache file, # creating it if it does not exist already. You can give configure # the --cache-file=FILE option to use a different cache file; that is # what configure does when it calls configure scripts in # subdirectories, so they share the cache. # Giving --cache-file=/dev/null disables caching, for debugging configure. # config.status only pays attention to the cache file if you give it the # --recheck option to rerun configure. # ac_cv_c_bigendian=${ac_cv_c_bigendian=no} ac_cv_c_const=${ac_cv_c_const=yes} ac_cv_func_connect=${ac_cv_func_connect=yes} ac_cv_func_gethostbyname=${ac_cv_func_gethostbyname=yes} ac_cv_func_mkdir=${ac_cv_func_mkdir=yes} ac_cv_func_remove=${ac_cv_func_remove=yes} ac_cv_func_shmat=${ac_cv_func_shmat=yes} ac_cv_func_socket=${ac_cv_func_socket=yes} ac_cv_func_strcspn=${ac_cv_func_strcspn=yes} ac_cv_func_sysconf=${ac_cv_func_sysconf=yes} ac_cv_func_vprintf=${ac_cv_func_vprintf=yes} ac_cv_have_x=${ac_cv_have_x='have_x=yes ac_x_includes= ac_x_libraries=/usr/X11/lib'} ac_cv_header_Imlib_h=${ac_cv_header_Imlib_h=yes} ac_cv_header_X11_xpm_h=${ac_cv_header_X11_xpm_h=yes} ac_cv_header_fcntl_h=${ac_cv_header_fcntl_h=yes} ac_cv_header_stdc=${ac_cv_header_stdc=yes} ac_cv_header_string_h=${ac_cv_header_string_h=yes} ac_cv_header_sys_audioio_h=${ac_cv_header_sys_audioio_h=no} ac_cv_header_sys_ioctl_h=${ac_cv_header_sys_ioctl_h=yes} ac_cv_header_sys_select_h=${ac_cv_header_sys_select_h=yes} ac_cv_header_sys_soundcard_h=${ac_cv_header_sys_soundcard_h=yes} ac_cv_header_sys_time_h=${ac_cv_header_sys_time_h=yes} ac_cv_header_time=${ac_cv_header_time=yes} ac_cv_header_unistd_h=${ac_cv_header_unistd_h=yes} ac_cv_lib_ICE_IceConnectionNumber=${ac_cv_lib_ICE_IceConnectionNumber=yes} ac_cv_lib_Imlib_main=${ac_cv_lib_Imlib_main=yes} ac_cv_lib_Xext_main=${ac_cv_lib_Xext_main=yes} ac_cv_lib_Xpm_XpmReadFileToXpmImage=${ac_cv_lib_Xpm_XpmReadFileToXpmImage=yes} ac_cv_lib_asound_main=${ac_cv_lib_asound_main=yes} ac_cv_lib_audio_alNewConfig=${ac_cv_lib_audio_alNewConfig=no} ac_cv_lib_dmalloc_main=${ac_cv_lib_dmalloc_main=no} ac_cv_lib_dnet_dnet_ntoa=${ac_cv_lib_dnet_dnet_ntoa=no} ac_cv_lib_dnet_stub_dnet_ntoa=${ac_cv_lib_dnet_stub_dnet_ntoa=no} ac_cv_lib_gdk_imlib_main=${ac_cv_lib_gdk_imlib_main=yes} ac_cv_lib_m_sqrt=${ac_cv_lib_m_sqrt=yes} ac_cv_path_CP=${ac_cv_path_CP=/bin/cp} ac_cv_path_GTK_CONFIG=${ac_cv_path_GTK_CONFIG=/usr/bin/gtk-config} ac_cv_path_MKDIR=${ac_cv_path_MKDIR=/bin/mkdir} ac_cv_path_PERL=${ac_cv_path_PERL=/usr/bin/perl} ac_cv_path_RM=${ac_cv_path_RM=/bin/rm} ac_cv_path_TAR=${ac_cv_path_TAR=/bin/tar} ac_cv_path_install=${ac_cv_path_install='/usr/bin/ginstall -c'} ac_cv_prog_CC=${ac_cv_prog_CC=gcc} ac_cv_prog_CPP=${ac_cv_prog_CPP='gcc -E'} ac_cv_prog_LN_S=${ac_cv_prog_LN_S='ln -s'} ac_cv_prog_cc_cross=${ac_cv_prog_cc_cross=no} ac_cv_prog_cc_g=${ac_cv_prog_cc_g=yes} ac_cv_prog_cc_works=${ac_cv_prog_cc_works=yes} ac_cv_prog_gcc=${ac_cv_prog_gcc=yes} ac_cv_prog_gcc_traditional=${ac_cv_prog_gcc_traditional=no} ac_cv_prog_make_make_set=${ac_cv_prog_make_make_set=yes} -------------- next part -------------- I'm using Slackware Linux 2.2.16 (on both machines). Thanks for any help you can offer. -- Jesse Hughes "It's a dangerous place. It's a sacred place. They're going to live as the Aborigines did." -Survivor producer Mark Burnett on the Outback From jesse at andrew.cmu.edu Sun Aug 6 19:20:55 2000 From: jesse at andrew.cmu.edu (Jesse F. Hughes) Date: Thu Jan 13 18:03:36 2005 Subject: [CF List] Make depend error (!) Message-ID: <87lmy9gbvc.fsf@diogenes.localnet> Hey ho. When running `make depend', I get the following error: diogenes:/usr/src/crossfire-client-0.95.6# make depend g -O2 -DALSA_SOUND -DNEW_SOUND -Wall -I. -- client.c commands.c init.c item.c misc.c newsocket.c player.c sound.c x11.c cfsndserv.c misc.c make: g: Command not found make: [depend] Error 127 (ignored) As you can see, I'm running ALSA on this machine. On my other machine, I'm not using ALSA, and I had no problem compiling. But, I don't know if that has anything to do with it. The variable CC = gcc, while CFLAGS = -g -O2 -DALSA_SOUND -DNEW_SOUND -Wall -I. I've attached the Makefile and config.cache -- hope that helps. -------------- next part -------------- # Generated automatically from Makefile.in by configure. VERSION = crossfire-client-0.95.6 MKDIR = /bin/mkdir CP = /bin/cp TAR = /bin/tar RM = /bin/rm TARGET = gcfclient cfclient cfsndserv CFLAGS = -g -O2 -DALSA_SOUND -DNEW_SOUND -Wall -I. LDFLAGS = CC = gcc LIBS = -lm -lXpm INSTALL = /usr/bin/ginstall -c DEPEND = PERL = /usr/bin/perl SOUND_DIR = /usr/local/lib/sounds prefix=/usr/local exec_prefix=${prefix} bindir=${exec_prefix}/bin mandir=${prefix}/man/man1 HEADERS= \ cconfig.h \ client.h \ clientbmap.h \ item.h \ item_types.h \ newclient.h \ proto.h \ soundsdef.h SOURCES = \ client.c \ commands.c \ init.c \ item.c \ misc.c \ newsocket.c \ player.c \ sound.c GTK_SOURCES = $(SOURCES) gx11.c GTK_OBJS= $(GTK_SOURCES:.c=.o) X11_SOURCES = $(SOURCES) x11.c X11_OBJS= $(X11_SOURCES:.c=.o) X_CFLAGS= X_LIBS= -L/usr/X11/lib -lX11 -lXext -lImlib GTK_CFLAGS=-I/usr/X11R6/include -I/usr/lib/glib/include GTK_LIBS=-L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXext -lX11 -lm -lgdk_imlib SND_LIBS=-lasound -lm # proto only wants the .c files PROTOSOURCES= \ client.c \ commands.c \ init.c \ item.c \ misc.c \ newsocket.c \ player.c \ sound.c \ x11.c EXTRA_DIST = \ aclocal.m4 \ CHANGES \ COPYING \ Makefile.in \ Protocol \ README \ README.old \ aclocal.m4 \ client.man \ config.h.in \ configure \ configure.in \ def_keys \ def-keys.h \ item_types \ items.pl \ sounds.dist \ x11.c \ xutil.c \ gx11.c \ cfsndserv.c PIXMAPS = \ pixmaps/all.xpm \ pixmaps/applied.xpm \ pixmaps/bg.xpm \ pixmaps/close.xpm \ pixmaps/coin.xpm \ pixmaps/crossfiretitle.xpm \ pixmaps/cursed.xpm \ pixmaps/damned.xpm \ pixmaps/hand.xpm \ pixmaps/hand2.xpm \ pixmaps/lock.xpm \ pixmaps/locked.xpm \ pixmaps/mag.xpm \ pixmaps/magic.xpm \ pixmaps/nonmag.xpm \ pixmaps/question.111 \ pixmaps/question.xpm \ pixmaps/skull.xpm \ pixmaps/stipple.111 \ pixmaps/stipple.112 \ pixmaps/test.xpm \ pixmaps/unpaid.xpm HELP= \ help/chelp.h \ help/shelp.h \ help/about.h UTILS = \ utils/config.guess \ utils/config.sub \ utils/mdk.sh \ utils/deftoheader.pl \ utils/install-sh \ utils/missing \ utils/mkinstalldirs SND_SOURCES = cfsndserv.c misc.c SND_OBJS= $(SND_SOURCES:.c=.o) INCLUDES = all: gcfclient cfclient cfsndserv def-keys.h gcfclient: $(GTK_OBJS) $(CC) -o gcfclient $(GTK_OBJS) $(LDFLAGS) $(LIBS) $(GTK_LIBS) cfclient: $(X11_OBJS) $(CC) -o cfclient $(X11_OBJS) $(LDFLAGS) $(LIBS) $(X_LIBS) # grumble grumble. cextract can't seem to handle gx11.c proto: cextract +p -P -o proto.h.bak -DCFCLIENT \ -cpp-program="gcc -E -C" $(INCLUDES) -I. $(PROTOSOURCES) sed -e "s/#if __STDC__/#ifdef __STDC__/" -e "/__inline/d" < \ proto.h.bak > proto.h $(RM) -f proto.h.bak chmod 664 proto.h item_types.h: item_types $(PERL) items.pl def-keys.h: def_keys utils/mdk.sh sounds: sounds.dist Makefile $(PERL) -p -e s#/usr/local/lib/sounds#$(SOUND_DIR)# sounds.dist > sounds soundsdef.h: sounds $(PERL) utils/deftoheader.pl sounds soundsdef.h def_sounds .c.o: $(CC) $(CFLAGS) $(INCLUDES) -c $*.c gx11.o: gx11.c $(CC) $(CFLAGS) $(GTK_CFLAGS) $(INCLUDES) -c gx11.c x11.o: x11.c $(CC) $(CFLAGS) $(X_CFLAGS) $(INCLUDES) -c x11.c cfsndserv: $(SND_OBJS) $(CC) -o cfsndserv $(SND_OBJS) $(LDFLAGS) $(SND_LIBS) archive: if [ -d /tmp/$(VERSION) ]; then $(RM) -rf /tmp/$(VERSION); fi $(MKDIR) /tmp/$(VERSION) /tmp/$(VERSION)/utils /tmp/$(VERSION)/help /tmp/$(VERSION)/pixmaps $(CP) $(HEADERS) $(SOURCES) $(EXTRA_DIST) /tmp/$(VERSION) $(CP) $(PIXMAPS) /tmp/$(VERSION)/pixmaps $(CP) $(HELP) /tmp/$(VERSION)/help $(CP) $(UTILS) /tmp/$(VERSION)/utils (cd /tmp; $(RM) $(VERSION).tgz; \ $(TAR) cvfhz $(VERSION).tar.gz $(VERSION) ) $(CP) /tmp/$(VERSION).tar.gz ../ $(RM) -rf /tmp/$(VERSION) /tmp/$(VERSION).tar.gz clean:: $(RM) -f $(TARGET) $(GTK_OBJS) $(SND_OBJS) x11.o Makefile.bak distclean:: $(MAKE) clean $(RM) -f config.status config.log config.cache $(RM) -f cfsndserv cfclient gcfclient install: $(INSTALL) $(TARGET) ${bindir} $(INSTALL) client.man ${mandir}/cfclient.1 @if [ -x gcfclient ]; then \ $(INSTALL) client.man ${mandir}/gcfclient.1; \ fi depend: $(DEPEND) $(DEPENDFLAGS) -- $(CFLAGS) $(INCLUDES) -- $(PROTOSOURCES) $(SND_SOURCES) -------------- next part -------------- -------------- next part -------------- # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs. It is not useful on other systems. # If it contains results you don't want to keep, you may remove or edit it. # # By default, configure uses ./config.cache as the cache file, # creating it if it does not exist already. You can give configure # the --cache-file=FILE option to use a different cache file; that is # what configure does when it calls configure scripts in # subdirectories, so they share the cache. # Giving --cache-file=/dev/null disables caching, for debugging configure. # config.status only pays attention to the cache file if you give it the # --recheck option to rerun configure. # ac_cv_c_bigendian=${ac_cv_c_bigendian=no} ac_cv_c_const=${ac_cv_c_const=yes} ac_cv_func_connect=${ac_cv_func_connect=yes} ac_cv_func_gethostbyname=${ac_cv_func_gethostbyname=yes} ac_cv_func_mkdir=${ac_cv_func_mkdir=yes} ac_cv_func_remove=${ac_cv_func_remove=yes} ac_cv_func_shmat=${ac_cv_func_shmat=yes} ac_cv_func_socket=${ac_cv_func_socket=yes} ac_cv_func_strcspn=${ac_cv_func_strcspn=yes} ac_cv_func_sysconf=${ac_cv_func_sysconf=yes} ac_cv_func_vprintf=${ac_cv_func_vprintf=yes} ac_cv_have_x=${ac_cv_have_x='have_x=yes ac_x_includes= ac_x_libraries=/usr/X11/lib'} ac_cv_header_Imlib_h=${ac_cv_header_Imlib_h=yes} ac_cv_header_X11_xpm_h=${ac_cv_header_X11_xpm_h=yes} ac_cv_header_fcntl_h=${ac_cv_header_fcntl_h=yes} ac_cv_header_stdc=${ac_cv_header_stdc=yes} ac_cv_header_string_h=${ac_cv_header_string_h=yes} ac_cv_header_sys_audioio_h=${ac_cv_header_sys_audioio_h=no} ac_cv_header_sys_ioctl_h=${ac_cv_header_sys_ioctl_h=yes} ac_cv_header_sys_select_h=${ac_cv_header_sys_select_h=yes} ac_cv_header_sys_soundcard_h=${ac_cv_header_sys_soundcard_h=yes} ac_cv_header_sys_time_h=${ac_cv_header_sys_time_h=yes} ac_cv_header_time=${ac_cv_header_time=yes} ac_cv_header_unistd_h=${ac_cv_header_unistd_h=yes} ac_cv_lib_ICE_IceConnectionNumber=${ac_cv_lib_ICE_IceConnectionNumber=yes} ac_cv_lib_Imlib_main=${ac_cv_lib_Imlib_main=yes} ac_cv_lib_Xext_main=${ac_cv_lib_Xext_main=yes} ac_cv_lib_Xpm_XpmReadFileToXpmImage=${ac_cv_lib_Xpm_XpmReadFileToXpmImage=yes} ac_cv_lib_asound_main=${ac_cv_lib_asound_main=yes} ac_cv_lib_audio_alNewConfig=${ac_cv_lib_audio_alNewConfig=no} ac_cv_lib_dmalloc_main=${ac_cv_lib_dmalloc_main=no} ac_cv_lib_dnet_dnet_ntoa=${ac_cv_lib_dnet_dnet_ntoa=no} ac_cv_lib_dnet_stub_dnet_ntoa=${ac_cv_lib_dnet_stub_dnet_ntoa=no} ac_cv_lib_gdk_imlib_main=${ac_cv_lib_gdk_imlib_main=yes} ac_cv_lib_m_sqrt=${ac_cv_lib_m_sqrt=yes} ac_cv_path_CP=${ac_cv_path_CP=/bin/cp} ac_cv_path_GTK_CONFIG=${ac_cv_path_GTK_CONFIG=/usr/bin/gtk-config} ac_cv_path_MKDIR=${ac_cv_path_MKDIR=/bin/mkdir} ac_cv_path_PERL=${ac_cv_path_PERL=/usr/bin/perl} ac_cv_path_RM=${ac_cv_path_RM=/bin/rm} ac_cv_path_TAR=${ac_cv_path_TAR=/bin/tar} ac_cv_path_install=${ac_cv_path_install='/usr/bin/ginstall -c'} ac_cv_prog_CC=${ac_cv_prog_CC=gcc} ac_cv_prog_CPP=${ac_cv_prog_CPP='gcc -E'} ac_cv_prog_LN_S=${ac_cv_prog_LN_S='ln -s'} ac_cv_prog_cc_cross=${ac_cv_prog_cc_cross=no} ac_cv_prog_cc_g=${ac_cv_prog_cc_g=yes} ac_cv_prog_cc_works=${ac_cv_prog_cc_works=yes} ac_cv_prog_gcc=${ac_cv_prog_gcc=yes} ac_cv_prog_gcc_traditional=${ac_cv_prog_gcc_traditional=no} ac_cv_prog_make_make_set=${ac_cv_prog_make_make_set=yes} -------------- next part -------------- I'm using Slackware Linux 2.2.16 (on both machines). Thanks for any help you can offer. -- Jesse Hughes "It's a dangerous place. It's a sacred place. They're going to live as the Aborigines did." -Survivor producer Mark Burnett on the Outback From jesse at andrew.cmu.edu Sun Aug 6 19:20:55 2000 From: jesse at andrew.cmu.edu (Jesse F. Hughes) Date: Thu Jan 13 18:03:36 2005 Subject: [CF List] Make depend error (!) Message-ID: <87lmy9gbvc.fsf@diogenes.localnet> Hey ho. When running `make depend', I get the following error: diogenes:/usr/src/crossfire-client-0.95.6# make depend g -O2 -DALSA_SOUND -DNEW_SOUND -Wall -I. -- client.c commands.c init.c item.c misc.c newsocket.c player.c sound.c x11.c cfsndserv.c misc.c make: g: Command not found make: [depend] Error 127 (ignored) As you can see, I'm running ALSA on this machine. On my other machine, I'm not using ALSA, and I had no problem compiling. But, I don't know if that has anything to do with it. The variable CC = gcc, while CFLAGS = -g -O2 -DALSA_SOUND -DNEW_SOUND -Wall -I. I've attached the Makefile and config.cache -- hope that helps. -------------- next part -------------- # Generated automatically from Makefile.in by configure. VERSION = crossfire-client-0.95.6 MKDIR = /bin/mkdir CP = /bin/cp TAR = /bin/tar RM = /bin/rm TARGET = gcfclient cfclient cfsndserv CFLAGS = -g -O2 -DALSA_SOUND -DNEW_SOUND -Wall -I. LDFLAGS = CC = gcc LIBS = -lm -lXpm INSTALL = /usr/bin/ginstall -c DEPEND = PERL = /usr/bin/perl SOUND_DIR = /usr/local/lib/sounds prefix=/usr/local exec_prefix=${prefix} bindir=${exec_prefix}/bin mandir=${prefix}/man/man1 HEADERS= \ cconfig.h \ client.h \ clientbmap.h \ item.h \ item_types.h \ newclient.h \ proto.h \ soundsdef.h SOURCES = \ client.c \ commands.c \ init.c \ item.c \ misc.c \ newsocket.c \ player.c \ sound.c GTK_SOURCES = $(SOURCES) gx11.c GTK_OBJS= $(GTK_SOURCES:.c=.o) X11_SOURCES = $(SOURCES) x11.c X11_OBJS= $(X11_SOURCES:.c=.o) X_CFLAGS= X_LIBS= -L/usr/X11/lib -lX11 -lXext -lImlib GTK_CFLAGS=-I/usr/X11R6/include -I/usr/lib/glib/include GTK_LIBS=-L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXext -lX11 -lm -lgdk_imlib SND_LIBS=-lasound -lm # proto only wants the .c files PROTOSOURCES= \ client.c \ commands.c \ init.c \ item.c \ misc.c \ newsocket.c \ player.c \ sound.c \ x11.c EXTRA_DIST = \ aclocal.m4 \ CHANGES \ COPYING \ Makefile.in \ Protocol \ README \ README.old \ aclocal.m4 \ client.man \ config.h.in \ configure \ configure.in \ def_keys \ def-keys.h \ item_types \ items.pl \ sounds.dist \ x11.c \ xutil.c \ gx11.c \ cfsndserv.c PIXMAPS = \ pixmaps/all.xpm \ pixmaps/applied.xpm \ pixmaps/bg.xpm \ pixmaps/close.xpm \ pixmaps/coin.xpm \ pixmaps/crossfiretitle.xpm \ pixmaps/cursed.xpm \ pixmaps/damned.xpm \ pixmaps/hand.xpm \ pixmaps/hand2.xpm \ pixmaps/lock.xpm \ pixmaps/locked.xpm \ pixmaps/mag.xpm \ pixmaps/magic.xpm \ pixmaps/nonmag.xpm \ pixmaps/question.111 \ pixmaps/question.xpm \ pixmaps/skull.xpm \ pixmaps/stipple.111 \ pixmaps/stipple.112 \ pixmaps/test.xpm \ pixmaps/unpaid.xpm HELP= \ help/chelp.h \ help/shelp.h \ help/about.h UTILS = \ utils/config.guess \ utils/config.sub \ utils/mdk.sh \ utils/deftoheader.pl \ utils/install-sh \ utils/missing \ utils/mkinstalldirs SND_SOURCES = cfsndserv.c misc.c SND_OBJS= $(SND_SOURCES:.c=.o) INCLUDES = all: gcfclient cfclient cfsndserv def-keys.h gcfclient: $(GTK_OBJS) $(CC) -o gcfclient $(GTK_OBJS) $(LDFLAGS) $(LIBS) $(GTK_LIBS) cfclient: $(X11_OBJS) $(CC) -o cfclient $(X11_OBJS) $(LDFLAGS) $(LIBS) $(X_LIBS) # grumble grumble. cextract can't seem to handle gx11.c proto: cextract +p -P -o proto.h.bak -DCFCLIENT \ -cpp-program="gcc -E -C" $(INCLUDES) -I. $(PROTOSOURCES) sed -e "s/#if __STDC__/#ifdef __STDC__/" -e "/__inline/d" < \ proto.h.bak > proto.h $(RM) -f proto.h.bak chmod 664 proto.h item_types.h: item_types $(PERL) items.pl def-keys.h: def_keys utils/mdk.sh sounds: sounds.dist Makefile $(PERL) -p -e s#/usr/local/lib/sounds#$(SOUND_DIR)# sounds.dist > sounds soundsdef.h: sounds $(PERL) utils/deftoheader.pl sounds soundsdef.h def_sounds .c.o: $(CC) $(CFLAGS) $(INCLUDES) -c $*.c gx11.o: gx11.c $(CC) $(CFLAGS) $(GTK_CFLAGS) $(INCLUDES) -c gx11.c x11.o: x11.c $(CC) $(CFLAGS) $(X_CFLAGS) $(INCLUDES) -c x11.c cfsndserv: $(SND_OBJS) $(CC) -o cfsndserv $(SND_OBJS) $(LDFLAGS) $(SND_LIBS) archive: if [ -d /tmp/$(VERSION) ]; then $(RM) -rf /tmp/$(VERSION); fi $(MKDIR) /tmp/$(VERSION) /tmp/$(VERSION)/utils /tmp/$(VERSION)/help /tmp/$(VERSION)/pixmaps $(CP) $(HEADERS) $(SOURCES) $(EXTRA_DIST) /tmp/$(VERSION) $(CP) $(PIXMAPS) /tmp/$(VERSION)/pixmaps $(CP) $(HELP) /tmp/$(VERSION)/help $(CP) $(UTILS) /tmp/$(VERSION)/utils (cd /tmp; $(RM) $(VERSION).tgz; \ $(TAR) cvfhz $(VERSION).tar.gz $(VERSION) ) $(CP) /tmp/$(VERSION).tar.gz ../ $(RM) -rf /tmp/$(VERSION) /tmp/$(VERSION).tar.gz clean:: $(RM) -f $(TARGET) $(GTK_OBJS) $(SND_OBJS) x11.o Makefile.bak distclean:: $(MAKE) clean $(RM) -f config.status config.log config.cache $(RM) -f cfsndserv cfclient gcfclient install: $(INSTALL) $(TARGET) ${bindir} $(INSTALL) client.man ${mandir}/cfclient.1 @if [ -x gcfclient ]; then \ $(INSTALL) client.man ${mandir}/gcfclient.1; \ fi depend: $(DEPEND) $(DEPENDFLAGS) -- $(CFLAGS) $(INCLUDES) -- $(PROTOSOURCES) $(SND_SOURCES) -------------- next part -------------- -------------- next part -------------- # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs. It is not useful on other systems. # If it contains results you don't want to keep, you may remove or edit it. # # By default, configure uses ./config.cache as the cache file, # creating it if it does not exist already. You can give configure # the --cache-file=FILE option to use a different cache file; that is # what configure does when it calls configure scripts in # subdirectories, so they share the cache. # Giving --cache-file=/dev/null disables caching, for debugging configure. # config.status only pays attention to the cache file if you give it the # --recheck option to rerun configure. # ac_cv_c_bigendian=${ac_cv_c_bigendian=no} ac_cv_c_const=${ac_cv_c_const=yes} ac_cv_func_connect=${ac_cv_func_connect=yes} ac_cv_func_gethostbyname=${ac_cv_func_gethostbyname=yes} ac_cv_func_mkdir=${ac_cv_func_mkdir=yes} ac_cv_func_remove=${ac_cv_func_remove=yes} ac_cv_func_shmat=${ac_cv_func_shmat=yes} ac_cv_func_socket=${ac_cv_func_socket=yes} ac_cv_func_strcspn=${ac_cv_func_strcspn=yes} ac_cv_func_sysconf=${ac_cv_func_sysconf=yes} ac_cv_func_vprintf=${ac_cv_func_vprintf=yes} ac_cv_have_x=${ac_cv_have_x='have_x=yes ac_x_includes= ac_x_libraries=/usr/X11/lib'} ac_cv_header_Imlib_h=${ac_cv_header_Imlib_h=yes} ac_cv_header_X11_xpm_h=${ac_cv_header_X11_xpm_h=yes} ac_cv_header_fcntl_h=${ac_cv_header_fcntl_h=yes} ac_cv_header_stdc=${ac_cv_header_stdc=yes} ac_cv_header_string_h=${ac_cv_header_string_h=yes} ac_cv_header_sys_audioio_h=${ac_cv_header_sys_audioio_h=no} ac_cv_header_sys_ioctl_h=${ac_cv_header_sys_ioctl_h=yes} ac_cv_header_sys_select_h=${ac_cv_header_sys_select_h=yes} ac_cv_header_sys_soundcard_h=${ac_cv_header_sys_soundcard_h=yes} ac_cv_header_sys_time_h=${ac_cv_header_sys_time_h=yes} ac_cv_header_time=${ac_cv_header_time=yes} ac_cv_header_unistd_h=${ac_cv_header_unistd_h=yes} ac_cv_lib_ICE_IceConnectionNumber=${ac_cv_lib_ICE_IceConnectionNumber=yes} ac_cv_lib_Imlib_main=${ac_cv_lib_Imlib_main=yes} ac_cv_lib_Xext_main=${ac_cv_lib_Xext_main=yes} ac_cv_lib_Xpm_XpmReadFileToXpmImage=${ac_cv_lib_Xpm_XpmReadFileToXpmImage=yes} ac_cv_lib_asound_main=${ac_cv_lib_asound_main=yes} ac_cv_lib_audio_alNewConfig=${ac_cv_lib_audio_alNewConfig=no} ac_cv_lib_dmalloc_main=${ac_cv_lib_dmalloc_main=no} ac_cv_lib_dnet_dnet_ntoa=${ac_cv_lib_dnet_dnet_ntoa=no} ac_cv_lib_dnet_stub_dnet_ntoa=${ac_cv_lib_dnet_stub_dnet_ntoa=no} ac_cv_lib_gdk_imlib_main=${ac_cv_lib_gdk_imlib_main=yes} ac_cv_lib_m_sqrt=${ac_cv_lib_m_sqrt=yes} ac_cv_path_CP=${ac_cv_path_CP=/bin/cp} ac_cv_path_GTK_CONFIG=${ac_cv_path_GTK_CONFIG=/usr/bin/gtk-config} ac_cv_path_MKDIR=${ac_cv_path_MKDIR=/bin/mkdir} ac_cv_path_PERL=${ac_cv_path_PERL=/usr/bin/perl} ac_cv_path_RM=${ac_cv_path_RM=/bin/rm} ac_cv_path_TAR=${ac_cv_path_TAR=/bin/tar} ac_cv_path_install=${ac_cv_path_install='/usr/bin/ginstall -c'} ac_cv_prog_CC=${ac_cv_prog_CC=gcc} ac_cv_prog_CPP=${ac_cv_prog_CPP='gcc -E'} ac_cv_prog_LN_S=${ac_cv_prog_LN_S='ln -s'} ac_cv_prog_cc_cross=${ac_cv_prog_cc_cross=no} ac_cv_prog_cc_g=${ac_cv_prog_cc_g=yes} ac_cv_prog_cc_works=${ac_cv_prog_cc_works=yes} ac_cv_prog_gcc=${ac_cv_prog_gcc=yes} ac_cv_prog_gcc_traditional=${ac_cv_prog_gcc_traditional=no} ac_cv_prog_make_make_set=${ac_cv_prog_make_make_set=yes} -------------- next part -------------- I'm using Slackware Linux 2.2.16 (on both machines). Thanks for any help you can offer. -- Jesse Hughes "It's a dangerous place. It's a sacred place. They're going to live as the Aborigines did." -Survivor producer Mark Burnett on the Outback From jesse at andrew.cmu.edu Sun Aug 6 21:14:59 2000 From: jesse at andrew.cmu.edu (Jesse F. Hughes) Date: Thu Jan 13 18:03:36 2005 Subject: [CF List] Small public server Message-ID: <8766pdkeak.fsf@phiwumbda.dyndns.org> Hey ho. I have a Celeron dual processor machine with 128 meg memory and an ADSL modem (640/90 -- the upload is unimpressive). Is it reasonable to set this up as an (undedicated) public server? I thought that I'd just leave the server running in the background while I go about my business. Am I dreaming? How many players typically play at once? -- Jesse Hughes Besides, I think Slackware sounds better than 'Microsoft,' don't you? -- Patrick Volkerding From mwedel at scruznet.com Mon Aug 7 00:03:26 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:36 2005 Subject: [CF List] Make depend error (!) References: <87lmy9gbvc.fsf@diogenes.localnet> Message-ID: <398E431E.9C3562C7@scruznet.com> Make sure that 'makedepend' is installed on your system (usually included in the Xfree86 developement package) and is in your PATH when you run configure (on my redhat system, it is in /usr/X11R6/bin) Note that make depend is not a critical error in terms of building the client and you can pretty safely ignore any errors on makedepend. (unless you plan to do developement, the dependancies should not be very important) From mwedel at scruznet.com Mon Aug 7 00:09:24 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:36 2005 Subject: [CF List] Small public server References: <8766pdkeak.fsf@phiwumbda.dyndns.org> Message-ID: <398E4484.E557C0D2@scruznet.com> "Jesse F. Hughes" wrote: > > Hey ho. > > I have a Celeron dual processor machine with 128 meg memory and an > ADSL modem (640/90 -- the upload is unimpressive). Is it reasonable > to set this up as an (undedicated) public server? I thought that I'd > just leave the server running in the background while I go about my > business. > > Am I dreaming? How many players typically play at once? This is not a simple question. First off, most of the bandwidth in terms of crossfire is going from the server to the client. I can't comment on how many people typically play on the public servers - perhaps someone running one can better comment. However, one thing to consider is how important that limited upload bandwidth is to you. Anyone who plays on your server and has a download link to themselves faster than that could assume all your upload bandwidth. This may not be a big deal if your not using your system at that time, but such bandwidth usage will have performance effects on your using that bandwdith, even stuff that is 90% in your direction (like web browsing). From what I recall, a player does not use much bandwidth when playing except when they are downloading new images. So hypothetically a few people may be able to use that 90 kbs upload to effectively play the game. From mwedel at scruznet.com Mon Aug 7 00:34:05 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:36 2005 Subject: [CF List] CVS changes. Message-ID: <398E4A4D.AEA318FB@scruznet.com> I just checked the following into the CVS repository (server & client): SERVER CHANGES The following change basically does the following: When the server sends an item name to the client, this item name is now two pieces - the first piece of the name is its singular form, the second piece is the plural name. This now makes items in the inventory appear more proper in terms of pluralization and just normal English. I did notice that the server does not know how to properly make 'torch' plural - it turns it into torchs. A matching check in for the client has also been done. include/newserver.h: Update VERSION_SC to 1024 common/item.c: Change query_base_name to take a second option on whether we should generate a plural version of the name or not. socket/item.c: Modify functions to use second argument on the query_base_name function. Update item commands to send two part names (singular & plural). Modify esrv_send_look to use item1 protocol command instead of item command. server/c_object.c: Update item_matched_string to use second option to query_base_name. Modify function to check against both singular and plural versions of name. server/shop.c: Modify shop_listing command usage in query_basename to use second option. It will also generate the singular name, but that is only used on sorting, so I don't think it will generally cause any problems. include/libproto.h: rebuilt because query_base_name has an addition opt. Mark Wedel 8/6/2000 CLIENT CHANGES: The following matches a change made to the server which includes two piece item names to make the item names in the client appear more perfect. Protocol: Updated to document the new item name transmission method. client.h: Update SC version to 1024. item.h: Remove name and o_name from item structure, instead there is now d_name, s_name, and p_name, representing the display name, singular name, and plural name. display name is derived from the s/p names plus nrof value. commands.c: Chance strncpy to memcpy, as a null character is used to seperate the two name values. UpdateItemCmd is also modified to supply an empty string to set_item_values instead of the same name if the name is unchanged. gx11.c, player.c, x11.c: use d_name instead of name to correspond with changes to item.h item.c: Update item initialization and clearing functions with new name elements. Update set_item_values with new two piece name support. remove adding 'a' and 'an' prefix to singular objects, as it generally doesn't look good in the look window and isn't all that useful in the inventory window either. Mark Wedel 8/6/2000 From mwedel at scruznet.com Tue Aug 8 01:44:33 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:36 2005 Subject: [Fwd: ALSA-Sound problem (was: [CF List] Make depend error (!))] Message-ID: <398FAC51.9A33A63B@scruznet.com> Anyone else out there using the client with ALSA sound? My box is using OSS, so I can't confirm whether the problem is with the client, or if ALSA versions have changed or anything of that nature. So if someone can confirm the bug and perhaps fix it or otherwise help out Jesse here, please do so. "Jesse F. Hughes" wrote: > > Thanks, I *was* missing makedepend (and some other X utilities). > > However, now I get the following error when making the client: > cfsndserv.c: In function `init_audio': > cfsndserv.c:241: `snd_pcm_playback_params_t' undeclared (first use in this function) > cfsndserv.c:241: (Each undeclared identifier is reported only once > cfsndserv.c:241: for each function it appears in.) > cfsndserv.c:241: parse error before `params' > cfsndserv.c:243: warning: passing arg 1 of `snd_pcm_open' from incompatible pointer type > cfsndserv.c:254: structure has no member named `channels' > cfsndserv.c:255: warning: implicit declaration of function `snd_pcm_playback_format' > cfsndserv.c:260: structure has no member named `channels' > cfsndserv.c:289: structure has no member named `channels' > cfsndserv.c:290: structure has no member named `channels' > cfsndserv.c:293: `params' undeclared (first use in this function) > cfsndserv.c:296: warning: implicit declaration of function `snd_pcm_playback_params' > cfsndserv.c:302: too few arguments to function `snd_pcm_file_descriptor' > cfsndserv.c:303: warning: implicit declaration of function `snd_pcm_block_mode' > make: *** [cfsndserv.o] Error 1 > > As I mentioned previously, I am using the ALSA sound driver. My > machine uses an internal card -- using the via686a driver. Please let > me know if I've omitted any relevant details. > > I tried t > -- > Jesse Hughes > "We must tell you a little bit about AFU (alt.folklore.urban) and his > ethically-bankrupt artifices. Our children depend on that." > --Goldflinger does it for the kids -------------- next part -------------- An embedded message was scrubbed... From: jesse@andrew.cmu.edu (Jesse F. Hughes) Subject: ALSA-Sound problem (was: [CF List] Make depend error (!)) Date: 07 Aug 2000 16:04:57 -0400 Size: 2908 Url: http://shadowknight.real-time.com/pipermail/crossfire/attachments/20000807/278e21a9/attachment.mht From mullern at mweb.co.za Tue Aug 8 07:01:41 2000 From: mullern at mweb.co.za (Neil Muller) Date: Thu Jan 13 18:03:37 2005 Subject: [Fwd: ALSA-Sound problem (was: [CF List] Make depend error (!))] In-Reply-To: <398FAC51.9A33A63B@scruznet.com>; from mwedel@scruznet.com on Mon, Aug 07, 2000 at 11:44:33PM -0700 References: <398FAC51.9A33A63B@scruznet.com> Message-ID: <20000808140141.B22121@jadie.home.org> On Mon, Aug 07, 2000 at 11:44:33PM -0700, Mark Wedel wrote: > > Anyone else out there using the client with ALSA sound? My box is using OSS, > so I can't confirm whether the problem is with the client, or if ALSA versions > have changed or anything of that nature. So if someone can confirm the bug and > perhaps fix it or otherwise help out Jesse here, please do so. I'm not sure on what version of ALSA the crossfire sound server was based on, but API for ALSA changed somewaht for version 0.5. I haven't looked at the details of the change though, so I unfortuntely can't provide more information. -- Neil Muller A Gentleman is someone who knows how to play the bagpipes and doesn't. I see no need to concern myself with the medical professions neurotic hangups about food. From mwedel at scruznet.com Sun Aug 13 23:49:21 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] CVS checking (client) Message-ID: <39977A51.E23CD42C@scruznet.com> Just checked into the CVS repository: The following change removes imlib as are png loading/rendering library - instead, we use our own local function located in png.c. libpng is still needed, but it removes the dependancy on imlib. Also, my home spun function renders all the png images crossfire uses correctly, while imlib had several it did not do properly. MSW 8/13/2000 Files affected: config.h, config.h.in: Change HAVE_IMLIB_H to HAVE_LIBPNG configure, configure.in: Change check from imlib to libpng. gx11.c,x11.c,xutil.c: Changed to use our functions and not imlib. png.c: new file that has our png support in it. From jesse at andrew.cmu.edu Wed Aug 16 09:00:47 2000 From: jesse at andrew.cmu.edu (Jesse F. Hughes) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] CVS checking (client) In-Reply-To: Mark Wedel's message of "Sun, 13 Aug 2000 21:49:21 -0700" References: <39977A51.E23CD42C@scruznet.com> Message-ID: <87sns5b90w.fsf@phiwumbda.dyndns.org> I'm interested in the changes to PNG display -- my imlib gives me problems. I didn't checkout the CVS of crossfire when I installed, however -- I got the latest release version. I'll probably wait until the next release to update, if that's not too far away. When do you expect a new release? And, where can I find instructions on downloading the CVS if I choose to go that route? Thanks. -- Jesse Hughes "We will run this with the same kind of openness that we've run Windows." Steve Ballmer, speaking about MS's new ".Net" project. From agreaterliving at altavista.com Thu Aug 17 23:28:40 2000 From: agreaterliving at altavista.com (A Greater Living!) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] As Seen On TV! ... Message-ID: An HTML attachment was scrubbed... URL: http://shadowknight.real-time.com/pipermail/crossfire/attachments/20000817/f1877a34/attachment.html From agreaterliving at altavista.com Thu Aug 17 23:28:40 2000 From: agreaterliving at altavista.com (A Greater Living!) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] As Seen On TV! ... Message-ID: An HTML attachment was scrubbed... URL: http://shadowknight.real-time.com/pipermail/crossfire/attachments/20000817/f1877a34/attachment.htm From agreaterliving at altavista.com Thu Aug 17 23:28:40 2000 From: agreaterliving at altavista.com (A Greater Living!) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] As Seen On TV! ... Message-ID: An HTML attachment was scrubbed... URL: http://shadowknight.real-time.com/pipermail/crossfire/attachments/20000817/f1877a34/attachment-0001.html From cpeirce at enderthethird.com Fri Aug 18 07:53:55 2000 From: cpeirce at enderthethird.com (Conner Peirce) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] Ads! Message-ID: <20000818125356.28894.qmail@pb151.postoffice.net> How the hell did all these corporations get the address for the CFire mailing list?? its STARTING to annoy me!!! This should NOT continue! Did someone use crossfire@ifi.uio.no as their address when registering some product? or did real-time do it? is this some new practice? WHAT???? From leaf at real-time.com Fri Aug 18 09:27:33 2000 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] Ads! In-Reply-To: <20000818125356.28894.qmail@pb151.postoffice.net> Message-ID: Someone is spamming the crossfire@ifi.uio.no mailing list, which ends up on this mailing list - check the message header. Received: from pat.uio.no ([129.240.130.16]) by lister.uio.no with esmtp (Exim 2.12 #7) id 13PdlI-0004Hg-00 for crossfire@ifi.uio.no; Fri, 18 Aug 2000 06:28:08 +0200 On 18 Aug 2000, Conner Peirce wrote: > How the hell did all these corporations get the address for the CFire mailing > list?? its STARTING to annoy me!!! > > This should NOT continue! Did someone use crossfire@ifi.uio.no as their > address when registering some product? or did real-time do it? is this some > new practice? WHAT???? From frankj at osc.no Fri Aug 18 09:40:00 2000 From: frankj at osc.no (Frank Tore Johansen) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] Ads! In-Reply-To: Message-ID: That's odd, I closed down crossfire@ifi.uio.no a while ago, obviously Kjetil must have done something with the way it works that I'm not aware of. I'll keep nudging him. -Frank. On Fri, 18 Aug 2000, Rick Tanner wrote: > Someone is spamming the crossfire@ifi.uio.no mailing list, which ends up > on this mailing list - check the message header. > > Received: from pat.uio.no ([129.240.130.16]) > by lister.uio.no with esmtp (Exim 2.12 #7) > id 13PdlI-0004Hg-00 > for crossfire@ifi.uio.no; Fri, 18 Aug 2000 06:28:08 +0200 > > On 18 Aug 2000, Conner Peirce wrote: > > > How the hell did all these corporations get the address for the CFire mailing > > list?? its STARTING to annoy me!!! > > > > This should NOT continue! Did someone use crossfire@ifi.uio.no as their > > address when registering some product? or did real-time do it? is this some > > new practice? WHAT???? From mkeuchen at gmx.li Fri Aug 18 11:50:52 2000 From: mkeuchen at gmx.li (Michael Keuchen) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] CVS checking (client) References: <87sns5b90w.fsf@phiwumbda.dyndns.org> Message-ID: <25968.966617452@www11.gmx.net> ... > And, where can I find instructions on downloading the CVS if I choose > to go that route? You will find the daily made crossfire packages in http://langmuir.eecs.berkeley.edu/pub/peterm/crossfire/todays_snapshot/ In the packages are the files extracted from the CVS tree. You don't have to use CVS yourself. Michael Keuchen -- Sent through GMX FreeMail - http://www.gmx.net From mkeuchen at gmx.li Fri Aug 18 11:50:52 2000 From: mkeuchen at gmx.li (Michael Keuchen) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] CVS checking (client) References: <87sns5b90w.fsf@phiwumbda.dyndns.org> Message-ID: <25968.966617452@www11.gmx.net> ... > And, where can I find instructions on downloading the CVS if I choose > to go that route? You will find the daily made crossfire packages in http://langmuir.eecs.berkeley.edu/pub/peterm/crossfire/todays_snapshot/ In the packages are the files extracted from the CVS tree. You don't have to use CVS yourself. Michael Keuchen -- Sent through GMX FreeMail - http://www.gmx.net From mkeuchen at gmx.li Fri Aug 18 11:50:52 2000 From: mkeuchen at gmx.li (Michael Keuchen) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] CVS checking (client) References: <87sns5b90w.fsf@phiwumbda.dyndns.org> Message-ID: <25968.966617452@www11.gmx.net> ... > And, where can I find instructions on downloading the CVS if I choose > to go that route? You will find the daily made crossfire packages in http://langmuir.eecs.berkeley.edu/pub/peterm/crossfire/todays_snapshot/ In the packages are the files extracted from the CVS tree. You don't have to use CVS yourself. Michael Keuchen -- Sent through GMX FreeMail - http://www.gmx.net From mkeuchen at gmx.li Fri Aug 18 11:50:52 2000 From: mkeuchen at gmx.li (Michael Keuchen) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] CVS checking (client) References: <87sns5b90w.fsf@phiwumbda.dyndns.org> Message-ID: <25968.966617452@www11.gmx.net> ... > And, where can I find instructions on downloading the CVS if I choose > to go that route? You will find the daily made crossfire packages in http://langmuir.eecs.berkeley.edu/pub/peterm/crossfire/todays_snapshot/ In the packages are the files extracted from the CVS tree. You don't have to use CVS yourself. Michael Keuchen -- Sent through GMX FreeMail - http://www.gmx.net From mkeuchen at gmx.li Fri Aug 18 11:50:52 2000 From: mkeuchen at gmx.li (Michael Keuchen) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] CVS checking (client) References: <87sns5b90w.fsf@phiwumbda.dyndns.org> Message-ID: <25968.966617452@www11.gmx.net> ... > And, where can I find instructions on downloading the CVS if I choose > to go that route? You will find the daily made crossfire packages in http://langmuir.eecs.berkeley.edu/pub/peterm/crossfire/todays_snapshot/ In the packages are the files extracted from the CVS tree. You don't have to use CVS yourself. Michael Keuchen -- Sent through GMX FreeMail - http://www.gmx.net From mkeuchen at gmx.li Fri Aug 18 11:50:52 2000 From: mkeuchen at gmx.li (Michael Keuchen) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] CVS checking (client) References: <87sns5b90w.fsf@phiwumbda.dyndns.org> Message-ID: <25968.966617452@www11.gmx.net> ... > And, where can I find instructions on downloading the CVS if I choose > to go that route? You will find the daily made crossfire packages in http://langmuir.eecs.berkeley.edu/pub/peterm/crossfire/todays_snapshot/ In the packages are the files extracted from the CVS tree. You don't have to use CVS yourself. Michael Keuchen -- Sent through GMX FreeMail - http://www.gmx.net From leaf at real-time.com Fri Aug 18 12:33:34 2000 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] CVS checking (client) In-Reply-To: <25968.966617452@www11.gmx.net> Message-ID: I am aware that this message has been posted to the mailing list several times. I am looking into the problem now - somehow a bad email address (as in a non-existant domain name) was subscribed to the list. The latest release of Mailman was suppose to fix this bug. Sorry for the additional SPAM. From andi.vogl at gmx.net Sun Aug 20 13:10:46 2000 From: andi.vogl at gmx.net (Andreas Vogl) Date: Thu Jan 13 18:03:37 2005 Subject: [CF List] question: how can I use the png images? Message-ID: <6064.966795046@www17.gmx.net> Sorry for being so incompetent :) I downloaded and installed the latest crossfire snapshot recently. But I can?t figure out how to convince my client of using the new png-images. Could some nice person help me out? Btw - is it possible to use png-images with crossedit yet? That would be very important if png should become the default format in future. I think a nice xpm-designed map could look very different with pngs... -- Sent through GMX FreeMail - http://www.gmx.net From tanner at real-time.com Tue Aug 22 13:28:15 2000 From: tanner at real-time.com (Bob Tanner) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Ads! In-Reply-To: <20000818125356.28894.qmail@pb151.postoffice.net>; from cpeirce@enderthethird.com on Fri, Aug 18, 2000 at 08:53:55AM -0400 References: <20000818125356.28894.qmail@pb151.postoffice.net> Message-ID: <20000822132815.L19051@real-time.com> Quoting Conner Peirce (cpeirce@enderthethird.com): > How the hell did all these corporations get the address for the CFire mailing > list?? its STARTING to annoy me!!! > > This should NOT continue! Did someone use crossfire@ifi.uio.no as their > address when registering some product? or did real-time do it? is this some > new practice? WHAT???? More then likely, a robot browed the crossfire web site and picked out any thing that looked like an email address. Then is forged the smtp from and started to spam the address picked off from the web site. No much we can do, I submitted the offender to MAPS, that is the best we can do. -- Bob Tanner | Phone : (612)943-8700 http://www.mn-linux.org | Fax : (612)943-8500 Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9 From tanner at real-time.com Tue Aug 22 13:28:15 2000 From: tanner at real-time.com (Bob Tanner) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Ads! In-Reply-To: <20000818125356.28894.qmail@pb151.postoffice.net>; from cpeirce@enderthethird.com on Fri, Aug 18, 2000 at 08:53:55AM -0400 References: <20000818125356.28894.qmail@pb151.postoffice.net> Message-ID: <20000822132815.L19051@real-time.com> Quoting Conner Peirce (cpeirce@enderthethird.com): > How the hell did all these corporations get the address for the CFire mailing > list?? its STARTING to annoy me!!! > > This should NOT continue! Did someone use crossfire@ifi.uio.no as their > address when registering some product? or did real-time do it? is this some > new practice? WHAT???? More then likely, a robot browed the crossfire web site and picked out any thing that looked like an email address. Then is forged the smtp from and started to spam the address picked off from the web site. No much we can do, I submitted the offender to MAPS, that is the best we can do. -- Bob Tanner | Phone : (612)943-8700 http://www.mn-linux.org | Fax : (612)943-8500 Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9 From tanner at real-time.com Tue Aug 22 16:15:24 2000 From: tanner at real-time.com (Bob Tanner) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Ads! In-Reply-To: <39A2E26F.7284E2C1@wrkhors.com>; from lembark@wrkhors.com on Tue, Aug 22, 2000 at 04:28:31PM -0400 References: <20000818125356.28894.qmail@pb151.postoffice.net> <20000822132815.L19051@real-time.com> <39A2E26F.7284E2C1@wrkhors.com> Message-ID: <20000822161524.Y19051@real-time.com> Quoting Steven Lembark (lembark@wrkhors.com): > > > No much we can do, I submitted the offender to MAPS, that is the best we can do. > > using sendmail? if so you can turn on the black-hole listing... > that is what MAPS does, it's a huge blackhole. :-) -- Bob Tanner | Phone : (612)943-8700 http://www.mn-linux.org | Fax : (612)943-8500 Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9 From peterm at tesla.EECS.Berkeley.EDU Thu Aug 24 04:01:43 2000 From: peterm at tesla.EECS.Berkeley.EDU (Peter Mardahl) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] New public server set up Message-ID: <200008240901.CAA26010@tesla.EECS.Berkeley.EDU> Hello, After a long hiatus, there is once again a crossfire server open to the public at Berkeley. The server: crossfire.csua.berkeley.edu (If that doesn't work, try coke.csua.berkeley.edu) Standard ports, standard maps, TMP maps are NOT recycled. Enjoy, PeterM From mwedel at scruznet.com Thu Aug 24 22:03:03 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] question: how can I use the png images? References: <6064.966795046@www17.gmx.net> Message-ID: <39A5E1E7.3E2789BB@scruznet.com> Andreas Vogl wrote: > > Sorry for being so incompetent :) > > I downloaded and installed the latest crossfire > snapshot recently. But I can?t figure out how to > convince my client of using the new png-images. > Could some nice person help me out? I only got around to updating the client man page right now to actually mention png images. The option to run the client with png images is '-png'. The server needs to be new enough to support png images. Also, you need the png library - I am assuming you grabbed it from the CVS repository - if you are using the last 0.95.6, you need the imlib setup. > > Btw - is it possible to use png-images with crossedit > yet? That would be very important if png should become > the default format in future. I think a nice xpm-designed > map could look very different with pngs... No - crossedit will likely get redone - designing with xpm images vs png should not make any differences, so it may just be more efficient when it is rewritten to just png and nothing else to keep the design a little simpler. From peterm at tesla.EECS.Berkeley.EDU Fri Aug 25 02:13:05 2000 From: peterm at tesla.EECS.Berkeley.EDU (Peter Mardahl) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Crossedit rewrite? Who? In-Reply-To: Your message of "Thu, 24 Aug 2000 23:03:03 EDT." <39A5E1E7.3E2789BB@scruznet.com> Message-ID: <200008250713.AAA31303@tesla.EECS.Berkeley.EDU> > > No - crossedit will likely get redone - designing with xpm images vs png sho >uld > not make any differences, so it may just be more efficient when it is rewritt >en > to just png and nothing else to keep the design a little simpler. Has anyone stepped forward to undertake this? It's a pretty large project.... PeterM From strongbox at hotpop.com Sat Aug 26 02:38:41 2000 From: strongbox at hotpop.com (strongbox@hotpop.com) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] AD:Family Reunion T Shirts & More Message-ID: <524.294855.226535@misspopmail.com> Message sent by: Kuppler Graphics, 32 West Main Street, Maple Shade, New Jersey, 08052, 1-800-810-4330. This list will NOT be sold. All addresses are automatically added to our remove list. Hello. My name is Bill from Kuppler Graphics. We do screenprinting on T Shirts, Sweatshirts, Jackets, Hats, Tote Bags and more! Do you or someone you know have a Family Reunion coming up? Kuppler Graphics would like to provide you with some great looking T Shirts for your Reunion. Kuppler Graphics can also provide you with custom T's and promotional items such as imprinted magnets, keychains, pens, mugs, hats, etc. for your business or any fundraising activity (church, school, business etc.) We also can provide you with quality embroidery. We are a family owned company with over 15 years of experience. All work is done at this location. No middle man. Our prices are great! Please call toll free 1-800-810-4330 if the reply to email is down for a quote or to discuss your screenprinting needs Bill Kuppler Graphics From mwedel at scruznet.com Sat Aug 26 20:14:15 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Crossedit rewrite? Who? References: <200008250713.AAA31303@tesla.EECS.Berkeley.EDU> Message-ID: <39A86B67.CAF5F3@scruznet.com> Peter Mardahl wrote: > > > > > No - crossedit will likely get redone - designing with xpm images vs png sho > >uld > > not make any differences, so it may just be more efficient when it is rewritt > >en > > to just png and nothing else to keep the design a little simpler. > > Has anyone stepped forward to undertake this? It's a pretty large > project.... > No one has stepped forward. I was hoping that that could be put off until after I clean up how objects are handled, so that the editor wouldn't need to know quite as much about objects and is more abstracted. Also, hopefully the gui builders at least make the layout of the editor and that work involved much less work than in the older days when most of that needed to get done by hand. From leaf at real-time.com Mon Aug 28 21:12:29 2000 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Glowing Crystals, defined please Message-ID: An email came my way where the person asked about a Glowing Crystal (you know, the on that you can "store" Spell Points with..) Basically, they where wondering what exactly they did, how they are used, how they work, etc. That is when I realized there is no information on this item on the website. I have to admit I don't use the crystals (I do wear a Crown of Might though, :) ) so I can't provide a very good summary. Can anyone help me out on this? Thanks. - Rick Tanner leaf@real-time.com From leaf at real-time.com Mon Aug 28 21:12:29 2000 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Glowing Crystals, defined please Message-ID: An email came my way where the person asked about a Glowing Crystal (you know, the on that you can "store" Spell Points with..) Basically, they where wondering what exactly they did, how they are used, how they work, etc. That is when I realized there is no information on this item on the website. I have to admit I don't use the crystals (I do wear a Crown of Might though, :) ) so I can't provide a very good summary. Can anyone help me out on this? Thanks. - Rick Tanner leaf@real-time.com From leaf at real-time.com Mon Aug 28 21:12:29 2000 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Glowing Crystals, defined please Message-ID: An email came my way where the person asked about a Glowing Crystal (you know, the on that you can "store" Spell Points with..) Basically, they where wondering what exactly they did, how they are used, how they work, etc. That is when I realized there is no information on this item on the website. I have to admit I don't use the crystals (I do wear a Crown of Might though, :) ) so I can't provide a very good summary. Can anyone help me out on this? Thanks. - Rick Tanner leaf@real-time.com From leaf at real-time.com Mon Aug 28 21:12:29 2000 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Glowing Crystals, defined please Message-ID: An email came my way where the person asked about a Glowing Crystal (you know, the on that you can "store" Spell Points with..) Basically, they where wondering what exactly they did, how they are used, how they work, etc. That is when I realized there is no information on this item on the website. I have to admit I don't use the crystals (I do wear a Crown of Might though, :) ) so I can't provide a very good summary. Can anyone help me out on this? Thanks. - Rick Tanner leaf@real-time.com From leaf at real-time.com Mon Aug 28 21:12:29 2000 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Glowing Crystals, defined please Message-ID: An email came my way where the person asked about a Glowing Crystal (you know, the on that you can "store" Spell Points with..) Basically, they where wondering what exactly they did, how they are used, how they work, etc. That is when I realized there is no information on this item on the website. I have to admit I don't use the crystals (I do wear a Crown of Might though, :) ) so I can't provide a very good summary. Can anyone help me out on this? Thanks. - Rick Tanner leaf@real-time.com From leaf at real-time.com Mon Aug 28 21:12:29 2000 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Glowing Crystals, defined please Message-ID: An email came my way where the person asked about a Glowing Crystal (you know, the on that you can "store" Spell Points with..) Basically, they where wondering what exactly they did, how they are used, how they work, etc. That is when I realized there is no information on this item on the website. I have to admit I don't use the crystals (I do wear a Crown of Might though, :) ) so I can't provide a very good summary. Can anyone help me out on this? Thanks. - Rick Tanner leaf@real-time.com From leaf at real-time.com Mon Aug 28 21:12:29 2000 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Glowing Crystals, defined please Message-ID: An email came my way where the person asked about a Glowing Crystal (you know, the on that you can "store" Spell Points with..) Basically, they where wondering what exactly they did, how they are used, how they work, etc. That is when I realized there is no information on this item on the website. I have to admit I don't use the crystals (I do wear a Crown of Might though, :) ) so I can't provide a very good summary. Can anyone help me out on this? Thanks. - Rick Tanner leaf@real-time.com From leaf at real-time.com Mon Aug 28 21:12:29 2000 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Glowing Crystals, defined please Message-ID: An email came my way where the person asked about a Glowing Crystal (you know, the on that you can "store" Spell Points with..) Basically, they where wondering what exactly they did, how they are used, how they work, etc. That is when I realized there is no information on this item on the website. I have to admit I don't use the crystals (I do wear a Crown of Might though, :) ) so I can't provide a very good summary. Can anyone help me out on this? Thanks. - Rick Tanner leaf@real-time.com From leaf at real-time.com Mon Aug 28 21:12:29 2000 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Glowing Crystals, defined please Message-ID: An email came my way where the person asked about a Glowing Crystal (you know, the on that you can "store" Spell Points with..) Basically, they where wondering what exactly they did, how they are used, how they work, etc. That is when I realized there is no information on this item on the website. I have to admit I don't use the crystals (I do wear a Crown of Might though, :) ) so I can't provide a very good summary. Can anyone help me out on this? Thanks. - Rick Tanner leaf@real-time.com From leaf at real-time.com Mon Aug 28 21:12:29 2000 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Glowing Crystals, defined please Message-ID: An email came my way where the person asked about a Glowing Crystal (you know, the on that you can "store" Spell Points with..) Basically, they where wondering what exactly they did, how they are used, how they work, etc. That is when I realized there is no information on this item on the website. I have to admit I don't use the crystals (I do wear a Crown of Might though, :) ) so I can't provide a very good summary. Can anyone help me out on this? Thanks. - Rick Tanner leaf@real-time.com From leaf at real-time.com Mon Aug 28 21:12:29 2000 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Glowing Crystals, defined please Message-ID: An email came my way where the person asked about a Glowing Crystal (you know, the on that you can "store" Spell Points with..) Basically, they where wondering what exactly they did, how they are used, how they work, etc. That is when I realized there is no information on this item on the website. I have to admit I don't use the crystals (I do wear a Crown of Might though, :) ) so I can't provide a very good summary. Can anyone help me out on this? Thanks. - Rick Tanner leaf@real-time.com From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:38 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From mwedel at scruznet.com Mon Aug 28 20:21:49 2000 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please References: Message-ID: <39AB102D.3569093D@scruznet.com> Rick Tanner wrote: > > An email came my way where the person asked about a Glowing Crystal (you > know, the on that you can "store" Spell Points with..) > > Basically, they where wondering what exactly they did, how they are used, > how they work, etc. > > That is when I realized there is no information on this item on the > website. I have to admit I don't use the crystals (I do wear a Crown of > Might though, :) ) so I can't provide a very good summary. > > Can anyone help me out on this? Glowing crystals store some number of spellpoints - default is 500 I believe, but this can be customized on a crystal by crystal basis, so some could have fewer, some could have more. If you have full spellpoints and apply the crystal, half of your spellpoints are transferred to the crystal, up to the maximum amount the crystal can store. If you are below full spellpoints and apply it, you draw points out of the crystal up to your maximum, and limited to when the crystal gets to 0 stored points. You apply them just like any other item. The speed of the animation is a rough indicator of how charged the crystal is - the faster the animation, the more points it has. I suppose this could be improved on by just having different images even - an empty crystal may just be grey and not glowing, a half charged crystal has an intermediate brightness, while a fully charged crystal would glow very brightly. But that would require some new images. From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:39 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From frankj at osc.no Tue Aug 29 08:37:28 2000 From: frankj at osc.no (Frank Tore Johansen) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: Message-ID: On Tue, 29 Aug 2000, Isak Styf wrote: > [snip] > If i have to choose i rather have that, than 11 copies of Rick Tanners first > mail on this thread and a stunning 18 copies of Mark Wedels answer. =) > [snip] > Other people on this list are seeing it to, right? Yup, I see it too. And this time it doesn't involve the old list in any way. According to the headers, the duplication happens somewhere within real-time.com. -Frank. From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From frankj at osc.no Tue Aug 29 08:37:28 2000 From: frankj at osc.no (Frank Tore Johansen) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: Message-ID: On Tue, 29 Aug 2000, Isak Styf wrote: > [snip] > If i have to choose i rather have that, than 11 copies of Rick Tanners first > mail on this thread and a stunning 18 copies of Mark Wedels answer. =) > [snip] > Other people on this list are seeing it to, right? Yup, I see it too. And this time it doesn't involve the old list in any way. According to the headers, the duplication happens somewhere within real-time.com. -Frank. From oxygen at ludd.luth.se Tue Aug 29 06:29:55 2000 From: oxygen at ludd.luth.se (Isak Styf) Date: Thu Jan 13 18:03:40 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: <39AB102D.3569093D@scruznet.com> Message-ID: Mark Wedel wrote 00-08-29 03.21: > Rick Tanner wrote: >> >> An email came my way where the person asked about a Glowing Crystal (you >> know, the on that you can "store" Spell Points with..) > Glowing crystals store some number of spellpoints - default is 500 I believe, > but this can be customized on a crystal by crystal basis, so some could have > fewer, some could have more. There has been some arguing about commercial spam on the cf lists. If i have to choose i rather have that, than 11 copies of Rick Tanners first mail on this thread and a stunning 18 copies of Mark Wedels answer. =) Has anyone found out why this happens sometimes? Other people on this list are seeing it to, right? I have a feeling i have heard something about it before. Ah well, i just thought i should point it out. Perhaps i scored a record or something. ;) Isak Styf oxygen@ludd.luth.se http://www.ludd.luth.se/~oxygen/ Computer Science student at the University of Lule? - Sweden V?nortsv?gen 26:66 Tel : 0920 681 02 S-977 54 Lule? ICQ : 3363257 From frankj at osc.no Tue Aug 29 08:37:28 2000 From: frankj at osc.no (Frank Tore Johansen) Date: Thu Jan 13 18:03:41 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: Message-ID: On Tue, 29 Aug 2000, Isak Styf wrote: > [snip] > If i have to choose i rather have that, than 11 copies of Rick Tanners first > mail on this thread and a stunning 18 copies of Mark Wedels answer. =) > [snip] > Other people on this list are seeing it to, right? Yup, I see it too. And this time it doesn't involve the old list in any way. According to the headers, the duplication happens somewhere within real-time.com. -Frank. From dragonm at leech.org Mon Aug 28 03:51:27 2000 From: dragonm at leech.org (Dragon Master) Date: Thu Jan 13 18:03:41 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: Message-ID: On Tue, 29 Aug 2000, Isak Styf wrote: > Mark Wedel wrote 00-08-29 03.21: > > > Rick Tanner wrote: > >> > >> An email came my way where the person asked about a Glowing Crystal (you > >> know, the on that you can "store" Spell Points with..) > > > Glowing crystals store some number of spellpoints - default is 500 I believe, > > but this can be customized on a crystal by crystal basis, so some could have > > fewer, some could have more. > > There has been some arguing about commercial spam on the cf lists. > > If i have to choose i rather have that, than 11 copies of Rick Tanners first > mail on this thread and a stunning 18 copies of Mark Wedels answer. =) > > Has anyone found out why this happens sometimes? > I'm consistently getting 19 copies of everything. 19 each from Rick, Mark, and Isak. BTW, I'm back. And my e-mail is back on Unix. Glory be. Is my CVS access gone? DM From dragonm at leech.org Mon Aug 28 03:51:27 2000 From: dragonm at leech.org (Dragon Master) Date: Thu Jan 13 18:03:41 2005 Subject: [CF List] Glowing Crystals, defined please In-Reply-To: Message-ID: On Tue, 29 Aug 2000, Isak Styf wrote: > Mark Wedel wrote 00-08-29 03.21: > > > Rick Tanner wrote: > >> > >> An email came my way where the person asked about a Glowing Crystal (you > >> know, the on that you can "store" Spell Points with..) > > > Glowing crystals store some number of spellpoints - default is 500 I believe, > > but this can be customized on a crystal by crystal basis, so some could have > > fewer, some could have more. > > There has been some arguing about commercial spam on the cf lists. > > If i have to choose i rather have that, than 11 copies of Rick Tanners first > mail on this thread and a stunning 18 copies of Mark Wedels answer. =) > > Has anyone found out why this happens sometimes? > I'm consistently getting 19 copies of everything. 19 each from Rick, Mark, and Isak. BTW, I'm back. And my e-mail is back on Unix. Glory be. Is my CVS access gone? DM From peterm at tesla.EECS.Berkeley.EDU Tue Aug 29 15:42:28 2000 From: peterm at tesla.EECS.Berkeley.EDU (Peter Mardahl) Date: Thu Jan 13 18:03:41 2005 Subject: [CF List] CVS access: should work. If not, contact me. In-Reply-To: Your message of "Mon, 28 Aug 2000 02:51:27 MDT." Message-ID: <200008292042.NAA22360@tesla.EECS.Berkeley.EDU> I haven't deliberately disabled anyone's CVS access. If you had it once, you should have it now. If not, please contact me. I recently fixed a problem with the CVS server. Try it once more before sending it on to me. > Is my CVS access gone? PeterM