/*
** MUI Helper Header of MadCat!
*/

#ifndef AMSTER_MUI_H
#define AMSTER_MUI_H

#include <proto/exec.h>
#include <proto/utility.h>
#include <proto/intuition.h>
#include <proto/muimaster.h>
#include <libraries/mui.h>
#include <clib/alib_protos.h>

#define MUIM_Window_Cleanup       0x8042ab26 /* Custom Class */ /* V18 */
#define MUIM_Window_Setup         0x8042c34c /* Custom Class */ /* V18 */

#define MAKE_ID(a,b,c,d) ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))
#define REG(x) register __ ## x
#define MUIF __saveds ULONG __asm

ULONG __stdargs DoSuperNew(struct IClass *cl,Object *obj,ULONG tag1,...);

typedef struct muimsg_struct {
	ULONG MethodID;
	ULONG *arg1;
	ULONG *arg2;
	ULONG *arg3;
	ULONG *arg4;
} *muimsg;

Object *maketmenu(const UBYTE *msg);
Object *makemenu(const UBYTE *msg);
Object *maketoggle(const UBYTE *msg, Object **tog);



#endif	/* AMSTER_MUI_H */
