Mirai's Miscellaneous Misadventures

M43-patches / models / homura.c

1/* license: AGPLv3 or later */
2/* copyright 2023 zamfofex */
3
4static struct mimimi_layer mimimi_homura_head_value =
5{
6	0, 11, 0, 12, 32, 12,
7	{
8		{6, 6, 1, {0xC6}},
9		{8, 8, 1, {0xC6}},
10		{10, 10, 1, {0xC6}},
11		{12, 12, 1, {0xC6}},
12		{12, 12, 1, {0xC6}},
13		{12, 12, 1, {0xC6}},
14		{12, 12, 1, {0xC6}},
15		{12, 12, 1, {0xC6}},
16		{12, 12, 1, {0xC6}},
17		{10, 10, 1, {0xC6}},
18		{8, 8, 1, {0xC6}},
19		{6, 6, 1, {0xC6}},
20	},
21};
22
23static struct mimimi_layer mimimi_homura_torso_value =
24{
25	0, 23, 0, 10, 32, 12,
26	{
27		{6, 4, 1, {0xC6}},
28		{8, 4, 1, {0xC6}},
29		{10, 6, 1, {0xC6}},
30		{10, 6, 1, {0xC6}},
31		{10, 6, 1, {0xC6}},
32		{10, 6, 1, {0xC6}},
33		{10, 6, 1, {0xC6}},
34		{10, 6, 1, {0xC6}},
35		{10, 6, 1, {0xC6}},
36		{10, 6, 1, {0xC6}},
37		{10, 6, 1, {0xC6}},
38		{10, 6, 1, {0xC6}},
39		{10, 6, 1, {0xC6}},
40		{8, 4, 1, {0xC6}},
41		{6, 4, 1, {0xC6}},
42	},
43};
44
45static struct mimimi_layer mimimi_homura_left_arm_value =
46{
47	0, -1, -5, 4, 128, 12,
48	{
49		{2, 2, 1, {0xC6}},
50		{4, 4, 1, {0xC6}},
51		{4, 4, 1, {0xC6}},
52		{4, 4, 1, {0xC6}},
53		{4, 4, 1, {0xC6}},
54		{4, 4, 1, {0xC6}},
55		{4, 4, 1, {0xC6}},
56		{4, 4, 1, {0xC6}},
57		{4, 4, 1, {0xC6}},
58		{4, 4, 1, {0xC6}},
59		{4, 4, 1, {0xC6}},
60		{2, 2, 1, {0xC6}},
61	},
62};
63
64static struct mimimi_layer mimimi_homura_right_arm_value =
65{
66	0, -1, 5, 4, 128, 12,
67	{
68		{2, 2, 1, {0xC6}},
69		{4, 4, 1, {0xC6}},
70		{4, 4, 1, {0xC6}},
71		{4, 4, 1, {0xC6}},
72		{4, 4, 1, {0xC6}},
73		{4, 4, 1, {0xC6}},
74		{4, 4, 1, {0xC6}},
75		{4, 4, 1, {0xC6}},
76		{4, 4, 1, {0xC6}},
77		{4, 4, 1, {0xC6}},
78		{4, 4, 1, {0xC6}},
79		{2, 2, 1, {0xC6}},
80	},
81};
82
83static struct mimimi_layer mimimi_homura_left_leg_value =
84{
85	0, -11, -3, 4, 32, 12,
86	{
87		{2, 2, 1, {0xC6}},
88		{4, 4, 1, {0xC6}},
89		{4, 4, 1, {0xC6}},
90		{4, 4, 1, {0xC6}},
91		{4, 4, 1, {0xC6}},
92		{4, 4, 1, {0xC6}},
93		{4, 4, 1, {0xC6}},
94		{4, 4, 1, {0xC6}},
95		{4, 4, 1, {0xC6}},
96		{4, 4, 1, {0xC6}},
97		{4, 4, 1, {0xC6}},
98		{2, 2, 1, {0xC6}},
99	},
100};
101
102static struct mimimi_layer mimimi_homura_right_leg_value =
103{
104	0, -11, 3, 4, 32, 12,
105	{
106		{2, 2, 1, {0xC6}},
107		{4, 4, 1, {0xC6}},
108		{4, 4, 1, {0xC6}},
109		{4, 4, 1, {0xC6}},
110		{4, 4, 1, {0xC6}},
111		{4, 4, 1, {0xC6}},
112		{4, 4, 1, {0xC6}},
113		{4, 4, 1, {0xC6}},
114		{4, 4, 1, {0xC6}},
115		{4, 4, 1, {0xC6}},
116		{4, 4, 1, {0xC6}},
117		{2, 2, 1, {0xC6}},
118	},
119};
120
121static struct mimimi_layer mimimi_homura_face_value =
122{
123	0, -6, 0, 12, 32, 2,
124	{
125		{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}},
126		{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}},
127	},
128};
129
130static struct mimimi_layer mimimi_homura_hair_value =
131{
132	0, 1, 0, 20, 32, 13,
133	{
134		{4, 4, 1, {0x03}},
135		{8, 8, 1, {0x03}},
136		{10, 10, 1, {0x03}},
137		{12, 12, 1, {0x03}},
138		{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}},
139		{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}},
140		{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}},
141		{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}},
142		{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}},
143		{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}},
144		{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}},
145		{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}},
146		{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}},
147	},
148};
149
150static struct mimimi_layer mimimi_homura_ponytail_value =
151{
152	10, 2, 0, 12, 32, 32,
153	{
154		{4, 4, 1, {0x03}},
155		{6, 6, 1, {0x03}},
156		{8, 8, 16, {0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03}},
157		{10, 10, 20, {0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03}},
158		{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}},
159		{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}},
160		{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}},
161		{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}},
162		{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}},
163		{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}},
164		{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}},
165		{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}},
166		{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}},
167		{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}},
168		{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}},
169		{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}},
170		{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}},
171		{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}},
172		{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}},
173		{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}},
174		{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}},
175		{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}},
176		{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}},
177		{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}},
178		{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}},
179		{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}},
180		{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}},
181		{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}},
182		{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}},
183		{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}},
184		{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}},
185		{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}},
186	},
187};
188
189static struct mimimi_layer mimimi_homura_hair_lace_value =
190{
191	4, 5, 0, 8, 32, 5,
192	{
193		{8, 8, 16, {0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00}},
194		{8, 8, 16, {0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00}},
195		{8, 8, 16, {0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00}},
196		{6, 6, 16, {0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x00, 0x00}},
197		{4, 4, 1, {0x0E}},
198	},
199};
200
201static struct mimimi_layer mimimi_homura_flash_shirt_value =
202{
203	0, -1, 0, 10, 32, 11,
204	{
205		{8, 4, 16, {0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E}},
206		{10, 6, 20, {0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E}},
207		{10, 6, 1, {0x0E}},
208		{10, 6, 20, {0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x03, 0x0E, 0x03, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E}},
209		{10, 6, 20, {0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x03, 0x03, 0x0E, 0x03, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E}},
210		{10, 6, 1, {0x0E}},
211		{10, 6, 1, {0x0E}},
212		{10, 6, 1, {0x0E}},
213		{10, 6, 1, {0x0E}},
214		{10, 6, 1, {0x0E}},
215		{10, 6, 1, {0x0E}},
216	},
217};
218
219static struct mimimi_layer mimimi_homura_flash_jean_value =
220{
221	0, 0, 0, 4, 32, 9,
222	{
223		{2, 2, 1, {0x4A}},
224		{4, 4, 1, {0x4A}},
225		{4, 4, 1, {0x4A}},
226		{4, 4, 1, {0x4A}},
227		{4, 4, 1, {0x4A}},
228		{4, 4, 1, {0x4A}},
229		{4, 4, 1, {0x4A}},
230		{4, 4, 1, {0x4A}},
231		{4, 4, 1, {0x4A}},
232	},
233};
234
235static struct mimimi_layer mimimi_homura_flash_shirt_sleeve_value =
236{
237	0, 0, 0, 4, 32, 5,
238	{
239		{2, 2, 1, {0x0E}},
240		{4, 4, 1, {0x0E}},
241		{4, 4, 1, {0x0E}},
242		{4, 4, 1, {0x0E}},
243		{4, 4, 1, {0x0E}},
244	},
245};
246
247static struct mimimi_layer mimimi_homura_flash_shoe_value =
248{
249	0, -9, 0, 10, 32, 3,
250	{
251		{4, 4, 8, {0x02, 0x02, 0x02, 0x88, 0x88, 0x02, 0x02, 0x02}},
252		{4, 4, 1, {0x02}},
253		{2, 2, 6, {0x88, 0x02, 0x02, 0x02, 0x02, 0x88}},
254	},
255};
256
257/* todo */
258static struct mimimi_model mimimi_homura_flash_value =
259{
260	17,
261	{
262		{0, &mimimi_homura_torso_value},
263		{0, &mimimi_homura_head_value},
264		{0, &mimimi_homura_left_arm_value},
265		{0, &mimimi_homura_right_arm_value},
266		{0, &mimimi_homura_left_leg_value},
267		{0, &mimimi_homura_right_leg_value},
268		
269		{0, &mimimi_homura_flash_shirt_value},
270		{1, &mimimi_homura_face_value},
271		{1, &mimimi_homura_hair_value},
272		{1, &mimimi_homura_ponytail_value},
273		{1, &mimimi_homura_hair_lace_value},
274		{2, &mimimi_homura_flash_shirt_sleeve_value},
275		{3, &mimimi_homura_flash_shirt_sleeve_value},
276		{4, &mimimi_homura_flash_jean_value},
277		{4, &mimimi_homura_flash_shoe_value},
278		{5, &mimimi_homura_flash_jean_value},
279		{5, &mimimi_homura_flash_shoe_value},
280	},
281};
282
283struct mimimi_model *mimimi_homura_flash = &mimimi_homura_flash_value;