pennmush/game/data/
pennmush/game/log/
pennmush/game/save/
pennmush/game/txt/evt/
pennmush/game/txt/nws/
pennmush/os2/
pennmush/po/
pennmush/win32/msvc.net/
pennmush/win32/msvc6/
/* pueblo.h */

#ifndef __PUEBLO_H
#define __PUEBLO_H

/* Ok. The original idea for this came from seeing the Tiny patch for Pueblo. 
 * A few months later I felt the urge to add some pueblo thingies to Penn, 
 * and did so, though at a quite different level. This led to the 
 * discovery of the trouble with bsd.c, which also got partly rewritten.
 * The commands @emit/html and pemit_html() were added to have Tiny compability
 */

#include "conf.h"

#define PUEBLOBUFF \
       char pbuff[BUFFER_LEN]; \
       char *pp
#define PUSE \
       pp=pbuff
#define PEND \
       *pp=0;

#define notify_nopenter_by(t,a,b) notify_anything(t, na_one, &(a), NULL, NA_NOPENTER, b)
#define notify_nopenter(a,b) notify_nopenter_by(GOD, a, b)
#define notify_noenter_by(t,a,b) notify_anything(t, na_one, &(a), NULL, NA_NOENTER, b)
#define notify_noenter(a,b) notify_noenter_by(GOD, a, b)

#define tag_wrap(a,b,c) safe_tag_wrap(a,b,c,pbuff,&pp,NOTHING)
#define tag(a) safe_tag(a,pbuff,&pp)
#define tag_cancel(a) safe_tag_cancel(a,pbuff,&pp)

#define notify_pueblo(a,b) notify_anything(GOD, na_one, &(a), NULL, NA_PONLY | NA_NOPENTER | NA_NOLISTEN, b)

int safe_tag(char const *a_tag, char *buf, char **bp);
int safe_tag_cancel(char const *a_tag, char *buf, char **bp);
int safe_tag_wrap(char const *a_tag, char const *params,
		  char const *data, char *buf, char **bp, dbref player);

/* Please STAY SANE when modifying. 
 * Making this something like 'x' and 'y' is a BAD IDEA 
 */

#define TAG_START '\02'
#define TAG_END '\03'

#endif