/**************************************************************************** * [S]imulated [M]edieval [A]dventure multi[U]ser [G]ame | \\._.// * * -----------------------------------------------------------| (0...0) * * SMAUG 1.4 (C) 1994, 1995, 1996, 1998 by Derek Snider | ).:.( * * -----------------------------------------------------------| {o o} * * SMAUG code team: Thoric, Altrag, Blodkai, Narn, Haus, | / ' ' \ * * Scryn, Rennard, Swordbearer, Gorog, Grishnakh, Nivek, |~'~.VxvxV.~'~* * Tricops and Fireblade | * * ------------------------------------------------------------------------ * * Merc 2.1 Diku Mud improvments copyright (C) 1992, 1993 by Michael * * Chastain, Michael Quan, and Mitchell Tse. * * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe. * * ------------------------------------------------------------------------ * * Misc module for general commands: not skills or spells * **************************************************************************** * Note: Most of the stuff in here would go in act_obj.c, but act_obj was * * getting big. * ****************************************************************************/ #include <stdio.h> #include <stdarg.h> #include <string.h> #include "mud.h" /* Extended Bitvector Routines -Thoric */ /* check to see if the extended bitvector is completely empty */ bool ext_is_empty( EXT_BV * bits ) { int x; for( x = 0; x < XBI; x++ ) if( bits->bits[x] != 0 ) return false; return true; } void ext_clear_bits( EXT_BV * bits ) { int x; for( x = 0; x < XBI; x++ ) bits->bits[x] = 0; } /* Read an extended bitvector from a file. -Thoric */ EXT_BV fread_bitvector( FILE * fp ) { EXT_BV ret; int c, x = 0; int num = 0; memset( &ret, '\0', sizeof( ret ) ); for( ;; ) { num = fread_number( fp ); if( x < XBI ) ret.bits[x] = num; ++x; if( ( c = getc( fp ) ) != '&' ) { ungetc( c, fp ); break; } } return ret; }