On Fri, Sep 13, 2002 at 01:27:20AM -0700, Mathew Earle Reuther wrote: >As usual, I am struggling with bitvector_t and 64 flag problems. :) > >Say I have a line like this: > sprintbit(GET_OBJ_EXTRA(OLC_OBJ(d)), extra_bits, bitbuf, > sizeof(bitbuf)); > >I have 35 options in the menu itself. I can choose 1-31 just fine, but >when I press 32 or more, it prints out the wrong bits. (Say 34 is >ANTI_DRUID, it prints BLAZING UNUSED UNUSED UNUSED or something.) > >Any idea what causes this? I'm been banging my head against bitvector GET_OBJ_EXTRA() is a bitvector_t (unsigned long long int) right? /* object flags; used in obj_data */ struct obj_flag_data { int value[NUM_OBJ_VAL_POSITIONS]; /* Values of the item (see list) */ int level; --> bitvector_t wear_flags; /* Where you can wear it */ --> bitvector_t extra_flags; /* If it hums, glows, etc. */ int weight; /* Weigt what else */ int cost; /* Value when sold (gp.) */ int cost_per_day; /* Cost to keep pr. real day */ int timer; /* Timer for object */ --> bitvector_t bitvector; /* To set chars bits */ byte type_flag; /* Type of item */ }; -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | | Newbie List: http://groups.yahoo.com/group/circle-newbies/ | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/25/03 PDT