Mirai's Miscellaneous Misadventures

M42 / models / mango.c

// license: AGPLv3 or later
// copyright 2023 zamfofex

// character design by Esare

static struct mimimi_layer mimimi_mango_face_value =
{
	0, -6, 0, 12, 32, 2,
	{
		{12, 12, 24, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x47, 0x00, 0x00, 0x47, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
		{12, 12, 24, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x47, 0x00, 0x00, 0x47, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
	},
};

static struct mimimi_layer mimimi_mango_hair_value =
{
	0, 1, 0, 20, 32, 20,
	{
		{4, 4, 1, {0xCB}},
		{8, 8, 1, {0xCB}},
		{10, 10, 1, {0xCB}},
		{12, 12, 1, {0xCB}},
		{14, 14, 1, {0xCB}},
		{14, 14, 28, {0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0x00, 0x00, 0xCB, 0xCB, 0x00, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB}},
		{14, 14, 28, {0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0x00, 0x00, 0x00, 0xCB, 0x00, 0x00, 0xCB, 0x00, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB}},
		{14, 14, 28, {0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0x00, 0xCB, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0xCB, 0x00, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB}},
		{14, 14, 28, {0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0x00, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x00, 0x00, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB}},
		{14, 14, 28, {0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0x00, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x00, 0x00, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB}},
		{14, 14, 28, {0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0x00, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x00, 0x00, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB}},
		{14, 14, 28, {0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB}},
		{14, 14, 28, {0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB}},
		{16, 16, 32, {0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0x00, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB}},
		{16, 16, 32, {0xCB, 0x00, 0xCB, 0xCB, 0xCB, 0x00, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0xCB, 0x00, 0xCB, 0xCB, 0xCB, 0xCB}},
		{16, 16, 32, {0xCB, 0x00, 0xCB, 0xCB, 0xCB, 0x00, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0xCB, 0x00, 0xCB, 0xCB, 0x00, 0xCB}},
		{16, 16, 32, {0xCB, 0x00, 0xCB, 0xCB, 0xCB, 0x00, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0xCB, 0x00, 0xCB, 0xCB, 0x00, 0xCB}},
		{16, 16, 32, {0xCB, 0x00, 0xCB, 0xCB, 0xCB, 0x00, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x00, 0xCB, 0xCB, 0x00, 0xCB}},
		{16, 16, 32, {0xCB, 0x00, 0x00, 0xCB, 0x00, 0x00, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0xCB, 0x00, 0x00, 0xCB, 0x00, 0x00}},
		{16, 16, 32, {0x00, 0x00, 0x00, 0xCB, 0x00, 0x00, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x00, 0x00, 0xCB, 0x00, 0x00, 0x00}},
	},
};

static struct mimimi_layer mimimi_mango_hat_value =
{
	0, 2, 0, 20, 32, 6,
	{
		{8, 8, 1, {0x44}},
		{12, 12, 1, {0x44}},
		{14, 14, 1, {0x44}},
		{14, 14, 1, {0x44}},
		{14, 14, 1, {0x44}},
		{14, 14, 1, {0x44}},
	},
};

static struct mimimi_layer mimimi_mango_hat2_value =
{
	-6, -5, 0, 20, 32, 1,
	{
		{14, 8, 1, {0x0E}},
	},
};

static struct mimimi_layer mimimi_mango_shirt_value =
{
	0, 0, 0, 10, 32, 12,
	{
		{8, 4, 16, {0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00}},
		{10, 6, 20, {0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00}},
		{10, 6, 1, {0x0F}},
		{10, 6, 1, {0x0F}},
		{10, 6, 1, {0x0F}},
		{10, 6, 1, {0x0F}},
		{10, 6, 1, {0x0F}},
		{10, 6, 1, {0x0F}},
		{10, 6, 1, {0x0F}},
		{10, 6, 1, {0x0F}},
		{10, 6, 1, {0x0F}},
		{10, 6, 1, {0x0F}},
	},
};

static struct mimimi_layer mimimi_mango_jacket_value =
{
	0, 0, 0, 10, 32, 11,
	{
		{8, 4, 16, {0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D}},
		{10, 6, 20, {0x0D, 0x0D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x0D, 0x0D, 0x1D, 0x1D}},
		{10, 6, 20, {0x1D, 0x1D, 0x0D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x0D, 0x1D}},
		{10, 6, 20, {0x1D, 0x0D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x0D, 0x1D, 0x1D}},
		{10, 6, 20, {0x0D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x0D, 0x1D, 0x1D, 0x1D}},
		{10, 6, 20, {0x0D, 0x0D, 0x0D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x0D, 0x0D, 0x0D, 0x1D}},
		{10, 6, 20, {0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D}},
		{10, 6, 20, {0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D}},
		{10, 6, 20, {0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D}},
		{10, 6, 20, {0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D}},
		{10, 6, 20, {0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D}},
	},
};

static struct mimimi_layer mimimi_mango_short_value =
{
	0, 0, 0, 4, 32, 3,
	{
		{4, 4, 1, {0x17}},
		{4, 4, 1, {0x17}},
		{4, 4, 1, {0x17}},
	},
};

static struct mimimi_layer mimimi_mango_sock_value =
{
	0, -4, 0, 4, 32, 8,
	{
		{4, 4, 1, {0x0F}},
		{4, 4, 1, {0x0F}},
		{4, 4, 1, {0x0F}},
		{4, 4, 1, {0x0F}},
		{4, 4, 1, {0x0F}},
		{4, 4, 1, {0x0F}},
		{4, 4, 1, {0x0F}},
		{2, 2, 1, {0x0F}},
	},
};

static struct mimimi_layer mimimi_mango_shoe_value =
{
	0, -8, 0, 4, 32, 4,
	{
		{4, 4, 8, {0xDE, 0xDE, 0xDE, 0x0C, 0x0C, 0xDE, 0xDE, 0xDE}},
		{4, 4, 8, {0xDE, 0xDE, 0xDE, 0x0C, 0x0C, 0xDE, 0xDE, 0xDE}},
		{4, 4, 1, {0xDE}},
		{2, 2, 1, {0xDE}},
	},
};

static struct mimimi_layer mimimi_mango_jacket_sleeve_value =
{
	0, 0, 0, 4, 32, 10,
	{
		{2, 2, 1, {0x0E}},
		{4, 4, 1, {0x0E}},
		{4, 4, 1, {0x0E}},
		{4, 4, 1, {0x0E}},
		{4, 4, 1, {0x0E}},
		{4, 4, 1, {0x0E}},
		{4, 4, 1, {0x1D}},
		{4, 4, 1, {0x0E}},
		{4, 4, 1, {0x1D}},
		{4, 4, 1, {0x0E}},
	},
};

static struct mimimi_model mimimi_mango_value =
{
	20,
	{
		{0, &mimimi_torso_value},
		{0, &mimimi_head_value},
		{0, &mimimi_left_arm_value},
		{0, &mimimi_right_arm_value},
		{0, &mimimi_left_leg_value},
		{0, &mimimi_right_leg_value},
		{0, &mimimi_mango_shirt_value},
		{0, &mimimi_mango_jacket_value},
		{1, &mimimi_mango_face_value},
		{1, &mimimi_mango_hair_value},
		{2, &mimimi_mango_jacket_sleeve_value},
		{3, &mimimi_mango_jacket_sleeve_value},
		{4, &mimimi_mango_sock_value},
		{4, &mimimi_mango_short_value},
		{4, &mimimi_mango_shoe_value},
		{5, &mimimi_mango_sock_value},
		{5, &mimimi_mango_short_value},
		{5, &mimimi_mango_shoe_value},
		{9, &mimimi_mango_hat_value},
		{18, &mimimi_mango_hat2_value},
	},
};

struct mimimi_model *mimimi_mango = &mimimi_mango_value;