#define NEW(typ) (typ*)AllocMem((long)sizeof(typ),0L)
#define FREE(p,typ) FreeMem(p,(long)sizeof(typ))

#define NEW_N(typ,n) (typ*)AllocMem((long)((n)*sizeof(typ)),0L)
#define FREE_N(p,typ,n) FreeMem(p,(long)((n)*sizeof(typ)))

#define NEW_X(typ,x) (typ*)AllocMem((long)(sizeof(typ)+(x)),0L)
#define FREE_X(p,typ,x) FreeMem(p,(long)(sizeof(typ)+(x)))

#define FREI(p) FreeMem(p,(long)sizeof(*p))

#ifndef FINAL_VERSION
#define ASSERT(c) if (!(c)) printf ("assert failure in %s (%s : %d)\n", \
   __FUNC__,__FILE__,__LINE__)
#else
#define ASSERT(c)
#endif

#define MAKE_ID(a,b,c,d) (((long)a<<24)|((long)b<<16)|((long)c<<8)|d)
