> > on wizbits, as an aside to hex, have you guys started using that idea
> > whereby you could stuff like 80 bits into one var? i heard some bits and
> > pieces from pythe or fred about some sorta linked long shit or somethin,
> > i dunno... wonderin anything ever came of that, and if so, what? ;}
>
> I haven't heard of 'em at all..unless you're talking about a long
> double. I know under Borland C's DOS compiler, a long double is 80 bits,
> but I was under the impression that it wasn't ANSI, portable, or even
> especially kosher for use in everyday code. You could also just use an
> array of long[2] and write an intelligent function-like macro to figure
> out which long to compare with, but you'll run smack up against word
> ordering on different machines, as well as the cases where you need to
> check bits from both elements of the array.
You can always use C-structure bitfields. If I was writing Circle from
scratch today, I'd ditch the entire IS_SET() macros and use bitfields instead.
You can have as many bits as you want and you don't need to use macros to
access them. i.e.:
struct player_bits {
int killer:1;
int thief:1;
int frozen:1;
int writing:1;
int mailing:1;
int crash:1;
int siteok:1;
int noshout:1;
};
etc. The structure above takes up 8 bits (i.e. 1 byte) in memory but can
nevertheless be accessed as a normal structure, i.e.:
vict->player_bits.noshout = 1;
send_to_char("Noshout enabled.\n\r", ch);
or,
if (ch->player_bits.noshout) {
send_to_char("You can't shout!\n", ch);
return;
}
Jeremy
This archive was generated by hypermail 2b30 : 12/18/00 PST