distorted/
distorted/area/
distorted/data/CLN/
/***************************************************************************
 *  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-1995 Russ Taylor                         * 
*       ROM has been brought to you by the ROM consortium                  * 
*           Russ Taylor (rtaylor@pacinfo.com)                              * 
*           Gabrielle Taylor (gtaylor@pacinfo.com)                         * 
*           Brian Moore (rom@rom.efn.org)                                  * 
*       By using this code, you have agreed to follow the terms of the     * 
*       ROM license, in the file Rom24/doc/rom.license                     * 
***************************************************************************/ 
 
/***************************************************************************  
*       ROT 1.4 is copyright 1996-1997 by Russ Walsh                       *  
*       By using this code, you have agreed to follow the terms of the     *  
*       ROT license, in the file doc/rot.license                           *  
***************************************************************************/ 
 
/* externs */ 
extern char str_empty[1]; 
extern int mobile_count; 
 
/* stuff for providing a crash-proof buffer */ 
 
/*
#define MAX_BUF        32768
#define MAX_BUF         65536
#define MAX_BUF_LIST    11 
#define BASE_BUF        1024
*/

#define MAX_BUF	        30000
#define MAX_BUF_LIST 	10
#define BASE_BUF 	1024

 
/* valid states */ 
#define BUFFER_SAFE     0 
#define BUFFER_OVERFLOW 1 
#define BUFFER_FREED    2 
 
/* note recycling */ 
#define ND NOTE_DATA 
ND      *new_note args( (void) ); 
void    free_note args( (NOTE_DATA *note) ); 
#undef ND 
 
/* 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 
 
/* banklist data recycling */ 
#define KD BANK_DATA 
KD      *new_bank args( (void) ); 
void    free_bank args( (BANK_DATA *bank) ); 
#undef KD 
 
/* clan data recycling 
#define CL CLN_DATA 
CL      *new_cln args( (void) );
void    free_cln args( (CLN_DATA *cln) ); 
#undef CL */ 
 
/* clan data recycling 
#define MB MBR_DATA 
MB      *new_mbr args( (void) ); 
void    free_mbr args( (MBR_DATA *mbr) ); 
#undef MB */ 
 
/* 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) ); 
COOLDOWN_DATA *new_cooldown args( (void) );
void    free_affect args( (AFFECT_DATA *af) );
void	  free_cooldown args( (COOLDOWN_DATA *cd) );
#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_AREA *	new_had		args( ( void ) );
HELP_DATA *	new_help	args( ( void ) );
void		free_help	args( ( HELP_DATA * ) );