Difference for include/define.h from version 1.4 to 1.5


version 1.4 version 1.5
Line 1
 
Line 1
 /*  /*
  * static char *rcsid_define_h =   * static char *rcsid_define_h =
  *   "$Id: define.h,v 1.4 1999/08/23 00:26:13 cvs Exp $";   *   "$Id: define.h,v 1.5 1999/09/17 20:54:35 damn Exp $";
  */   */
   
 /*  /*
Line 74
 
Line 74
 #define ARCHTABLE_TOO_SMALL 2  #define ARCHTABLE_TOO_SMALL 2
 #define TOO_MANY_ERRORS 3  #define TOO_MANY_ERRORS 3
   
 /* Only add new values to this list if somewhere in the program code,  
  * it is actually needed.  Just because you add a new monster does not  
  * mean it has to have a type defined here.  That only needs to happen  
  * if in some .c file, it needs to do certain special actions based on  
  * the monster type, that can not be handled by any of the numerous  
  * flags  
  * Also, if you add new entries, try and fill up the holes in this list.  
  */  
 #define PLAYER 1  
 #define BULLET 2  
 #define ROD 3  
 #define TREASURE 4  
 #define POTION 5  
 #define FOOD 6  
 #define POISON 7  
 #define BOOK 8  
 #define CLOCK 9  
 #define FBULLET 10  
 #define FBALL 11  
 #define LIGHTNING 12  
 #define ARROW 13  
 #define BOW 14  
 #define WEAPON 15  
 #define ARMOUR 16  
 #define PEDESTAL 17  
 #define ALTAR 18  
 #define CONFUSION 19  
 #define LOCKED_DOOR 20  
 #define SPECIAL_KEY 21  
 #define MAP 22  
 #define DOOR 23  
 #define KEY 24  
 #define MMISSILE 25  
 #define TIMED_GATE 26  
 #define TRIGGER 27  
 #define GRIMREAPER 28  
 #define MAGIC_EAR 29  
 #define TRIGGER_BUTTON 30  
 #define TRIGGER_ALTAR 31  
 #define TRIGGER_PEDESTAL 32  
 #define SHIELD 33  
 #define HELMET 34  
 #define HORN 35  
 #define MONEY 36  
 #define GRAVE 37  
 #define GRAVESTONE 38  
 #define AMULET 39  
 #define PLAYERMOVER 40  
 #define TELEPORTER 41  
 #define CREATOR 42  
 #define SKILL 43 /* Skills are similar to abilites, but  
  * not related to spells.  by njw@cs.city.ac.uk  
  */  
 #define EXPERIENCE 44 /* An experience 'object'. Needed for multi-exp/skills  
  * hack. -b.t. thomas@astro.psu.edu  
           */  
 #define EARTHWALL 45  
 #define GOLEM 46  
 #define BOMB 47  
 #define THROWN_OBJ 48  
 #define BLINDNESS 49  
 #define GOD 50  
   
 /*  peterm:  detector is an object which notices the presense of  
  another object and is triggered like buttons.  */  
 #define DETECTOR 51  
   
 #define SPEEDBALL 52  
 #define DEAD_OBJECT 53  
 #define DRINK 54  
 #define MARKER          55 /* inserts an invisible, weightless  
        force into a player with a specified string. */  
   
 #define GEM 60   
 #define FIRECHEST 61   
 #define FIREWALL 62  
   
 #define CHECK_INV 64 /* by b.t. thomas@nomad.astro.psu.edu */  
 #define MOOD_FLOOR 65 /* by b.t. thomas@nomad.astro.psu.edu   
  * values of last_sp set how to change:  
  * 0 = furious, all monsters become aggressive  
  * 1 = angry, all but friendly become aggressive  
  * 2 = calm, all aggressive monsters calm down   
  * 3 = sleep, all monsters fall asleep   
  * 4 = charm, monsters become pets  
  */  
 #define EXIT 66  
 #define ENCOUNTER 67  
 #define SHOP_FLOOR 68  
 #define SHOP_MAT 69  
 #define RING 70  
   
 #define FLESH 72 /* animal 'body parts' -b.t. */  
 #define INORGANIC 73 /* metals and minerals */   
   
 #define LIGHTER 75  
 #define TRAP_PART 76 /* Needed by set traps skill -b.t. */   
   
 #define SPELLBOOK 85  
   
 #define CLOAK 87  
 #define CONE 88  
   
 #define SPINNER 90  
 #define GATE 91  
 #define BUTTON 92  
 #define HANDLE 93  
 #define HOLE 94  
 #define TRAPDOOR 95  
 #define WORD_OF_RECALL 96  
 #define PARAIMAGE 97  
 #define SIGN 98  
 #define BOOTS 99  
 #define GLOVES 100  
   
 #define CONVERTER 103  
 #define BRACERS 104  
 #define POISONING 105  
 #define SAVEBED 106  
 #define POISONCLOUD 107  
 #define FIREHOLES 108  
 #define WAND 109  
 #define ABILITY 110  
 #define SCROLL 111  
 #define DIRECTOR 112  
 #define GIRDLE 113  
 #define FORCE 114  
   
   
 /* Eneq(@csd.uu.se): Id for close_container archetype. */  
 #define CLOSE_CON 121  
 #define CONTAINER 122  
 #define ARMOUR_IMPROVER 123  
 #define WEAPON_IMPROVER 124  
 #define MONEY_CHANGER 125  
   
 #define SKILLSCROLL 130 /* can add a skill to player's inventory -bt.*/  
   
 #define DEEP_SWAMP 138  
 #define IDENTIFY_ALTAR 139  
   
 #define CANCELLATION 141  
   
 /* Mark Wedel (mark@pyramid.com) Shop inventories */  
 #define MENU 150  
   
 /* peterm:  ball lightning and color spray */  
 #define BALL_LIGHTNING 151  
   
 #define SWARM_SPELL 153  
 #define RUNE 154  
   
 #define POWER_CRYSTAL 156  
 #define CORPSE 157  
   
 #define DISEASE 158  
 #define SYMPTOM 159  
   
 #define MAX_NAME 16  #define MAX_NAME 16
 #define BIG_NAME 32  #define BIG_NAME 32
 #define SIZEOFFREE 49  #define SIZEOFFREE 49
   
 /*  /*
  * Attacktypes:   * Attacktypes:
  * If this ever exceeds 16, rmember to change all the short's in global.h.  
  * (Already done, Vick 930307 :)  
  */   */
   
 #define NROFATTACKS 24  #define NROFATTACKS 24
Line 269
 
Line 109
 #define AT_BLIND 0x00400000 /*4194304 thomas@astro.psu.edu */   #define AT_BLIND 0x00400000 /*4194304 thomas@astro.psu.edu */
 #define AT_INTERNAL 0x00800000 /* Only used for internal calculations */  #define AT_INTERNAL 0x00800000 /* Only used for internal calculations */
   
 #define PATH_NULL 0x00000000  
 #define PATH_PROT 0x00000001  
 #define PATH_FIRE 0x00000002  
 #define PATH_FROST 0x00000004  
 #define PATH_ELEC 0x00000008  
 #define PATH_MISSILE 0x00000010  
 #define PATH_SELF 0x00000020  
 #define PATH_SUMMON 0x00000040  
 #define PATH_ABJURE 0x00000080  
 #define PATH_RESTORE 0x00000100  
 #define PATH_DETONATE 0x00000200  
 #define PATH_MIND 0x00000400  
 #define PATH_CREATE 0x00000800  
 #define PATH_TELE 0x00001000  
 #define PATH_INFO 0x00002000  
 #define PATH_TRANSMUTE 0x00004000  
 #define PATH_TRANSFER 0x00008000  
 #define PATH_TURNING 0x00010000  
 #define PATH_WOUNDING 0x00020000  
 #define PATH_DEATH 0x00040000  
 #define PATH_LIGHT 0x00080000  
   
 #define NRSPELLPATHS 20  
   
 #define NROFREALSPELLS 180 /* Number of different spells */  
   
 #define NROFSKILLS  32  /* match to the number of elements in skills[] array */  
   
 #define NROF_SOUNDS (23 + NROFREALSPELLS) /* Number of sounds */  #define NROF_SOUNDS (23 + NROFREALSPELLS) /* Number of sounds */
   
   
   
 #define NROFMATERIALS 9  
 #define M_PAPER 1  
 #define M_IRON 2  
 #define M_GLASS 4  
 #define M_LEATHER 8  
 #define M_WOOD 16  
 #define M_ORGANIC 32  
 #define M_STONE 64  
 #define M_CLOTH 128  
 #define M_ADAMANT       256  
   
 /* These are used in the MapLook flags element.  They are not used in  /* These are used in the MapLook flags element.  They are not used in
  * in the object flags structure.   * in the object flags structure.
  */   */
Line 323
 
Line 122
 #define P_IS_ALIVE      0x00000010 /* */  #define P_IS_ALIVE      0x00000010 /* */
 #define P_NO_CLERIC     0x00000020 /* no clerical spells cast here */  #define P_NO_CLERIC     0x00000020 /* no clerical spells cast here */
   
   
 /* Flag structure now changed.  
  * Each flag is now a bit offset, starting at zero.  The macros  
  * will update/read the appropriate flag element in the object  
  * structure.  
  *  
  * Hopefully, since these offsets are integer constants set at run time,  
  * the compiler will reduce the macros something as simple as the   
  * old system was.  
  *  
  * Flags now have FLAG as the prefix.  This to be clearer, and also  
  * to make sure F_ names are not still being used anyplace.  
  *  
  * The macros below assume that the flag size for each element is 32  
  * bits.  IF it is smaller, bad things will happen.  See structs.h  
  * for more info.  
  *  
  * All functions should use the macros below.  In process of converting  
  * to the new system, I find several files that did not use the previous  
  * macros.  
  *   
  * If any FLAG's are added, be sure to add them to the flag_links structure  
  * in common/loader.c, if necessary.  
  *  
  * flags[0] is 0 to 31  
  * flags[1] is 32 to 63  
  * flags[2] is 64 to 95  
  * flags[3] is 96 to 127  
  */  
 /* Basic routines to do above */  
 #define SET_FLAG(xyz, p) \  
  ((xyz)->flags[p/32] |= (1U << (p % 32)))  
 #define CLEAR_FLAG(xyz, p) \  
  ((xyz)->flags[p/32] &= ~(1U << (p % 32)))  
 #define QUERY_FLAG(xyz, p) \  
  ((xyz)->flags[p/32] & (1U << (p % 32)))  
   
   
 #define FLAG_ALIVE 0 /* Object can fight (or be fought) */  
 #define FLAG_WIZ 1 /* Object has special privilegies */  
 #define FLAG_REMOVED 2 /* Object is not in any map or invenory */  
 #define FLAG_FREED 3 /* Object is in the list of free objects */  
 #define FLAG_WAS_WIZ 4 /* Player was once a wiz */  
 #define FLAG_APPLIED 5 /* Object is ready for use by living */  
 #define FLAG_UNPAID 6 /* Object hasn't been paid for yet */  
 #define FLAG_AN 7 /* Name must be prepended by "an", not "a"*/  
 #define FLAG_NO_PICK 8 /* Object can't be picked up */  
 #define FLAG_WALK_ON 9 /* Applied when it's walked upon */  
 #define FLAG_NO_PASS 10 /* Nothing can pass (wall() is true) */  
 #define FLAG_ANIMATE 11 /* The object looks at archetype for faces */  
 #define FLAG_SLOW_MOVE 12 /* Uses the stats.exp/1000 to slow down */  
 #define FLAG_FLYING 13 /* Not affected by WALK_ON or SLOW_MOVE) */  
 #define FLAG_MONSTER 14 /* Will attack players */  
 #define FLAG_FRIENDLY 15 /* Will help players */  
 #define FLAG_GENERATOR 16 /* Will generate type ob->stats.food */  
 #define FLAG_IS_THROWN 17 /* Object is designed to be thrown. */  
 #define FLAG_AUTO_APPLY 18 /* Will be applied when created */  
 #define FLAG_TREASURE 19 /* Will generate treasure when applied */  
 #define FLAG_APPLY_ONCE 20 /* Will dissapear when applied */  
 #define FLAG_SEE_INVISIBLE 21 /* Will see invisible player */  
 #define FLAG_CAN_ROLL 22 /* Object can be rolled */  
 /* FLAG_IS_TURNING is no longer used */  
 /*#define FLAG_IS_TURNING 23 *//* Object will turn after player */  
 #define FLAG_IS_TURNABLE 24 /* Object can change face with direction */  
 #define FLAG_WALK_OFF 25 /* Object is applied when left */  
 #define FLAG_FLY_ON 26 /* As WALK_ON, but only with FLAG_FLYING */  
 #define FLAG_FLY_OFF 27 /* As WALK_OFF, but only with FLAG_FLYING */  
 #define FLAG_IS_USED_UP 28 /* When (--food<0) the object will exit */  
 #define FLAG_IDENTIFIED 29 /* Not implemented yet */  
 #define FLAG_REFLECTING 30 /* Object reflects from walls (lightning) */  
 #define FLAG_CHANGING 31 /* Changes to other_arch when anim is done*/  
 /* Start of values in flags[1] */  
 #define FLAG_SPLITTING 32 /* Object splits into stats.food other objs */  
 #define FLAG_HITBACK 33 /* Object will hit back when hit */  
 #define FLAG_STARTEQUIP 34 /* Object was given to player at start */  
 #define FLAG_BLOCKSVIEW 35 /* Object blocks view */  
 #define FLAG_UNDEAD 36 /* Monster is undead */  
 #define FLAG_SCARED 37 /* Monster is scared (mb player in future)*/  
 #define FLAG_UNAGGRESSIVE 38 /* Monster doesn't attack players */  
 #define FLAG_REFL_MISSILE 39 /* Arrows will reflect from object */  
 #define FLAG_REFL_SPELL 40 /* Spells (some) will reflect from object */  
 #define FLAG_NO_MAGIC 41 /* Spells (some) can't pass this object */  
 #define FLAG_NO_FIX_PLAYER 42 /* fix_player() won't be called */  
 #define FLAG_NEED_IE 43 /* 1 ruby -> 2 rubies */  
 #define FLAG_TEAR_DOWN 44 /* at->faces[hp*animations/maxhp] at hit */  
 #define FLAG_RUN_AWAY 45 /* Object runs away from nearest player \  
        but can still attack at a distance */  
 #define FLAG_PASS_THRU 46 /* Objects with can_pass_thru can pass \  
        thru this object as if it wasn't there */  
 #define FLAG_CAN_PASS_THRU 47 /* Can pass thru... */  
 #define FLAG_PICK_UP 48 /* Can pick up */  
 #define FLAG_UNIQUE 49 /* Item is really unique (UNIQUE_ITEMS) */  
 #define FLAG_NO_DROP 50 /* Object can't be dropped */  
 #define FLAG_NO_PRETEXT 51 /* No text is added before name. */  
 #define FLAG_CAST_SPELL 52 /* (Monster) can learn and cast spells */  
 #define FLAG_USE_SCROLL 53 /* (Monster) can read scroll */  
 #define FLAG_USE_WAND 54 /* (Monster) can apply and use wands */  
 #define FLAG_USE_BOW 55 /* (Monster) can apply and fire bows */  
 #define FLAG_USE_ARMOUR 56 /* (Monster) can wear armour/shield/helmet */  
 #define FLAG_USE_WEAPON 57 /* (Monster) can wield weapons */  
 #define FLAG_USE_RING 58 /* (Monster) can use rings, boots, gauntlets, etc */  
 #define FLAG_READY_WAND 59 /* (Monster) has a wand readied... 8) */  
 #define FLAG_READY_BOW 60 /* not implemented yet */  
 #define FLAG_XRAYS 61 /* X-ray vision */  
 #define FLAG_NO_APPLY 62 /* Avoids step_on/fly_on to this object */  
 #define FLAG_IS_FLOOR 63 /* Can't see what's underneath this object */  
 #define FLAG_LIFESAVE 64 /* Saves a players' life once, then destr. */  
 /* Start of values in flags[2] */  
 #define FLAG_NO_STRENGTH 65 /* Strength-bonus not added to wc/dam */  
 #define FLAG_SLEEP 66 /* NPC is sleeping */  
 #define FLAG_STAND_STILL 67 /* NPC will not (ever) move */  
 #define FLAG_RANDOM_MOVE 68 /* NPC will move randomly */  
 #define FLAG_ONLY_ATTACK 69 /* NPC will evaporate if there is no enemy */  
 #define FLAG_CONFUSED 70 /* Will also be unable to cast spells */  
 #define FLAG_STEALTH 71 /* Will wake monsters with less range */  
 #define FLAG_WIZPASS 72 /* The wizard can go through walls */  
 #define FLAG_IS_LINKED 73 /* The object is linked with other objects */  
 #define FLAG_CURSED 74 /* The object is cursed */  
 #define FLAG_DAMNED 75 /* The object is _very_ cursed */  
 #define FLAG_SEE_ANYWHERE 76 /* The object will be visible behind walls */  
 #define FLAG_KNOWN_MAGICAL 77 /* The object is known to be magical */  
 #define FLAG_KNOWN_CURSED 78 /* The object is known to be cursed */  
 #define FLAG_CAN_USE_SKILL 79 /* The monster can use skills */  
 #define FLAG_BEEN_APPLIED 80 /* The object has been applied */  
 #define FLAG_READY_ROD 81 /* (Monster) has a rod readied... 8) */  
 #define FLAG_USE_ROD 82 /* (Monster) can apply and use rods */  
 #define FLAG_READY_HORN 83 /* (Monster) has a horn readied */  
 #define FLAG_USE_HORN 84 /* (Monster) can apply and use horns */  
 #define FLAG_MAKE_INVIS         85 /* (Item) gives invisibility when applied */  
 #define FLAG_INV_LOCKED 86 /* Item will not be dropped from inventory */  
 #define FLAG_IS_WOODED 87 /* Item is wooded terrain */  
 #define FLAG_IS_HILLY 88 /* Item is hilly/mountain terrain */  
 #define FLAG_READY_SKILL 89 /* (Monster or Player) has a skill readied */  
 #define FLAG_READY_WEAPON 90 /* (Monster or Player) has a weapon readied */  
 #define FLAG_NO_SKILL_IDENT 91 /* If set, item cannot be identified w/ a skill */  
 #define FLAG_BLIND 92 /* If set, object cannot see (visually) */  
 #define FLAG_SEE_IN_DARK 93 /* if set ob not effected by darkness */   
 #define FLAG_IS_CAULDRON 94 /* container can make alchemical stuff */  
 #define FLAG_DUST 95 /* item is a 'powder', effects throwing */  
 /* Start of values in flags[3] */  
 #define FLAG_NO_STEAL 96 /* Item can't be stolen */  
 #define FLAG_ONE_HIT 97 /* Monster can only hit once before going  
      * away (replaces ghosthit)  
      */  
 #define FLAG_CLIENT_SENT 98 /* THIS IS A DEBUG FLAG ONLY.  We use it to  
      * detect cases were the server is trying  
      * to send an upditem when we have not  
      * actually sent the item.  
      */  
 #define NUM_FLAGS 98 /* Should always be equal to the last  
      * defined flag */  
   
 /* Values can go up to 127 before the size of the flags array in the  
  * object structure needs to be enlarged.  
  */  
   
   
 #define NROFNEWOBJS(xyz) ((xyz)->stats.food)  #define NROFNEWOBJS(xyz) ((xyz)->stats.food)
   
 #define SLOW_PENALTY(xyz) ((xyz)->stats.exp)/1000.0  
 #define SET_SLOW_PENALTY(xyz,fl) (xyz)->stats.exp=(fl)*1000  
 #define SET_GENERATE_TYPE(xyz,va) (xyz)->stats.sp=(va)  
 #define GENERATE_TYPE(xyz) ((xyz)->stats.sp)  
 #define GENERATE_SPEED(xyz) ((xyz)->stats.maxsp) /* if(!RANDOM()%<speed>) */  
   
 /* Note: These values are only a default value, resizing can change them */  /* Note: These values are only a default value, resizing can change them */
 #define INV_SIZE 12 /* How many items can be viewed in inventory */  #define INV_SIZE 12 /* How many items can be viewed in inventory */
 #define LOOK_SIZE 6 /* ditto, but for the look-window */  #define LOOK_SIZE 6 /* ditto, but for the look-window */
Line 534
 
Line 170
 #define D_LOCK(xyz) (xyz)->contr->freeze_inv=(xyz)->contr->freeze_look=1;  #define D_LOCK(xyz) (xyz)->contr->freeze_inv=(xyz)->contr->freeze_look=1;
 #define D_UNLOCK(xyz) (xyz)->contr->freeze_inv=(xyz)->contr->freeze_look=0;  #define D_UNLOCK(xyz) (xyz)->contr->freeze_inv=(xyz)->contr->freeze_look=0;
   
 #define ARMOUR_SPEED(xyz) (xyz)->last_sp  
 #define ARMOUR_SPELLS(xyz) (xyz)->last_heal  
 #define WEAPON_SPEED(xyz) (xyz)->last_sp  
   
   
 /*  /*
  * Flags to generate_treasures():   * Flags to generate_treasures():
Line 547
 
Line 179
 #define GT_ENVIRONMENT 1  #define GT_ENVIRONMENT 1
 #define GT_INVISIBLE 2  #define GT_INVISIBLE 2
   
 /******************************************************************************/  
 /* Monster Movements added by kholland@sunlab.cit.cornell.edu                 */  
 /******************************************************************************/  
 /* if your monsters start acting wierd, mail me                               */  
 /******************************************************************************/  
 /* the following definitions are for the attack_movement variable in monsters */  
 /* if the attack_variable movement is left out of the monster archetype, or is*/  
 /* set to zero                                                                */  
 /* the standard mode of movement from previous versions of crossfire will be  */  
 /* used. the upper four bits of movement data are not in effect when the monst*/  
 /* er has an enemy. these should only be used for non agressive monsters.     */  
 /* to program a monsters movement add the attack movement numbers to the movem*/  
 /* ment numbers example a monster that moves in a circle until attacked and   */  
 /* then attacks from a distance:                                              */  
 /*                                                      CIRCLE1 = 32          */  
 /*                                              +       DISTATT = 1           */  
 /*                                      -------------------                   */  
 /*                      attack_movement = 33                                  */  
 /******************************************************************************/  
 #define DISTATT  1 /* move toward a player if far, but mantain some space,  */  
                    /* attack from a distance - good for missile users only  */  
 #define RUNATT   2 /* run but attack if player catches up to object         */  
 #define HITRUN   3 /* run to then hit player then run away cyclicly         */  
 #define WAITATT  4 /* wait for player to approach then hit, move if hit     */  
 #define RUSH     5 /* Rush toward player blindly, similiar to dumb monster  */  
 #define ALLRUN   6 /* always run never attack good for sim. of weak player  */  
 #define DISTHIT  7 /* attack from a distance if hit as recommended by Frank */  
 #define WAIT2    8 /* monster does not try to move towards player if far    */  
                    /* maintains comfortable distance                        */  
 #define PETMOVE 16 /* if the upper four bits of move_type / attack_movement */  
                    /* are set to this number, the monster follows a player  */  
                    /* until the owner calls it back or off                  */  
                    /* player followed denoted by 0b->owner                  */  
                    /* the monster will try to attack whatever the player is */  
                    /* attacking, and will continue to do so until the owner */  
                    /* calls off the monster - a key command will be         */  
                    /* inserted to do so                                     */  
 #define CIRCLE1 32 /* if the upper four bits of move_type / attack_movement */  
                    /* are set to this number, the monster will move in a    */  
                    /* circle until it is attacked, or the enemy field is    */  
                    /* set, this is good for non-aggressive monsters and NPC */   
 #define CIRCLE2 48 /* same as above but a larger circle is used             */  
 #define PACEH   64 /* The Monster will pace back and forth until attacked   */  
                    /* this is HORIZONTAL movement                           */  
 #define PACEH2  80 /* the monster will pace as above but the length of the  */  
                    /* pace area is longer and the monster stops before      */  
                    /* changing directions                                   */  
                    /* this is HORIZONTAL movement                           */  
 #define RANDO   96 /* the monster will go in a random direction until       */  
                    /* it is stopped by an obstacle, then it chooses another */  
                    /* direction.                                            */  
 #define RANDO2 112 /* constantly move in a different random direction       */  
 #define PACEV  128 /* The Monster will pace back and forth until attacked   */  
                    /* this is VERTICAL movement                             */  
 #define PACEV2 144 /* the monster will pace as above but the length of the  */  
                    /* pace area is longer and the monster stops before      */  
                    /* changing directions                                   */  
                    /* this is VERTICAL movement                             */  
 #define LO4     15 /* bitmasks for upper and lower 4 bits from 8 bit fields */  
 #define HI4    240  
   
 /*  
  * Use of the state-variable in player objects:  
  */  
   
 #define ST_PLAYING      0  
 #define ST_PLAY_AGAIN   1  
 #define ST_ROLL_STAT    2  
 #define ST_CHANGE_CLASS 3  
 #define ST_CONFIRM_QUIT 4  
 #define ST_CONFIGURE    5  
 #define ST_GET_NAME     6  
 #define ST_GET_PASSWORD 7  
 #define ST_CONFIRM_PASSWORD     8  
 #define ST_GET_PARTY_PASSWORD 10  
   
 #define BLANK_FACE_NAME "blank.111"  #define BLANK_FACE_NAME "blank.111"
 #define BLOCKED_FACE_NAME "blocked.111"  #define BLOCKED_FACE_NAME "blocked.111"
 #define STIPPLE1_FACE_NAME "stipple.111"  #define STIPPLE1_FACE_NAME "stipple.111"
Line 657
 
Line 213
       strcat(retbuf,")"); \        strcat(retbuf,")"); \
     }      }
    
    
 #define DESCRIBE_PATH(retbuf, variable, name) \  
     if(variable) { \  
       int i,j=0; \  
       strcat(retbuf,"(" name ": "); \  
       for(i=0; i<NRSPELLPATHS; i++) \  
         if(variable & (1<<i)) { \  
           if (j) \  
             strcat(retbuf,", "); \  
           else \  
             j = 1; \  
           strcat(retbuf, spellpathnames[i]); \  
         } \  
       strcat(retbuf,")"); \  
     }  
   
 #define AP_APPLY 1  #define AP_APPLY 1
 #define AP_UNAPPLY 2  #define AP_UNAPPLY 2
   


Legend:
line(s) removed in v.1.4 
line(s) changed
 line(s) added in v.1.5

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