mindor/area/
mindor/data/
mindor/data/bank/
mindor/data/hometown/
mindor/log/
mindor/player/
/***************************************************************************
 *  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                           * 
***************************************************************************/



/**************************************************************************
*      Mindor 1.0 is copyright 2002-2004 by Shaun Mcbride                *
*      Portions of the code were inspired by other works                 *
*      found around the internet.                                        *
*                                                                        *
*      Please follow all previous copyrights and licenses.               *
**************************************************************************/


/* externs */
extern char str_empty[1];
extern int mobile_count;

/* stuff for providing a crash-proof buffer */

#define MAX_BUF     65536
#define MAX_BUF_LIST    12
#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 *ban) );
#undef WD

/* clan data recycling */
#define CL CLN_DATA
CL  *new_cln args( (void) );
#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) );
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) );

STAT_DATA *new_stat_data args((void));
void free_stat_data args((STAT_DATA * stat));

/* ---
Recycle.h
--- */

/* timed event recycling */
#define ED EVENT_DATA
ED *new_event args( (void) );
void free_event args( (ED *ev) );
#undef ED