Mirai's Miscellaneous Misadventures

M46-patches / models / homura.c

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

static struct mimimi_layer mimimi_homura_head_value =
{
	0, 11, 0, 12, 32, 12,
	{
		{6, 6, 1, {0xC6}},
		{8, 8, 1, {0xC6}},
		{10, 10, 1, {0xC6}},
		{12, 12, 1, {0xC6}},
		{12, 12, 1, {0xC6}},
		{12, 12, 1, {0xC6}},
		{12, 12, 1, {0xC6}},
		{12, 12, 1, {0xC6}},
		{12, 12, 1, {0xC6}},
		{10, 10, 1, {0xC6}},
		{8, 8, 1, {0xC6}},
		{6, 6, 1, {0xC6}},
	},
};

static struct mimimi_layer mimimi_homura_torso_value =
{
	0, 23, 0, 10, 32, 12,
	{
		{6, 4, 1, {0xC6}},
		{8, 4, 1, {0xC6}},
		{10, 6, 1, {0xC6}},
		{10, 6, 1, {0xC6}},
		{10, 6, 1, {0xC6}},
		{10, 6, 1, {0xC6}},
		{10, 6, 1, {0xC6}},
		{10, 6, 1, {0xC6}},
		{10, 6, 1, {0xC6}},
		{10, 6, 1, {0xC6}},
		{10, 6, 1, {0xC6}},
		{10, 6, 1, {0xC6}},
		{10, 6, 1, {0xC6}},
		{8, 4, 1, {0xC6}},
		{6, 4, 1, {0xC6}},
	},
};

static struct mimimi_layer mimimi_homura_left_arm_value =
{
	0, -1, -5, 4, 128, 12,
	{
		{2, 2, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{2, 2, 1, {0xC6}},
	},
};

static struct mimimi_layer mimimi_homura_right_arm_value =
{
	0, -1, 5, 4, 128, 12,
	{
		{2, 2, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{2, 2, 1, {0xC6}},
	},
};

static struct mimimi_layer mimimi_homura_left_leg_value =
{
	0, -11, -3, 4, 32, 12,
	{
		{2, 2, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{2, 2, 1, {0xC6}},
	},
};

static struct mimimi_layer mimimi_homura_right_leg_value =
{
	0, -11, 3, 4, 32, 12,
	{
		{2, 2, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{4, 4, 1, {0xC6}},
		{2, 2, 1, {0xC6}},
	},
};

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

static struct mimimi_layer mimimi_homura_hair_value =
{
	0, 1, 0, 20, 32, 13,
	{
		{4, 4, 1, {0x03}},
		{8, 8, 1, {0x03}},
		{10, 10, 1, {0x03}},
		{12, 12, 1, {0x03}},
		{14, 14, 28, {0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03}},
		{14, 14, 28, {0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x03, 0x03, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03}},
		{14, 14, 28, {0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03}},
		{14, 14, 28, {0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03}},
		{14, 14, 28, {0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03}},
		{14, 14, 28, {0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x03}},
		{14, 14, 28, {0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00}},
		{14, 14, 28, {0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00}},
		{14, 14, 28, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
	},
};

static struct mimimi_layer mimimi_homura_ponytail_value =
{
	10, 2, 0, 12, 32, 32,
	{
		{4, 4, 1, {0x03}},
		{6, 6, 1, {0x03}},
		{8, 8, 16, {0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03}},
		{10, 10, 20, {0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03}},
		{12, 12, 24, {0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03}},
		{12, 12, 24, {0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
		{12, 12, 24, {0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
		{12, 12, 24, {0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
		{12, 12, 24, {0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03}},
		{12, 12, 24, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03}},
		{12, 12, 24, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03}},
		{12, 12, 24, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03}},
		{12, 12, 24, {0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03}},
		{12, 12, 24, {0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
		{12, 12, 24, {0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
		{12, 12, 24, {0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
		{12, 12, 24, {0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
		{12, 12, 24, {0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03}},
		{12, 12, 24, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03}},
		{12, 12, 24, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00}},
		{12, 12, 24, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00}},
		{12, 12, 24, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00}},
		{12, 12, 24, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00}},
		{12, 12, 24, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00}},
		{12, 12, 24, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03}},
		{12, 12, 24, {0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03}},
		{12, 12, 24, {0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
		{12, 12, 24, {0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
		{12, 12, 24, {0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
		{12, 12, 24, {0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
		{12, 12, 24, {0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03}},
		{12, 12, 24, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03}},
	},
};

static struct mimimi_layer mimimi_homura_hair_lace_value =
{
	4, 5, 0, 8, 32, 5,
	{
		{8, 8, 16, {0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00}},
		{8, 8, 16, {0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00}},
		{8, 8, 16, {0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00}},
		{6, 6, 16, {0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x00, 0x00}},
		{4, 4, 1, {0x0E}},
	},
};

static struct mimimi_layer mimimi_homura_flash_shirt_value =
{
	0, -1, 0, 10, 32, 11,
	{
		{8, 4, 16, {0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E}},
		{10, 6, 20, {0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E}},
		{10, 6, 1, {0x0E}},
		{10, 6, 20, {0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x03, 0x0E, 0x03, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E}},
		{10, 6, 20, {0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x03, 0x03, 0x0E, 0x03, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E}},
		{10, 6, 1, {0x0E}},
		{10, 6, 1, {0x0E}},
		{10, 6, 1, {0x0E}},
		{10, 6, 1, {0x0E}},
		{10, 6, 1, {0x0E}},
		{10, 6, 1, {0x0E}},
	},
};

static struct mimimi_layer mimimi_homura_flash_jean_value =
{
	0, 0, 0, 4, 32, 9,
	{
		{2, 2, 1, {0x4A}},
		{4, 4, 1, {0x4A}},
		{4, 4, 1, {0x4A}},
		{4, 4, 1, {0x4A}},
		{4, 4, 1, {0x4A}},
		{4, 4, 1, {0x4A}},
		{4, 4, 1, {0x4A}},
		{4, 4, 1, {0x4A}},
		{4, 4, 1, {0x4A}},
	},
};

static struct mimimi_layer mimimi_homura_flash_shirt_sleeve_value =
{
	0, 0, 0, 4, 32, 5,
	{
		{2, 2, 1, {0x0E}},
		{4, 4, 1, {0x0E}},
		{4, 4, 1, {0x0E}},
		{4, 4, 1, {0x0E}},
		{4, 4, 1, {0x0E}},
	},
};

static struct mimimi_layer mimimi_homura_flash_shoe_value =
{
	0, -9, 0, 10, 32, 3,
	{
		{4, 4, 8, {0x02, 0x02, 0x02, 0x88, 0x88, 0x02, 0x02, 0x02}},
		{4, 4, 1, {0x02}},
		{2, 2, 6, {0x88, 0x02, 0x02, 0x02, 0x02, 0x88}},
	},
};

/* todo */
static struct mimimi_model mimimi_homura_flash_value =
{
	17,
	{
		{0, &mimimi_homura_torso_value},
		{0, &mimimi_homura_head_value},
		{0, &mimimi_homura_left_arm_value},
		{0, &mimimi_homura_right_arm_value},
		{0, &mimimi_homura_left_leg_value},
		{0, &mimimi_homura_right_leg_value},
		
		{0, &mimimi_homura_flash_shirt_value},
		{1, &mimimi_homura_face_value},
		{1, &mimimi_homura_hair_value},
		{1, &mimimi_homura_ponytail_value},
		{1, &mimimi_homura_hair_lace_value},
		{2, &mimimi_homura_flash_shirt_sleeve_value},
		{3, &mimimi_homura_flash_shirt_sleeve_value},
		{4, &mimimi_homura_flash_jean_value},
		{4, &mimimi_homura_flash_shoe_value},
		{5, &mimimi_homura_flash_jean_value},
		{5, &mimimi_homura_flash_shoe_value},
	},
};

struct mimimi_model *mimimi_homura_flash = &mimimi_homura_flash_value;