Mirai's Miscellaneous Misadventures

M45 / models / mango.c

1/* license: AGPLv3 or later */
2/* copyright 2023 zamfofex */
3
4/* character design by Esare */
5
6static struct mimimi_layer mimimi_mango_face_value =
7{
8	0, -6, 0, 12, 32, 2,
9	{
10		{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}},
11		{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	},
13};
14
15static struct mimimi_layer mimimi_mango_hair_value =
16{
17	0, 1, 0, 20, 32, 20,
18	{
19		{4, 4, 1, {0xCB}},
20		{8, 8, 1, {0xCB}},
21		{10, 10, 1, {0xCB}},
22		{12, 12, 1, {0xCB}},
23		{14, 14, 1, {0xCB}},
24		{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}},
25		{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}},
26		{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}},
27		{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}},
28		{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}},
29		{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}},
30		{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}},
31		{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}},
32		{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}},
33		{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}},
34		{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}},
35		{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}},
36		{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}},
37		{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}},
38		{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}},
39	},
40};
41
42static struct mimimi_layer mimimi_mango_hat_value =
43{
44	0, 2, 0, 20, 32, 6,
45	{
46		{8, 8, 1, {0x44}},
47		{12, 12, 1, {0x44}},
48		{14, 14, 1, {0x44}},
49		{14, 14, 1, {0x44}},
50		{14, 14, 1, {0x44}},
51		{14, 14, 1, {0x44}},
52	},
53};
54
55static struct mimimi_layer mimimi_mango_hat2_value =
56{
57	-6, -5, 0, 20, 32, 1,
58	{
59		{14, 8, 1, {0x0E}},
60	},
61};
62
63static struct mimimi_layer mimimi_mango_shirt_value =
64{
65	0, 0, 0, 6, 32, 12,
66	{
67		{8, 4, 16, {0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00}},
68		{10, 6, 20, {0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00}},
69		{10, 6, 1, {0x0F}},
70		{10, 6, 1, {0x0F}},
71		{10, 6, 1, {0x0F}},
72		{10, 6, 1, {0x0F}},
73		{10, 6, 1, {0x0F}},
74		{10, 6, 1, {0x0F}},
75		{10, 6, 1, {0x0F}},
76		{10, 6, 1, {0x0F}},
77		{10, 6, 1, {0x0F}},
78		{10, 6, 1, {0x0F}},
79	},
80};
81
82static struct mimimi_layer mimimi_mango_jacket_value =
83{
84	0, 0, 0, 6, 32, 11,
85	{
86		{8, 4, 16, {0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D}},
87		{10, 6, 20, {0x0D, 0x0D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x0D, 0x0D, 0x1D, 0x1D}},
88		{10, 6, 20, {0x1D, 0x1D, 0x0D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x0D, 0x1D}},
89		{10, 6, 20, {0x1D, 0x0D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x0D, 0x1D, 0x1D}},
90		{10, 6, 20, {0x0D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x0D, 0x1D, 0x1D, 0x1D}},
91		{10, 6, 20, {0x0D, 0x0D, 0x0D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x0D, 0x0D, 0x0D, 0x1D}},
92		{10, 6, 20, {0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D}},
93		{10, 6, 20, {0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D}},
94		{10, 6, 20, {0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D}},
95		{10, 6, 20, {0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D}},
96		{10, 6, 20, {0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D}},
97	},
98};
99
100static struct mimimi_layer mimimi_mango_short_value =
101{
102	0, 0, 0, 4, 32, 3,
103	{
104		{4, 4, 1, {0x17}},
105		{4, 4, 1, {0x17}},
106		{4, 4, 1, {0x17}},
107	},
108};
109
110static struct mimimi_layer mimimi_mango_upper_sock_value =
111{
112	0, -4, 0, 4, 32, 3,
113	{
114		{4, 4, 1, {0x0F}},
115		{4, 4, 1, {0x0F}},
116		{2, 2, 1, {0x0F}},
117	},
118};
119
120static struct mimimi_layer mimimi_mango_lower_sock_value =
121{
122	0, 0, 0, 4, 32, 7,
123	{
124		{2, 2, 1, {0x0F}},
125		{4, 4, 1, {0x0F}},
126		{4, 4, 1, {0x0F}},
127		{4, 4, 1, {0x0F}},
128		{4, 4, 1, {0x0F}},
129		{4, 4, 1, {0x0F}},
130		{2, 2, 1, {0x0F}},
131	},
132};
133
134static struct mimimi_layer mimimi_mango_shoe_value =
135{
136	0, -3, 0, 4, 32, 4,
137	{
138		{4, 4, 8, {0xDE, 0xDE, 0xDE, 0x0C, 0x0C, 0xDE, 0xDE, 0xDE}},
139		{4, 4, 8, {0xDE, 0xDE, 0xDE, 0x0C, 0x0C, 0xDE, 0xDE, 0xDE}},
140		{4, 4, 1, {0xDE}},
141		{2, 2, 1, {0xDE}},
142	},
143};
144
145static struct mimimi_layer mimimi_mango_jacket_upper_sleeve_value =
146{
147	0, 0, 0, 4, 32, 7,
148	{
149		{2, 2, 1, {0x0E}},
150		{4, 4, 1, {0x0E}},
151		{4, 4, 1, {0x0E}},
152		{4, 4, 1, {0x0E}},
153		{4, 4, 1, {0x0E}},
154		{4, 4, 1, {0x0E}},
155		{2, 2, 1, {0x1D}},
156	},
157};
158
159static struct mimimi_layer mimimi_mango_jacket_lower_sleeve_value =
160{
161	0, 0, 0, 4, 32, 5,
162	{
163		{2, 2, 1, {0x0E}},
164		{4, 4, 1, {0x1D}},
165		{4, 4, 1, {0x0E}},
166		{4, 4, 1, {0x1D}},
167		{4, 4, 1, {0x0E}},
168	},
169};
170
171static struct mimimi_model mimimi_mango_value =
172{
173	29,
174	{
175		/* 0 */ {0, &mimimi_torso_value},
176		/* 1 */ {0, &mimimi_head_origin},
177		/* 2 */ {0, &mimimi_upper_left_arm_value},
178		/* 3 */ {0, &mimimi_upper_right_arm_value},
179		/* 4 */ {0, &mimimi_upper_left_leg_value},
180		/* 5 */ {0, &mimimi_upper_right_leg_value},
181		/* 6 */ {2, &mimimi_lower_left_arm_value},
182		/* 7 */ {3, &mimimi_lower_right_arm_value},
183		/* 8 */ {4, &mimimi_lower_left_leg_value},
184		/* 9 */ {5, &mimimi_lower_right_leg_value},
185		/* 10 */ {1, &mimimi_head_value},
186		
187		/* 11 */ {0, &mimimi_mango_shirt_value},
188		/* 12 */ {0, &mimimi_mango_jacket_value},
189		/* 13 */ {10, &mimimi_mango_face_value},
190		/* 14 */ {10, &mimimi_mango_hair_value},
191		/* 15 */ {2, &mimimi_mango_jacket_upper_sleeve_value},
192		/* 16 */ {3, &mimimi_mango_jacket_upper_sleeve_value},
193		/* 17 */ {6, &mimimi_mango_jacket_lower_sleeve_value},
194		/* 18 */ {7, &mimimi_mango_jacket_lower_sleeve_value},
195		/* 19 */ {5, &mimimi_mango_short_value},
196		/* 20 */ {4, &mimimi_mango_short_value},
197		/* 21 */ {4, &mimimi_mango_upper_sock_value},
198		/* 22 */ {5, &mimimi_mango_upper_sock_value},
199		/* 23 */ {8, &mimimi_mango_lower_sock_value},
200		/* 24 */ {9, &mimimi_mango_lower_sock_value},
201		/* 25 */ {8, &mimimi_mango_shoe_value},
202		/* 26 */ {9, &mimimi_mango_shoe_value},
203		/* 27 */ {14, &mimimi_mango_hat_value},
204		/* 28 */ {27, &mimimi_mango_hat2_value},
205	},
206};
207
208struct mimimi_model *mimimi_mango = &mimimi_mango_value;