]> git.localhorst.tv Git - blank-assets.git/blob - data/default.shapes
player and monster model
[blank-assets.git] / data / default.shapes
1 uniform_block = {
2         bounds = Cuboid([ -0.5, -0.5, -0.5 ], [ 0.5, 0.5, 0.5 ]);
3         vertices = {
4                 //      position            normal       texture
5                 { [ -0.5, -0.5,  0.5 ], [ 0,  0,  1 ], [ 0, 1 ], 0 }, // front
6                 { [  0.5, -0.5,  0.5 ], [ 0,  0,  1 ], [ 1, 1 ], 0 },
7                 { [ -0.5,  0.5,  0.5 ], [ 0,  0,  1 ], [ 0, 0 ], 0 },
8                 { [  0.5,  0.5,  0.5 ], [ 0,  0,  1 ], [ 1, 0 ], 0 },
9                 { [ -0.5, -0.5, -0.5 ], [ 0,  0, -1 ], [ 1, 1 ], 0 }, // back
10                 { [ -0.5,  0.5, -0.5 ], [ 0,  0, -1 ], [ 1, 0 ], 0 },
11                 { [  0.5, -0.5, -0.5 ], [ 0,  0, -1 ], [ 0, 1 ], 0 },
12                 { [  0.5,  0.5, -0.5 ], [ 0,  0, -1 ], [ 0, 0 ], 0 },
13                 { [ -0.5,  0.5, -0.5 ], [ 0,  1,  0 ], [ 0, 0 ], 0 }, // top
14                 { [ -0.5,  0.5,  0.5 ], [ 0,  1,  0 ], [ 0, 1 ], 0 },
15                 { [  0.5,  0.5, -0.5 ], [ 0,  1,  0 ], [ 1, 0 ], 0 },
16                 { [  0.5,  0.5,  0.5 ], [ 0,  1,  0 ], [ 1, 1 ], 0 },
17                 { [ -0.5, -0.5, -0.5 ], [ 0, -1,  0 ], [ 1, 0 ], 0 }, // bottom
18                 { [  0.5, -0.5, -0.5 ], [ 0, -1,  0 ], [ 0, 0 ], 0 },
19                 { [ -0.5, -0.5,  0.5 ], [ 0, -1,  0 ], [ 1, 1 ], 0 },
20                 { [  0.5, -0.5,  0.5 ], [ 0, -1,  0 ], [ 0, 1 ], 0 },
21                 { [ -0.5, -0.5, -0.5 ], [-1,  0,  0 ], [ 0, 1 ], 0 }, // left
22                 { [ -0.5, -0.5,  0.5 ], [-1,  0,  0 ], [ 1, 1 ], 0 },
23                 { [ -0.5,  0.5, -0.5 ], [-1,  0,  0 ], [ 0, 0 ], 0 },
24                 { [ -0.5,  0.5,  0.5 ], [-1,  0,  0 ], [ 1, 0 ], 0 },
25                 { [  0.5, -0.5, -0.5 ], [ 1,  0,  0 ], [ 1, 1 ], 0 }, // right
26                 { [  0.5,  0.5, -0.5 ], [ 1,  0,  0 ], [ 1, 0 ], 0 },
27                 { [  0.5, -0.5,  0.5 ], [ 1,  0,  0 ], [ 0, 1 ], 0 },
28                 { [  0.5,  0.5,  0.5 ], [ 1,  0,  0 ], [ 0, 0 ], 0 },
29         };
30         indices = {
31                  0,  1,  2,  2,  1,  3, // front
32                  4,  5,  6,  6,  5,  7, // back
33                  8,  9, 10, 10,  9, 11, // top
34                 12, 13, 14, 14, 13, 15, // bottom
35                 16, 17, 18, 18, 17, 19, // left
36                 20, 21, 22, 22, 21, 23, // right
37         };
38         fill = [ true, true, true, true, true, true ];
39 };
40
41 uniform_low_slab = {
42         bounds = Cuboid([ -0.5, -0.5, -0.5 ], [ 0.5, 0.0, 0.5 ]);
43         vertices = {
44                 // TODO: fix tex coords
45                 //      position            normal       texture
46                 { [ -0.5, -0.5,  0.0 ], [ 0,  0,  1 ], [ 0, 1 ], 0 }, // front
47                 { [  0.0, -0.5,  0.0 ], [ 0,  0,  1 ], [ 1, 1 ], 0 },
48                 { [ -0.5,  0.0,  0.0 ], [ 0,  0,  1 ], [ 0, 0 ], 0 },
49                 { [  0.0,  0.0,  0.0 ], [ 0,  0,  1 ], [ 1, 0 ], 0 },
50                 { [ -0.5, -0.5, -0.5 ], [ 0,  0, -1 ], [ 1, 1 ], 0 }, // back
51                 { [ -0.5,  0.0, -0.5 ], [ 0,  0, -1 ], [ 1, 0 ], 0 },
52                 { [  0.0, -0.5, -0.5 ], [ 0,  0, -1 ], [ 0, 1 ], 0 },
53                 { [  0.0,  0.0, -0.5 ], [ 0,  0, -1 ], [ 0, 0 ], 0 },
54                 { [ -0.5,  0.0, -0.5 ], [ 0,  1,  0 ], [ 0, 0 ], 0 }, // top
55                 { [ -0.5,  0.0,  0.0 ], [ 0,  1,  0 ], [ 0, 1 ], 0 },
56                 { [  0.0,  0.0, -0.5 ], [ 0,  1,  0 ], [ 1, 0 ], 0 },
57                 { [  0.0,  0.0,  0.0 ], [ 0,  1,  0 ], [ 1, 1 ], 0 },
58                 { [ -0.5, -0.5, -0.5 ], [ 0, -1,  0 ], [ 1, 0 ], 0 }, // bottom
59                 { [  0.0, -0.5, -0.5 ], [ 0, -1,  0 ], [ 0, 0 ], 0 },
60                 { [ -0.5, -0.5,  0.0 ], [ 0, -1,  0 ], [ 1, 1 ], 0 },
61                 { [  0.0, -0.5,  0.0 ], [ 0, -1,  0 ], [ 0, 1 ], 0 },
62                 { [ -0.5, -0.5, -0.5 ], [-1,  0,  0 ], [ 0, 1 ], 0 }, // left
63                 { [ -0.5, -0.5,  0.0 ], [-1,  0,  0 ], [ 1, 1 ], 0 },
64                 { [ -0.5,  0.0, -0.5 ], [-1,  0,  0 ], [ 0, 0 ], 0 },
65                 { [ -0.5,  0.0,  0.0 ], [-1,  0,  0 ], [ 1, 0 ], 0 },
66                 { [  0.0, -0.5, -0.5 ], [ 1,  0,  0 ], [ 1, 1 ], 0 }, // right
67                 { [  0.0,  0.0, -0.5 ], [ 1,  0,  0 ], [ 1, 0 ], 0 },
68                 { [  0.0, -0.5,  0.0 ], [ 1,  0,  0 ], [ 0, 1 ], 0 },
69                 { [  0.0,  0.0,  0.0 ], [ 1,  0,  0 ], [ 0, 0 ], 0 },
70         };
71         indices = {
72                  0,  1,  2,  2,  1,  3, // front
73                  4,  5,  6,  6,  5,  7, // back
74                  8,  9, 10, 10,  9, 11, // top
75                 12, 13, 14, 14, 13, 15, // bottom
76                 16, 17, 18, 18, 17, 19, // left
77                 20, 21, 22, 22, 21, 23, // right
78         };
79         fill = [ false, true, false, false, false, false ];
80 };
81
82 uniform_stair = {
83         bounds = Stair([ -0.5, -0.5, -0.5 ], [ 0.5, 0.5, 0.5 ], [ 0, 0 ]);
84         vertices = {
85                 //      position            normal          texture
86                 { [ -0.5,  0.0,  0.0 ], [  0,  0,  1 ], [ 0.0, 0.5 ], 0 }, // front, upper
87                 { [  0.5,  0.0,  0.0 ], [  0,  0,  1 ], [ 1.0, 0.5 ], 0 },
88                 { [ -0.5,  0.5,  0.0 ], [  0,  0,  1 ], [ 0.0, 0.0 ], 0 },
89                 { [  0.5,  0.5,  0.0 ], [  0,  0,  1 ], [ 1.0, 0.0 ], 0 },
90                 { [ -0.5, -0.5,  0.5 ], [  0,  0,  1 ], [ 0.0, 1.0 ], 0 }, // front, lower
91                 { [  0.5, -0.5,  0.5 ], [  0,  0,  1 ], [ 1.0, 1.0 ], 0 },
92                 { [ -0.5,  0.0,  0.5 ], [  0,  0,  1 ], [ 0.0, 0.5 ], 0 },
93                 { [  0.5,  0.0,  0.5 ], [  0,  0,  1 ], [ 1.0, 0.5 ], 0 },
94                 { [ -0.5, -0.5, -0.5 ], [  0,  0, -1 ], [ 1.0, 1.0 ], 0 }, // back
95                 { [ -0.5,  0.5, -0.5 ], [  0,  0, -1 ], [ 1.0, 0.0 ], 0 },
96                 { [  0.5, -0.5, -0.5 ], [  0,  0, -1 ], [ 0.0, 1.0 ], 0 },
97                 { [  0.5,  0.5, -0.5 ], [  0,  0, -1 ], [ 0.0, 0.0 ], 0 },
98                 { [ -0.5,  0.5, -0.5 ], [  0,  1,  0 ], [ 0.0, 0.0 ], 0 }, // top, upper
99                 { [ -0.5,  0.5,  0.0 ], [  0,  1,  0 ], [ 0.0, 0.5 ], 0 },
100                 { [  0.5,  0.5, -0.5 ], [  0,  1,  0 ], [ 1.0, 0.0 ], 0 },
101                 { [  0.5,  0.5,  0.0 ], [  0,  1,  0 ], [ 1.0, 0.5 ], 0 },
102                 { [ -0.5,  0.0,  0.0 ], [  0,  1,  0 ], [ 0.0, 0.5 ], 0 }, // top, lower
103                 { [ -0.5,  0.0,  0.5 ], [  0,  1,  0 ], [ 0.0, 1.0 ], 0 },
104                 { [  0.5,  0.0,  0.0 ], [  0,  1,  0 ], [ 1.0, 0.5 ], 0 },
105                 { [  0.5,  0.0,  0.5 ], [  0,  1,  0 ], [ 1.0, 1.0 ], 0 },
106                 { [ -0.5, -0.5, -0.5 ], [  0, -1,  0 ], [ 1.0, 0.0 ], 0 }, // bottom
107                 { [  0.5, -0.5, -0.5 ], [  0, -1,  0 ], [ 0.0, 0.0 ], 0 },
108                 { [ -0.5, -0.5,  0.5 ], [  0, -1,  0 ], [ 1.0, 1.0 ], 0 },
109                 { [  0.5, -0.5,  0.5 ], [  0, -1,  0 ], [ 0.0, 1.0 ], 0 },
110                 { [ -0.5,  0.0, -0.5 ], [ -1,  0,  0 ], [ 0.0, 0.5 ], 0 }, // left, upper
111                 { [ -0.5,  0.0,  0.0 ], [ -1,  0,  0 ], [ 0.5, 0.5 ], 0 },
112                 { [ -0.5,  0.5, -0.5 ], [ -1,  0,  0 ], [ 0.0, 0.0 ], 0 },
113                 { [ -0.5,  0.5,  0.0 ], [ -1,  0,  0 ], [ 0.5, 0.0 ], 0 },
114                 { [ -0.5, -0.5, -0.5 ], [ -1,  0,  0 ], [ 0.0, 1.0 ], 0 }, // left, lower
115                 { [ -0.5, -0.5,  0.5 ], [ -1,  0,  0 ], [ 1.0, 1.0 ], 0 },
116                 { [ -0.5,  0.0, -0.5 ], [ -1,  0,  0 ], [ 0.0, 0.5 ], 0 },
117                 { [ -0.5,  0.0,  0.5 ], [ -1,  0,  0 ], [ 1.0, 0.5 ], 0 },
118                 { [  0.5,  0.0, -0.5 ], [  1,  0,  0 ], [ 1.0, 0.5 ], 0 }, // right, upper
119                 { [  0.5,  0.5, -0.5 ], [  1,  0,  0 ], [ 1.0, 0.0 ], 0 },
120                 { [  0.5,  0.0,  0.0 ], [  1,  0,  0 ], [ 0.5, 0.5 ], 0 },
121                 { [  0.5,  0.5,  0.0 ], [  1,  0,  0 ], [ 0.5, 0.0 ], 0 },
122                 { [  0.5, -0.5, -0.5 ], [  1,  0,  0 ], [ 1.0, 1.0 ], 0 }, // right, lower
123                 { [  0.5,  0.0, -0.5 ], [  1,  0,  0 ], [ 1.0, 0.5 ], 0 },
124                 { [  0.5, -0.5,  0.5 ], [  1,  0,  0 ], [ 0.0, 1.0 ], 0 },
125                 { [  0.5,  0.0,  0.5 ], [  1,  0,  0 ], [ 0.0, 0.5 ], 0 },
126         };
127         indices = {
128                  0,  1,  2,  2,  1,  3, // front, upper
129                  4,  5,  6,  6,  5,  7, // front, lower
130                  8,  9, 10, 10,  9, 11, // back
131                 12, 13, 14, 14, 13, 15, // top, upper
132                 16, 17, 18, 18, 17, 19, // top, lower
133                 20, 21, 22, 22, 21, 23, // bottom
134                 24, 25, 26, 26, 25, 27, // left, upper
135                 28, 29, 30, 30, 29, 31, // left, lower
136                 32, 33, 34, 34, 33, 35, // right, upper
137                 36, 37, 38, 38, 37, 39, // right, lower
138         };
139         fill = [ false, true, false, false, false, true ];
140 };
141
142 pipe_block = {
143         bounds = Cuboid([ -0.5, -0.5, -0.5 ], [ 0.5, 0.5, 0.5 ]);
144         vertices = {
145                 //      position            normal       texture
146                 { [ -0.5, -0.5,  0.5 ], [ 0,  0,  1 ], [ 0, 1 ], 0 }, // front
147                 { [  0.5, -0.5,  0.5 ], [ 0,  0,  1 ], [ 1, 1 ], 0 },
148                 { [ -0.5,  0.5,  0.5 ], [ 0,  0,  1 ], [ 0, 0 ], 0 },
149                 { [  0.5,  0.5,  0.5 ], [ 0,  0,  1 ], [ 1, 0 ], 0 },
150                 { [ -0.5, -0.5, -0.5 ], [ 0,  0, -1 ], [ 1, 1 ], 0 }, // back
151                 { [ -0.5,  0.5, -0.5 ], [ 0,  0, -1 ], [ 1, 0 ], 0 },
152                 { [  0.5, -0.5, -0.5 ], [ 0,  0, -1 ], [ 0, 1 ], 0 },
153                 { [  0.5,  0.5, -0.5 ], [ 0,  0, -1 ], [ 0, 0 ], 0 },
154                 { [ -0.5,  0.5, -0.5 ], [ 0,  1,  0 ], [ 0, 0 ], 1 }, // top
155                 { [ -0.5,  0.5,  0.5 ], [ 0,  1,  0 ], [ 0, 1 ], 1 },
156                 { [  0.5,  0.5, -0.5 ], [ 0,  1,  0 ], [ 1, 0 ], 1 },
157                 { [  0.5,  0.5,  0.5 ], [ 0,  1,  0 ], [ 1, 1 ], 1 },
158                 { [ -0.5, -0.5, -0.5 ], [ 0, -1,  0 ], [ 1, 0 ], 1 }, // bottom
159                 { [  0.5, -0.5, -0.5 ], [ 0, -1,  0 ], [ 0, 0 ], 1 },
160                 { [ -0.5, -0.5,  0.5 ], [ 0, -1,  0 ], [ 1, 1 ], 1 },
161                 { [  0.5, -0.5,  0.5 ], [ 0, -1,  0 ], [ 0, 1 ], 1 },
162                 { [ -0.5, -0.5, -0.5 ], [-1,  0,  0 ], [ 0, 1 ], 0 }, // left
163                 { [ -0.5, -0.5,  0.5 ], [-1,  0,  0 ], [ 1, 1 ], 0 },
164                 { [ -0.5,  0.5, -0.5 ], [-1,  0,  0 ], [ 0, 0 ], 0 },
165                 { [ -0.5,  0.5,  0.5 ], [-1,  0,  0 ], [ 1, 0 ], 0 },
166                 { [  0.5, -0.5, -0.5 ], [ 1,  0,  0 ], [ 1, 1 ], 0 }, // right
167                 { [  0.5,  0.5, -0.5 ], [ 1,  0,  0 ], [ 1, 0 ], 0 },
168                 { [  0.5, -0.5,  0.5 ], [ 1,  0,  0 ], [ 0, 1 ], 0 },
169                 { [  0.5,  0.5,  0.5 ], [ 1,  0,  0 ], [ 0, 0 ], 0 },
170         };
171         indices = {
172                  0,  1,  2,  2,  1,  3, // front
173                  4,  5,  6,  6,  5,  7, // back
174                  8,  9, 10, 10,  9, 11, // top
175                 12, 13, 14, 14, 13, 15, // bottom
176                 16, 17, 18, 18, 17, 19, // left
177                 20, 21, 22, 22, 21, 23, // right
178         };
179         fill = [ true, true, true, true, true, true ];
180 };
181
182 // temporary fix for missing skeleton loader
183 player_body = {
184         bounds = Cuboid([ -0.25, -0.25, -0.25 ], [ 0.25, 0.25, 0.25 ]);
185         vertices = {
186                 //      position            normal       texture
187                 { [ -0.25, -0.25,  0.25 ], [ 0,  0,  1 ], [ 0, 1 ], 0 }, // front
188                 { [  0.25, -0.25,  0.25 ], [ 0,  0,  1 ], [ 1, 1 ], 0 },
189                 { [ -0.25,  0.25,  0.25 ], [ 0,  0,  1 ], [ 0, 0 ], 0 },
190                 { [  0.25,  0.25,  0.25 ], [ 0,  0,  1 ], [ 1, 0 ], 0 },
191                 { [ -0.25, -0.25, -0.25 ], [ 0,  0, -1 ], [ 1, 1 ], 0 }, // back
192                 { [ -0.25,  0.25, -0.25 ], [ 0,  0, -1 ], [ 1, 0 ], 0 },
193                 { [  0.25, -0.25, -0.25 ], [ 0,  0, -1 ], [ 0, 1 ], 0 },
194                 { [  0.25,  0.25, -0.25 ], [ 0,  0, -1 ], [ 0, 0 ], 0 },
195                 { [ -0.25,  0.25, -0.25 ], [ 0,  1,  0 ], [ 0, 0 ], 0 }, // top
196                 { [ -0.25,  0.25,  0.25 ], [ 0,  1,  0 ], [ 0, 1 ], 0 },
197                 { [  0.25,  0.25, -0.25 ], [ 0,  1,  0 ], [ 1, 0 ], 0 },
198                 { [  0.25,  0.25,  0.25 ], [ 0,  1,  0 ], [ 1, 1 ], 0 },
199                 { [ -0.25, -0.25, -0.25 ], [ 0, -1,  0 ], [ 1, 0 ], 0 }, // bottom
200                 { [  0.25, -0.25, -0.25 ], [ 0, -1,  0 ], [ 0, 0 ], 0 },
201                 { [ -0.25, -0.25,  0.25 ], [ 0, -1,  0 ], [ 1, 1 ], 0 },
202                 { [  0.25, -0.25,  0.25 ], [ 0, -1,  0 ], [ 0, 1 ], 0 },
203                 { [ -0.25, -0.25, -0.25 ], [-1,  0,  0 ], [ 0, 1 ], 0 }, // left
204                 { [ -0.25, -0.25,  0.25 ], [-1,  0,  0 ], [ 1, 1 ], 0 },
205                 { [ -0.25,  0.25, -0.25 ], [-1,  0,  0 ], [ 0, 0 ], 0 },
206                 { [ -0.25,  0.25,  0.25 ], [-1,  0,  0 ], [ 1, 0 ], 0 },
207                 { [  0.25, -0.25, -0.25 ], [ 1,  0,  0 ], [ 1, 1 ], 0 }, // right
208                 { [  0.25,  0.25, -0.25 ], [ 1,  0,  0 ], [ 1, 0 ], 0 },
209                 { [  0.25, -0.25,  0.25 ], [ 1,  0,  0 ], [ 0, 1 ], 0 },
210                 { [  0.25,  0.25,  0.25 ], [ 1,  0,  0 ], [ 0, 0 ], 0 },
211         };
212         indices = {
213                  0,  1,  2,  2,  1,  3, // front
214                  4,  5,  6,  6,  5,  7, // back
215                  8,  9, 10, 10,  9, 11, // top
216                 12, 13, 14, 14, 13, 15, // bottom
217                 16, 17, 18, 18, 17, 19, // left
218                 20, 21, 22, 22, 21, 23, // right
219         };
220 };
221 player_head = {
222         bounds = Cuboid([ -0.125, -0.125, -0.125 ], [ 0.125, 0.125, 0.125 ]);
223         vertices = {
224                 //      position            normal       texture
225                 { [ -0.125, -0.125,  0.125 ], [ 0,  0,  1 ], [ 0, 1 ], 0 }, // front
226                 { [  0.125, -0.125,  0.125 ], [ 0,  0,  1 ], [ 1, 1 ], 0 },
227                 { [ -0.125,  0.125,  0.125 ], [ 0,  0,  1 ], [ 0, 0 ], 0 },
228                 { [  0.125,  0.125,  0.125 ], [ 0,  0,  1 ], [ 1, 0 ], 0 },
229                 { [ -0.125, -0.125, -0.125 ], [ 0,  0, -1 ], [ 1, 1 ], 1 }, // back
230                 { [ -0.125,  0.125, -0.125 ], [ 0,  0, -1 ], [ 1, 0 ], 1 },
231                 { [  0.125, -0.125, -0.125 ], [ 0,  0, -1 ], [ 0, 1 ], 1 },
232                 { [  0.125,  0.125, -0.125 ], [ 0,  0, -1 ], [ 0, 0 ], 1 },
233                 { [ -0.125,  0.125, -0.125 ], [ 0,  1,  0 ], [ 0, 0 ], 0 }, // top
234                 { [ -0.125,  0.125,  0.125 ], [ 0,  1,  0 ], [ 0, 1 ], 0 },
235                 { [  0.125,  0.125, -0.125 ], [ 0,  1,  0 ], [ 1, 0 ], 0 },
236                 { [  0.125,  0.125,  0.125 ], [ 0,  1,  0 ], [ 1, 1 ], 0 },
237                 { [ -0.125, -0.125, -0.125 ], [ 0, -1,  0 ], [ 1, 0 ], 0 }, // bottom
238                 { [  0.125, -0.125, -0.125 ], [ 0, -1,  0 ], [ 0, 0 ], 0 },
239                 { [ -0.125, -0.125,  0.125 ], [ 0, -1,  0 ], [ 1, 1 ], 0 },
240                 { [  0.125, -0.125,  0.125 ], [ 0, -1,  0 ], [ 0, 1 ], 0 },
241                 { [ -0.125, -0.125, -0.125 ], [-1,  0,  0 ], [ 0, 1 ], 0 }, // left
242                 { [ -0.125, -0.125,  0.125 ], [-1,  0,  0 ], [ 1, 1 ], 0 },
243                 { [ -0.125,  0.125, -0.125 ], [-1,  0,  0 ], [ 0, 0 ], 0 },
244                 { [ -0.125,  0.125,  0.125 ], [-1,  0,  0 ], [ 1, 0 ], 0 },
245                 { [  0.125, -0.125, -0.125 ], [ 1,  0,  0 ], [ 1, 1 ], 0 }, // right
246                 { [  0.125,  0.125, -0.125 ], [ 1,  0,  0 ], [ 1, 0 ], 0 },
247                 { [  0.125, -0.125,  0.125 ], [ 1,  0,  0 ], [ 0, 1 ], 0 },
248                 { [  0.125,  0.125,  0.125 ], [ 1,  0,  0 ], [ 0, 0 ], 0 },
249         };
250         indices = {
251                  0,  1,  2,  2,  1,  3, // front
252                  4,  5,  6,  6,  5,  7, // back
253                  8,  9, 10, 10,  9, 11, // top
254                 12, 13, 14, 14, 13, 15, // bottom
255                 16, 17, 18, 18, 17, 19, // left
256                 20, 21, 22, 22, 21, 23, // right
257         };
258         fill = [ true, true, true, true, true, true ];
259 };