well, slowly but surely, i am hacking away at this bitfield code... in act.item.c, search for: af.bitvector = AFF_POISON; and replace it with: af.bitvector.AFF_POISON = 1; (there should be two occurances of this). now i am stumped with the ITEM_WEAR stuff. in perform_wear in act.item.c, i am getting the following error: act.item.c:1117: structure has no member named `wear_bitvectors' where the offending line is: if (!CAN_WEAR(obj, wear_bitvectors[where])) { where CAN_WEAR is defined as: #define CAN_WEAR(obj, part) (((obj)->obj_flags.wear_flags.part)) the wear_bitvectors is defined as an int array: int wear_bitvectors[] = { ITEM_WEAR_TAKE, ITEM_WEAR_FINGER, ITEM_WEAR_FINGER, ITEM_WEAR_NECK, ITEM_WEAR_NECK, ITEM_WEAR_BODY, ITEM_WEAR_HEAD, ITEM_WEAR_LEGS, ITEM_WEAR_FEET, ITEM_WEAR_HANDS, ITEM_WEAR_ARMS, ITEM_WEAR_SHIELD, ITEM_WEAR_ABOUT, ITEM_WEAR_WAIST, ITEM_WEAR_WRIST, ITEM_WEAR_WRIST, ITEM_WEAR_WIELD, ITEM_WEAR_TAKE }; but these are not defined as integers in structs.h, but rather as a structure of bitfields: /* Take/Wear flags: used by obj_data.obj_flags.wear_flags */ struct can_be_worn_on { BIT(ITEM_WEAR_TAKE); /* Item can be takes */ BIT(ITEM_WEAR_FINGER); /* Can be worn on finger */ BIT(ITEM_WEAR_NECK); /* Can be worn around neck */ BIT(ITEM_WEAR_BODY); /* Can be worn on body */ etc. }; clearly, that wear_bitvectors is defined as an integer array is wrong, but i have no idea what to change it to, or else how to change CAN_WEAR :O basically, i have no idea how to go about fixing this problem :( i hate knowing what is wrong, but not knowing how to fix it ;P any ideas? :) anybody know who submitted this bitfield version of the mud? ;) +-----------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | +-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST