#include <workbench/workbench.h>
#include <exec/execbase.h>

#define Drop(s) Write(Output(),s,strlen(s))

extern struct Library	*OpenLibrary();
struct Library		*IconBase;

USHORT ToolData[132] =
{
	/* Plane 0 */

	0x1FFF,0xFFFF,0xFFF8,0x3000,0x0000,0x000C,0x33FF,0xFFFF,
	0xFFCC,0x32AA,0xABAA,0xEACC,0x33FF,0xFFFF,0xFFCC,0x32AE,
	0xAEAA,0xBACC,0x33FF,0xFFFF,0xFFCC,0x32BA,0xAAEA,0xAACC,
	0x33FF,0xFFFF,0xFFCC,0x32AA,0xEABA,0xAECC,0x33FF,0xFFFF,
	0xFFCC,0x3000,0x0000,0x000C,0x1FFF,0xFFFF,0xFFF8,0x0000,
	0x0000,0x0000,0x0000,0x0000,0x0000,0x07FF,0xFFFF,0xFFE0,
	0x0C92,0x4924,0xC930,0x1924,0xC932,0x6498,0x3249,0x9999,
	0x324C,0x3FFF,0xFFFF,0xFFFC,0x0000,0x0000,0x0000,0x0000,
	0x0000,0x0000,

	/* Plane 1 */

	0x0000,0x0000,0x0000,0x0FFF,0xFFFF,0xFFF0,0x0C00,0x0000,
	0x0030,0x0D55,0x5455,0x1530,0x0C00,0x0000,0x0030,0x0D51,
	0x5155,0x4530,0x0C00,0x0000,0x0030,0x0D45,0x5515,0x5530,
	0x0C00,0x0000,0x0030,0x0D55,0x1545,0x5130,0x0C00,0x0000,
	0x0030,0x0FFF,0xFFFF,0xFFF0,0x0000,0x0000,0x0000,0x0000,
	0x0000,0x0000,0x0FFF,0xFFFF,0xFFF0,0x1800,0x0000,0x0018,
	0x336D,0xB6DB,0x36CC,0x66DB,0x36CD,0x9B66,0xCDB6,0x6666,
	0xCDB3,0xC000,0x0000,0x0003,0xFFFF,0xFFFF,0xFFFF,0x0000,
	0x0000,0x0000
};

struct Image ToolImage =
{
	0,0,
	48,22,2,
	(USHORT *)&ToolData[0],
	0x03,0x00,
	(struct Image *)NULL
};

struct DiskObject ToolIcon =
{
	WB_DISKMAGIC,
	WB_DISKVERSION,

	(struct Gadget *)NULL,
	0,0,
	48,22,
	GADGIMAGE | GADGBACKFILL,
	RELVERIFY | GADGIMMEDIATE,
	BOOLGADGET,
	(APTR)&ToolImage,
	(APTR)NULL,
	(struct IntuiText *)NULL,
	NULL,
	(APTR)NULL,
	NULL,
	(APTR)NULL,

	WBTOOL,
	(char *)NULL,
	(char **)NULL,
	NO_ICON_POSITION,
	NO_ICON_POSITION,
	(struct DrawerData *)NULL,
	(char *)NULL,
	4000
};

void _wb_parse(){}

void
main(argc,argv)
long argc;
char *argv[];
{
	if(!argc)
		exit(20);

	if(!(IconBase = (struct Library *)OpenLibrary("icon.library",LIBRARY_VERSION)))
	{
		Drop("Couldn't open icon.library!\n");

		exit(20);
	}

	if(!PutDiskObject(argv[1],&ToolIcon))
	{
		Drop("Couldn't create icon!\n");
		CloseLibrary(IconBase);

		exit(20);
	}

	CloseLibrary(IconBase);

	exit(0);
}
