/* * RAM $Id: db.h 16 2008-10-22 04:42:21Z ram $ */ /*************************************************************************** * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe. * * * * Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael * * Chastain, Michael Quan, and Mitchell Tse. * * * * In order to use any part of this Merc Diku Mud, you must comply with * * both the original Diku license in 'license.doc' as well the Merc * * license in 'license.txt'. In particular, you may not remove either of * * these copyright notices. * * * * Much time and thought has gone into this software and you are * * benefitting. We hope that you share your changes too. What goes * * around, comes around. * ***************************************************************************/ /*************************************************************************** * ROM 2.4 is copyright 1993-1998 Russ Taylor * * ROM has been brought to you by the ROM consortium * * Russ Taylor (rtaylor@hypercube.org) * * Gabrielle Taylor (gtaylor@hypercube.org) * * Brian Moore (zump@rom.org) * * By using this code, you have agreed to follow the terms of the * * ROM license, in the file Rom24/doc/rom.license * ***************************************************************************/ /* macro for flag swapping */ #define GET_UNSET(flag1,flag2) (~(flag1)&((flag1)|(flag2))) extern HELP_DATA *help_first; extern HELP_DATA *help_last; extern SHOP_DATA *shop_first; extern SHOP_DATA *shop_last; extern AREA_DATA *area_first; extern AREA_DATA *area_last; extern char bug_buf[2 * MAX_INPUT_LENGTH]; extern char log_buf[2 * MAX_INPUT_LENGTH]; extern CHAR_DATA *char_list; extern char *help_greeting; extern KILL_DATA kill_table[MAX_LEVEL]; extern OBJ_DATA *object_list; extern TIME_INFO_DATA time_info; extern WEATHER_DATA weather_info; extern MOB_INDEX_DATA *mob_index_hash[MAX_KEY_HASH]; extern OBJ_INDEX_DATA *obj_index_hash[MAX_KEY_HASH]; extern ROOM_INDEX_DATA *room_index_hash[MAX_KEY_HASH]; extern char *string_hash[MAX_KEY_HASH]; extern char *string_space; extern char *top_string; extern char str_empty[1]; extern int top_affect; extern int top_area; extern int top_ed; extern int top_exit; extern int top_help; extern int top_mob_index; extern int top_obj_index; extern int top_reset; extern int top_room; extern int top_shop; extern int mobile_count; extern int newmobs; extern int newobjs; extern int nAllocString; extern size_t sAllocString; extern int nAllocPerm; extern size_t sAllocPerm; extern bool fBootDb; extern FILE *fpArea; extern char strArea[MAX_INPUT_LENGTH]; extern struct social_type social_table[MAX_SOCIALS]; extern int social_count; void boot_db( void ); void load_area( FILE * fp ); void load_helps( FILE * fp ); void load_old_mob( FILE * fp ); void load_old_obj( FILE * fp ); void load_resets( FILE * fp ); void load_rooms( FILE * fp ); void load_shops( FILE * fp ); void load_specials( FILE * fp ); void fix_exits( void ); void area_update( void ); void reset_area( AREA_DATA *pArea ); CHAR_DATA *create_mobile( MOB_INDEX_DATA *pMobIndex ); void clone_mobile( CHAR_DATA *parent, CHAR_DATA *clone ); OBJ_DATA *create_object( OBJ_INDEX_DATA *pObjIndex, int level ); void clone_object( OBJ_DATA *parent, OBJ_DATA *clone ); void clear_char( CHAR_DATA *ch ); char *get_extra_descr( char *name, EXTRA_DESCR_DATA *ed ); MOB_INDEX_DATA *get_mob_index( int vnum ); OBJ_INDEX_DATA *get_obj_index( int vnum ); ROOM_INDEX_DATA *get_room_index( int vnum ); char fread_letter( FILE * fp ); int fread_number( FILE * fp ); int fread_flag( FILE * fp ); int flag_convert( char letter ); char *fread_string( FILE * fp ); char *fread_string_eol( FILE * fp ); void fread_to_eol( FILE * fp ); char *fread_word( FILE * fp ); void *alloc_mem( size_t sMem ); void free_mem( void *pMem, size_t sMem ); void *alloc_perm( size_t sMem ); char *str_dup( const char *str ); void free_string( char *pstr ); int number_fuzzy( int number ); int number_range( int from, int to ); int number_percent( void ); int number_door( void ); int number_bits( int width ); void init_mm( void ); int number_mm( void ); int dice( int number, int size ); int interpolate( int level, int value_00, int value_32 ); void smash_tilde( char *str ); bool str_cmp( const char *astr, const char *bstr ); bool str_prefix( const char *astr, const char *bstr ); bool str_infix( const char *astr, const char *bstr ); bool str_suffix( const char *astr, const char *bstr ); char *capitalize( const char *str ); void append_file( CHAR_DATA *ch, const char *file, const char *str ); void bug( const char *str, int param ); void log_string( const char *str ); void tail_chain( void ); void load_socials( FILE * fp ); void load_mobiles( FILE * fp ); void load_objects( FILE * fp );