Mirai's Miscellaneous Misadventures

M46 / 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, 6, 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, 6, 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_upper_sock_value =
{
	0, -4, 0, 4, 32, 3,
	{
		{4, 4, 1, {0x0F}},
		{4, 4, 1, {0x0F}},
		{2, 2, 1, {0x0F}},
	},
};

static struct mimimi_layer mimimi_mango_lower_sock_value =
{
	0, 0, 0, 4, 32, 7,
	{
		{2, 2, 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, -3, 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_upper_sleeve_value =
{
	0, 0, 0, 4, 32, 7,
	{
		{2, 2, 1, {0x0E}},
		{4, 4, 1, {0x0E}},
		{4, 4, 1, {0x0E}},
		{4, 4, 1, {0x0E}},
		{4, 4, 1, {0x0E}},
		{4, 4, 1, {0x0E}},
		{2, 2, 1, {0x1D}},
	},
};

static struct mimimi_layer mimimi_mango_jacket_lower_sleeve_value =
{
	0, 0, 0, 4, 32, 5,
	{
		{2, 2, 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 =
{
	29,
	{
		/* 0 */ {0, &mimimi_torso_value},
		/* 1 */ {0, &mimimi_head_origin},
		/* 2 */ {0, &mimimi_upper_left_arm_value},
		/* 3 */ {0, &mimimi_upper_right_arm_value},
		/* 4 */ {0, &mimimi_upper_left_leg_value},
		/* 5 */ {0, &mimimi_upper_right_leg_value},
		/* 6 */ {2, &mimimi_lower_left_arm_value},
		/* 7 */ {3, &mimimi_lower_right_arm_value},
		/* 8 */ {4, &mimimi_lower_left_leg_value},
		/* 9 */ {5, &mimimi_lower_right_leg_value},
		/* 10 */ {1, &mimimi_head_value},
		
		/* 11 */ {0, &mimimi_mango_shirt_value},
		/* 12 */ {0, &mimimi_mango_jacket_value},
		/* 13 */ {10, &mimimi_mango_face_value},
		/* 14 */ {10, &mimimi_mango_hair_value},
		/* 15 */ {2, &mimimi_mango_jacket_upper_sleeve_value},
		/* 16 */ {3, &mimimi_mango_jacket_upper_sleeve_value},
		/* 17 */ {6, &mimimi_mango_jacket_lower_sleeve_value},
		/* 18 */ {7, &mimimi_mango_jacket_lower_sleeve_value},
		/* 19 */ {5, &mimimi_mango_short_value},
		/* 20 */ {4, &mimimi_mango_short_value},
		/* 21 */ {4, &mimimi_mango_upper_sock_value},
		/* 22 */ {5, &mimimi_mango_upper_sock_value},
		/* 23 */ {8, &mimimi_mango_lower_sock_value},
		/* 24 */ {9, &mimimi_mango_lower_sock_value},
		/* 25 */ {8, &mimimi_mango_shoe_value},
		/* 26 */ {9, &mimimi_mango_shoe_value},
		/* 27 */ {14, &mimimi_mango_hat_value},
		/* 28 */ {27, &mimimi_mango_hat2_value},
	},
};

struct mimimi_model *mimimi_mango = &mimimi_mango_value;