Mirai's Miscellaneous Misadventures

M45 / models / pepper.c

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