/*************************************************************************** * 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 * ***************************************************************************/ /* externs */ extern char str_empty[1]; extern int mobile_count; /* stuff for providing a crash-proof buffer */ #define MAX_BUF 16384 #define MAX_BUF_LIST 10 #define BASE_BUF 1024 /* valid states */ #define BUFFER_SAFE 0 #define BUFFER_OVERFLOW 1 #define BUFFER_FREED 2 /* ban data recycling */ #define BD BAN_DATA BD *new_ban args( (void) ); void free_ban args( (BAN_DATA *ban) ); #undef BD /* wizlist data recycling */ #define WD WIZ_DATA WD *new_wiz args( (void) ); void free_wiz args( (WIZ_DATA *wiz) ); #undef WD /* descriptor recycling */ #define DD DESCRIPTOR_DATA DD *new_descriptor args( (void) ); void free_descriptor args( (DESCRIPTOR_DATA *d) ); #undef DD /* char gen data recycling */ #define GD GEN_DATA GD *new_gen_data args( (void) ); void free_gen_data args( (GEN_DATA * gen) ); #undef GD /* extra descr recycling */ #define ED EXTRA_DESCR_DATA ED *new_extra_descr args( (void) ); void free_extra_descr args( (EXTRA_DESCR_DATA *ed) ); #undef ED /* affect recycling */ #define AD AFFECT_DATA AD *new_affect args( (void) ); void free_affect args( (AFFECT_DATA *af) ); #undef AD /* object recycling */ #define OD OBJ_DATA OD *new_obj args( (void) ); void free_obj args( (OBJ_DATA *obj) ); #undef OD /* character recyling */ #define CD CHAR_DATA #define PD PC_DATA CD *new_char args( (void) ); void free_char args( (CHAR_DATA *ch) ); PD *new_pcdata args( (void) ); void free_pcdata args( (PC_DATA *pcdata) ); #undef PD #undef CD /* mob id and memory procedures */ #define MD MEM_DATA long get_pc_id args( (void) ); long get_mob_id args( (void) ); MD *new_mem_data args( (void) ); void free_mem_data args( ( MEM_DATA *memory) ); MD *find_memory args( (MEM_DATA *memory, long id) ); #undef MD /* buffer procedures */ BUFFER *new_buf args( (void) ); BUFFER *new_buf_size args( (int size) ); void free_buf args( (BUFFER *buffer) ); bool add_buf args( (BUFFER *buffer, char *string) ); void clear_buf args( (BUFFER *buffer) ); char *buf_string args( (BUFFER *buffer) ); HELP_DATA * new_help args( ( void ) ); void free_help args( ( HELP_DATA * ) ); AUCTION_DATA *new_auction args ((void)); void free_auction args ((AUCTION_DATA * auction)); /* bounty recycling */ #define BD BOUNTY_DATA BD *new_bounty args( (void) ); void free_bounty args( (BOUNTY_DATA *b) ); #undef BD /* timed event recycling */ #define ED EVENT_DATA ED *new_event args( (void) ); void free_event args( (ED *ev) ); #undef ED /* statlist data recycling */ STAT_DATA *new_stat_data args((void)); void free_stat_data args((STAT_DATA * stat)); /* pet recycling */ #define PD PET_DATA PD *new_pet args( (void) ); void free_pet args( (PET_DATA *pEt) ); #undef PD /* house recycling */ #define HD HOUSE_DATA HD *new_house args( (void) ); void free_house args( (HOUSE_DATA *hOuse) ); #undef HD /* mail recycling */ #define MD MAIL_DATA MD *new_mail args( (void) ); void free_mail args( (MAIL_DATA *mAIL) ); #undef MD