1
0
Fork 0
mirror of https://git.coom.tech/drummyfish/small3dlib.git synced 2024-11-21 20:39:57 +01:00

Add gbmeta files

This commit is contained in:
Miloslav Číž 2019-07-02 14:26:12 +02:00
parent 21e227a4eb
commit 6ef6ec6056
14 changed files with 2762 additions and 0 deletions

BIN
programs/gbmeta/ICON.BMP Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View file

@ -0,0 +1,768 @@
#ifndef CHEST_MODEL_H
#define CHEST_MODEL_H
#define CHEST_VERTEX_COUNT 118
const S3L_Unit chestVertices[CHEST_VERTEX_COUNT * 3] = {
1335, -1581, 959, // 0
1504, -822, 1122, // 3
1504, -822, -971, // 6
1335, -1581, -808, // 9
1656, -822, 1273, // 12
1656, -822, -1123, // 15
1451, 823, 707, // 18
1484, 549, 532, // 21
1539, 66, 860, // 24
1521, 214, 1160, // 27
331, -501, -969, // 30
1247, -501, -969, // 33
1163, 101, -875, // 36
287, 95, -875, // 39
223, 647, -479, // 42
250, 794, -562, // 45
313, 179, -1016, // 48
1100, 649, -479, // 51
223, 647, 629, // 54
287, 95, 1026, // 57
313, 179, 1158, // 60
250, 794, 705, // 63
1079, 835, 75, // 66
223, 833, 75, // 69
1100, 649, 629, // 72
1163, 101, 1026, // 75
1247, -501, 1120, // 78
331, -501, 1120, // 81
230, 986, 71, // 84
354, -822, -1123, // 87
357, -502, -1123, // 90
-357, -502, -1123, // 93
-354, -822, -1123, // 96
357, -502, 1265, // 99
1334, 531, 532, // 102
1389, 48, 860, // 105
1156, 172, -1009, // 108
1086, 781, -557, // 111
1389, 48, -709, // 114
1334, 531, -382, // 117
1484, 549, -382, // 120
1539, 66, -709, // 123
1466, -509, 937, // 126
1617, -509, 937, // 129
1451, 823, -557, // 132
1521, 214, -1009, // 135
1466, -509, -787, // 138
1617, -509, -787, // 141
1465, 712, 75, // 144
1428, 1028, 75, // 147
1621, -501, 1273, // 150
1621, -501, -1123, // 153
1315, 695, 75, // 156
1247, -501, -1123, // 159
1247, -501, 1271, // 162
1156, 172, 1160, // 165
1086, 781, 707, // 168
1062, 986, 75, // 171
300, -1121, -892, // 174
348, -822, -971, // 177
300, -1121, -1123, // 180
-1335, -1581, 959, // 183
-1335, -1581, -808, // 186
-1504, -822, -971, // 189
-1504, -822, 1122, // 192
-1656, -822, -1123, // 195
-1656, -822, 1273, // 198
-331, -501, -969, // 201
-287, 95, -875, // 204
-1163, 101, -875, // 207
-1247, -501, -969, // 210
-313, 179, -1016, // 213
-250, 794, -562, // 216
-223, 647, -479, // 219
-1100, 649, -479, // 222
-223, 647, 629, // 225
-250, 794, 705, // 228
-313, 179, 1158, // 231
-287, 95, 1026, // 234
-223, 833, 75, // 237
-1079, 835, 75, // 240
-1100, 649, 629, // 243
-1163, 101, 1026, // 246
-1247, -501, 1120, // 249
-331, -501, 1120, // 252
-230, 986, 71, // 255
-1247, -501, -1123, // 258
-1621, -501, -1123, // 261
-357, -502, 1265, // 264
-1334, 531, 532, // 267
-1484, 549, 532, // 270
-1539, 66, 860, // 273
-1389, 48, 860, // 276
-1086, 781, -557, // 279
-1156, 172, -1009, // 282
-1389, 48, -709, // 285
-1539, 66, -709, // 288
-1484, 549, -382, // 291
-1334, 531, -382, // 294
-1617, -509, 937, // 297
-1466, -509, 937, // 300
-1466, -509, -787, // 303
-1617, -509, -787, // 306
-1465, 712, 75, // 309
-1315, 695, 75, // 312
-1521, 214, -1009, // 315
-1451, 823, -557, // 318
-1247, -501, 1271, // 321
-1621, -501, 1273, // 324
-1521, 214, 1160, // 327
-1156, 172, 1160, // 330
-1451, 823, 707, // 333
-1086, 781, 707, // 336
-1062, 986, 75, // 339
-1428, 1028, 75, // 342
-300, -1121, -892, // 345
-300, -1121, -1123, // 348
-348, -822, -971 // 351
}; // chestVertices
#define CHEST_TRIANGLE_COUNT 232
const S3L_Index chestTriangleIndices[CHEST_TRIANGLE_COUNT * 3] = {
1, 3, 0, // 0
1, 5, 2, // 3
7, 9, 6, // 6
10, 12, 13, // 9
14, 16, 13, // 12
13, 17, 14, // 15
18, 20, 21, // 18
14, 22, 23, // 21
18, 22, 24, // 24
19, 24, 25, // 27
27, 25, 26, // 30
23, 15, 14, // 33
30, 32, 29, // 36
13, 30, 10, // 39
19, 33, 20, // 42
23, 21, 28, // 45
34, 8, 7, // 48
17, 36, 37, // 51
39, 41, 38, // 54
42, 8, 35, // 57
40, 45, 41, // 60
46, 41, 47, // 63
48, 44, 40, // 66
4, 50, 43, // 69
5, 47, 51, // 72
5, 43, 47, // 75
52, 40, 39, // 78
52, 7, 48, // 81
53, 45, 36, // 84
6, 48, 7, // 87
36, 44, 37, // 90
26, 33, 27, // 93
30, 11, 10, // 96
54, 9, 50, // 99
55, 6, 9, // 102
37, 49, 57, // 105
56, 49, 6, // 108
41, 51, 47, // 111
24, 55, 25, // 114
22, 37, 57, // 117
12, 53, 36, // 120
22, 56, 24, // 123
25, 54, 26, // 126
46, 43, 42, // 129
35, 39, 38, // 132
52, 39, 34, // 135
46, 35, 38, // 138
59, 60, 58, // 141
62, 64, 61, // 144
65, 64, 63, // 147
67, 69, 70, // 150
71, 73, 68, // 153
68, 74, 69, // 156
75, 77, 78, // 159
73, 80, 74, // 162
80, 75, 81, // 165
81, 78, 82, // 168
82, 84, 83, // 171
72, 79, 73, // 174
86, 87, 65, // 177
72, 16, 15, // 180
71, 30, 16, // 183
31, 68, 67, // 186
78, 88, 84, // 189
79, 76, 75, // 192
89, 91, 92, // 195
74, 94, 69, // 198
96, 98, 95, // 201
91, 100, 92, // 204
101, 96, 95, // 207
65, 99, 66, // 210
98, 103, 104, // 213
103, 89, 104, // 216
105, 86, 94, // 219
106, 94, 93, // 222
83, 88, 107, // 225
70, 31, 67, // 228
107, 109, 110, // 231
110, 111, 112, // 234
114, 93, 113, // 237
111, 113, 112, // 240
110, 81, 82, // 243
80, 93, 74, // 246
69, 86, 70, // 249
112, 80, 81, // 252
107, 82, 83, // 255
99, 101, 100, // 258
98, 92, 95, // 261
104, 89, 98, // 264
95, 100, 101, // 267
32, 86, 65, // 270
116, 117, 115, // 273
15, 85, 72, // 276
21, 85, 28, // 279
20, 76, 21, // 282
33, 77, 20, // 285
29, 116, 60, // 288
116, 58, 60, // 291
62, 58, 115, // 294
2, 58, 3, // 297
63, 115, 117, // 300
0, 64, 1, // 303
3, 61, 0, // 306
29, 53, 30, // 309
53, 5, 51, // 312
50, 4, 54, // 315
54, 4, 33, // 318
66, 107, 88, // 321
108, 107, 66, // 324
33, 66, 88, // 327
1, 66, 4, // 330
32, 63, 117, // 333
2, 29, 59, // 336
66, 99, 108, // 339
91, 108, 99, // 342
90, 109, 91, // 345
103, 111, 90, // 348
103, 106, 114, // 351
97, 105, 106, // 354
96, 87, 105, // 357
87, 102, 65, // 360
50, 8, 43, // 363
1, 2, 3, // 366
1, 4, 5, // 369
7, 8, 9, // 372
10, 11, 12, // 375
14, 15, 16, // 378
13, 12, 17, // 381
18, 19, 20, // 384
14, 17, 22, // 387
18, 23, 22, // 390
19, 18, 24, // 393
27, 19, 25, // 396
23, 28, 15, // 399
30, 31, 32, // 402
13, 16, 30, // 405
19, 27, 33, // 408
23, 18, 21, // 411
34, 35, 8, // 414
17, 12, 36, // 417
39, 40, 41, // 420
42, 43, 8, // 423
40, 44, 45, // 426
46, 38, 41, // 429
48, 49, 44, // 432
5, 4, 43, // 435
52, 48, 40, // 438
52, 34, 7, // 441
53, 51, 45, // 444
6, 49, 48, // 447
36, 45, 44, // 450
26, 54, 33, // 453
30, 53, 11, // 456
54, 55, 9, // 459
55, 56, 6, // 462
37, 44, 49, // 465
56, 57, 49, // 468
41, 45, 51, // 471
24, 56, 55, // 474
22, 17, 37, // 477
12, 11, 53, // 480
22, 57, 56, // 483
25, 55, 54, // 486
46, 47, 43, // 489
35, 34, 39, // 492
46, 42, 35, // 495
59, 29, 60, // 498
62, 63, 64, // 501
65, 66, 64, // 504
67, 68, 69, // 507
71, 72, 73, // 510
68, 73, 74, // 513
75, 76, 77, // 516
73, 79, 80, // 519
80, 79, 75, // 522
81, 75, 78, // 525
82, 78, 84, // 528
72, 85, 79, // 531
72, 71, 16, // 534
71, 31, 30, // 537
31, 71, 68, // 540
78, 77, 88, // 543
79, 85, 76, // 546
89, 90, 91, // 549
74, 93, 94, // 552
96, 97, 98, // 555
91, 99, 100, // 558
101, 102, 96, // 561
65, 102, 99, // 564
98, 97, 103, // 567
103, 90, 89, // 570
105, 87, 86, // 573
106, 105, 94, // 576
83, 84, 88, // 579
70, 86, 31, // 582
107, 108, 109, // 585
110, 109, 111, // 588
114, 106, 93, // 591
111, 114, 113, // 594
110, 112, 81, // 597
80, 113, 93, // 600
69, 94, 86, // 603
112, 113, 80, // 606
107, 110, 82, // 609
99, 102, 101, // 612
98, 89, 92, // 615
95, 92, 100, // 618
32, 31, 86, // 621
116, 32, 117, // 624
15, 28, 85, // 627
21, 76, 85, // 630
20, 77, 76, // 633
33, 88, 77, // 636
29, 32, 116, // 639
116, 115, 58, // 642
62, 3, 58, // 645
2, 59, 58, // 648
63, 62, 115, // 651
0, 61, 64, // 654
3, 62, 61, // 657
29, 5, 53, // 660
33, 4, 66, // 663
1, 64, 66, // 666
32, 65, 63, // 669
2, 5, 29, // 672
91, 109, 108, // 675
90, 111, 109, // 678
103, 114, 111, // 681
103, 97, 106, // 684
97, 96, 105, // 687
96, 102, 87, // 690
50, 9, 8 // 693
}; // chestTriangleIndices
#define CHEST_UV_COUNT 154
const S3L_Unit chestUVs[CHEST_UV_COUNT * 2] = {
23, 196, // 0
71, 313, // 2
71, 196, // 4
307, 495, // 6
495, 483, // 8
482, 495, // 10
343, 350, // 12
286, 392, // 14
322, 325, // 16
151, 185, // 18
198, 247, // 20
198, 185, // 22
250, 185, // 24
198, 172, // 26
250, 247, // 28
347, 185, // 30
397, 172, // 32
347, 172, // 34
298, 247, // 36
298, 185, // 38
347, 247, // 40
397, 185, // 42
397, 247, // 44
436, 185, // 46
436, 247, // 48
250, 172, // 50
143, 172, // 52
122, 124, // 54
122, 172, // 56
448, 172, // 58
298, 172, // 60
353, 360, // 62
316, 400, // 64
198, 260, // 66
250, 260, // 68
426, 358, // 70
469, 396, // 72
452, 400, // 74
332, 444, // 76
330, 402, // 78
435, 345, // 80
500, 385, // 82
454, 444, // 84
465, 456, // 86
387, 330, // 88
454, 317, // 90
294, 483, // 92
293, 460, // 94
322, 457, // 96
496, 459, // 98
389, 345, // 100
143, 260, // 102
198, 283, // 104
250, 283, // 106
151, 247, // 108
448, 260, // 110
397, 283, // 112
448, 283, // 114
397, 260, // 116
347, 283, // 118
298, 283, // 120
298, 260, // 122
347, 260, // 124
109, 178, // 126
105, 158, // 128
90, 162, // 130
270, 313, // 132
203, 495, // 134
270, 495, // 136
495, 483, // 138
307, 495, // 140
482, 495, // 142
151, 111, // 144
198, 51, // 146
151, 51, // 148
198, 124, // 150
250, 111, // 152
198, 111, // 154
250, 51, // 156
347, 111, // 158
397, 124, // 160
397, 111, // 162
298, 51, // 164
347, 51, // 166
397, 51, // 168
436, 111, // 170
436, 51, // 172
250, 124, // 174
298, 111, // 176
143, 40, // 178
143, 13, // 180
122, 13, // 182
143, 124, // 184
448, 124, // 186
347, 124, // 188
353, 360, // 190
317, 400, // 192
331, 402, // 194
198, 40, // 196
469, 396, // 198
427, 358, // 200
452, 400, // 202
333, 444, // 204
455, 444, // 206
322, 457, // 208
295, 483, // 210
388, 330, // 212
389, 345, // 214
198, 13, // 216
250, 13, // 218
250, 40, // 220
448, 40, // 222
397, 13, // 224
397, 40, // 226
347, 13, // 228
347, 40, // 230
298, 13, // 232
298, 40, // 234
105, 138, // 236
111, 119, // 238
90, 133, // 240
298, 124, // 242
71, 495, // 244
39, 385, // 246
39, 424, // 248
23, 313, // 250
23, 495, // 252
23, 427, // 254
23, 11, // 256
183, 495, // 258
183, 313, // 260
122, 283, // 262
143, 283, // 264
471, 283, // 266
470, 13, // 268
448, 13, // 270
482, 283, // 272
111, 26, // 274
109, 274, // 276
294, 460, // 278
343, 350, // 280
287, 392, // 282
323, 325, // 284
454, 317, // 286
386, 297, // 288
436, 345, // 290
500, 385, // 292
496, 459, // 294
465, 456, // 296
385, 297, // 298
203, 313, // 300
23, 382, // 302
71, 11, // 304
482, 13 // 306
}; // chestUVs
#define CHEST_UV_INDEX_COUNT 232
const S3L_Index chestUVIndices[CHEST_UV_INDEX_COUNT * 3] = {
0, 1, 2, // 0
3, 4, 5, // 3
6, 7, 8, // 6
9, 10, 11, // 9
12, 13, 11, // 12
11, 14, 12, // 15
15, 16, 17, // 18
12, 18, 19, // 21
15, 18, 20, // 24
21, 20, 22, // 27
23, 22, 24, // 30
19, 25, 12, // 33
26, 27, 28, // 36
11, 26, 9, // 39
21, 29, 16, // 42
19, 17, 30, // 45
31, 32, 6, // 48
14, 33, 34, // 51
35, 36, 37, // 54
38, 32, 39, // 57
40, 41, 36, // 60
42, 36, 43, // 63
44, 45, 40, // 66
46, 47, 48, // 69
4, 43, 49, // 72
4, 48, 43, // 75
50, 40, 35, // 78
50, 6, 44, // 81
51, 52, 33, // 84
8, 44, 6, // 87
33, 53, 34, // 90
24, 29, 23, // 93
26, 54, 9, // 96
55, 56, 57, // 99
58, 59, 56, // 102
34, 60, 61, // 105
62, 60, 59, // 108
36, 49, 43, // 111
20, 58, 22, // 114
18, 34, 61, // 117
10, 51, 33, // 120
18, 62, 20, // 123
22, 55, 24, // 126
42, 48, 38, // 129
39, 35, 37, // 132
50, 35, 31, // 135
42, 39, 37, // 138
63, 64, 65, // 141
66, 67, 68, // 144
69, 70, 71, // 147
72, 73, 74, // 150
75, 76, 77, // 153
77, 78, 73, // 156
79, 80, 81, // 159
76, 82, 78, // 162
82, 79, 83, // 165
83, 81, 84, // 168
84, 85, 86, // 171
87, 88, 76, // 174
89, 90, 91, // 177
87, 13, 25, // 180
75, 26, 13, // 183
92, 77, 72, // 186
81, 93, 85, // 189
88, 94, 79, // 192
95, 96, 97, // 195
78, 98, 73, // 198
99, 100, 101, // 201
96, 102, 97, // 204
103, 99, 101, // 207
69, 104, 105, // 210
100, 106, 107, // 213
106, 95, 107, // 216
108, 89, 98, // 219
109, 98, 110, // 222
86, 93, 111, // 225
74, 92, 72, // 228
111, 112, 113, // 231
113, 114, 115, // 234
116, 110, 117, // 237
114, 117, 115, // 240
113, 83, 84, // 243
82, 110, 78, // 246
73, 89, 74, // 249
115, 82, 83, // 252
111, 84, 86, // 255
104, 103, 102, // 258
100, 97, 101, // 261
107, 95, 100, // 264
101, 102, 103, // 267
27, 89, 91, // 270
118, 119, 120, // 273
25, 121, 87, // 276
17, 121, 30, // 279
16, 94, 17, // 282
29, 80, 16, // 285
28, 118, 64, // 288
118, 65, 64, // 291
122, 123, 124, // 294
125, 123, 1, // 297
126, 124, 127, // 300
2, 128, 0, // 303
1, 129, 130, // 306
28, 51, 26, // 309
51, 131, 132, // 312
57, 133, 55, // 315
55, 133, 29, // 318
134, 111, 93, // 321
135, 111, 134, // 324
29, 134, 93, // 327
136, 134, 133, // 330
27, 137, 119, // 333
138, 28, 63, // 336
105, 104, 139, // 339
96, 139, 104, // 342
140, 141, 96, // 345
106, 142, 140, // 348
106, 143, 144, // 351
145, 146, 143, // 354
99, 147, 146, // 357
147, 148, 69, // 360
47, 32, 48, // 363
0, 125, 1, // 366
3, 46, 4, // 369
6, 32, 7, // 372
9, 54, 10, // 375
12, 25, 13, // 378
11, 10, 14, // 381
15, 21, 16, // 384
12, 14, 18, // 387
15, 19, 18, // 390
21, 15, 20, // 393
23, 21, 22, // 396
19, 30, 25, // 399
26, 92, 27, // 402
11, 13, 26, // 405
21, 23, 29, // 408
19, 15, 17, // 411
31, 39, 32, // 414
14, 10, 33, // 417
35, 40, 36, // 420
38, 48, 32, // 423
40, 45, 41, // 426
42, 37, 36, // 429
44, 149, 45, // 432
4, 46, 48, // 435
50, 44, 40, // 438
50, 31, 6, // 441
51, 132, 52, // 444
8, 149, 44, // 447
33, 52, 53, // 450
24, 55, 29, // 453
26, 51, 54, // 456
55, 58, 56, // 459
58, 62, 59, // 462
34, 53, 60, // 465
62, 61, 60, // 468
36, 41, 49, // 471
20, 62, 58, // 474
18, 14, 34, // 477
10, 54, 51, // 480
18, 61, 62, // 483
22, 58, 55, // 486
42, 43, 48, // 489
39, 31, 35, // 492
42, 38, 39, // 495
63, 28, 64, // 498
66, 150, 67, // 501
69, 105, 70, // 504
72, 77, 73, // 507
75, 87, 76, // 510
77, 76, 78, // 513
79, 94, 80, // 516
76, 88, 82, // 519
82, 88, 79, // 522
83, 79, 81, // 525
84, 81, 85, // 528
87, 121, 88, // 531
87, 75, 13, // 534
75, 92, 26, // 537
92, 75, 77, // 540
81, 80, 93, // 543
88, 121, 94, // 546
95, 140, 96, // 549
78, 110, 98, // 552
99, 145, 100, // 555
96, 104, 102, // 558
103, 148, 99, // 561
69, 148, 104, // 564
100, 145, 106, // 567
106, 140, 95, // 570
108, 90, 89, // 573
109, 108, 98, // 576
86, 85, 93, // 579
74, 89, 92, // 582
111, 135, 112, // 585
113, 112, 114, // 588
116, 109, 110, // 591
114, 116, 117, // 594
113, 115, 83, // 597
82, 117, 110, // 600
73, 98, 89, // 603
115, 117, 82, // 606
111, 113, 84, // 609
104, 148, 103, // 612
100, 95, 97, // 615
101, 97, 102, // 618
27, 92, 89, // 621
118, 27, 119, // 624
25, 30, 121, // 627
17, 94, 121, // 630
16, 80, 94, // 633
29, 93, 80, // 636
28, 27, 118, // 639
118, 120, 65, // 642
122, 1, 123, // 645
125, 151, 123, // 648
126, 122, 124, // 651
2, 152, 128, // 654
1, 122, 129, // 657
28, 131, 51, // 660
29, 133, 134, // 663
136, 153, 134, // 666
27, 91, 137, // 669
138, 131, 28, // 672
96, 141, 139, // 675
140, 142, 141, // 678
106, 144, 142, // 681
106, 145, 143, // 684
145, 99, 146, // 687
99, 148, 147, // 690
47, 7, 32 // 693
}; // chestUVIndices
S3L_Model3D chestModel;
void chestModelInit()
{
S3L_initModel3D(
chestVertices,
CHEST_VERTEX_COUNT,
chestTriangleIndices,
CHEST_TRIANGLE_COUNT,
&chestModel);
}
#endif // guard

View file

@ -0,0 +1,136 @@
#ifndef CHEST_TEXTURE_H
#define CHEST_TEXTURE_H
#define CHEST_TEXTURE_WIDTH 64
#define CHEST_TEXTURE_HEIGHT 64
const uint8_t chestTexture[4096] = {
9,9,9,9,9,9,8,8,9,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,8,
9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,7,23,23,7,7,7,7,8,8,9,9,9,
9,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,8,
8,8,8,8,8,8,9,9,9,8,9,8,21,24,24,24,24,24,21,8,9,8,9,9,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,9,9,8,9,
24,20,21,21,20,22,22,20,8,9,9,8,7,7,7,9,9,9,9,9,8,9,9,9,9,9,9,8,11,9,8,9,9,9,8,
8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,7,7,7,7,9,9,8,9,24,20,24,25,22,25,24,
21,8,8,9,8,7,7,7,9,8,8,8,8,6,8,8,9,7,6,8,7,8,8,8,8,8,7,8,6,8,8,8,9,8,8,8,6,8,8,
8,8,8,8,7,6,8,8,8,9,7,7,7,7,9,9,9,8,24,20,24,25,23,25,25,23,8,9,9,8,7,7,7,8,7,7,
7,8,7,6,6,7,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,7,7,7,7,7,9,8,7,
7,7,9,9,9,9,24,20,24,25,24,26,25,23,8,8,9,8,7,7,7,8,6,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,7,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,7,7,7,7,9,9,9,9,24,20,24,26,
24,26,25,21,8,8,9,8,7,6,7,8,6,6,22,22,22,22,22,21,22,22,22,22,22,21,22,22,22,22,
23,22,23,23,23,23,23,22,23,23,23,23,22,22,23,22,22,22,22,7,7,8,8,7,8,7,8,9,9,9,
24,20,24,26,24,26,24,20,8,9,9,8,7,6,7,8,6,22,23,23,25,25,24,24,24,25,25,25,25,
24,24,26,25,24,25,24,25,26,26,26,25,24,25,25,26,25,26,25,25,24,24,24,22,7,7,8,7,
7,8,7,8,9,9,9,24,20,24,26,24,26,25,20,8,9,9,8,7,6,7,8,6,22,24,24,26,25,25,24,25,
26,26,26,25,25,25,26,26,24,26,24,25,26,26,26,25,24,25,25,26,26,26,25,26,25,25,
25,22,7,7,8,8,7,7,7,8,9,8,9,24,20,24,26,24,25,25,20,8,8,9,8,7,7,7,8,6,22,24,25,
26,25,24,24,26,26,26,26,25,25,26,26,26,25,26,25,25,26,26,26,26,25,25,25,26,26,
26,25,26,26,26,25,23,6,7,8,8,6,7,6,8,9,8,9,24,20,24,26,23,25,25,20,8,8,8,8,7,7,
7,8,5,22,24,25,26,25,25,24,26,26,26,26,25,25,26,26,26,25,26,25,26,26,26,26,26,
25,24,26,26,26,26,25,26,25,26,25,23,6,6,8,8,6,7,7,8,9,8,9,24,20,24,26,23,26,25,
20,8,8,8,8,7,7,7,8,6,5,24,25,25,25,24,24,25,26,26,25,25,25,25,26,26,25,25,25,25,
26,26,26,25,25,25,26,26,26,26,25,26,24,25,24,23,6,6,8,8,6,7,6,8,8,8,9,24,20,24,
26,23,25,25,20,8,8,8,8,7,7,7,8,6,5,23,23,23,24,23,23,23,24,23,23,24,24,24,24,24,
24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,22,23,6,6,8,8,6,7,6,8,8,8,
9,24,20,24,26,23,26,24,20,8,8,8,8,7,7,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,6,7,6,8,8,8,8,8,20,24,26,23,26,25,
20,8,8,7,7,7,7,6,8,6,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,7,6,6,6,
6,6,6,6,6,6,6,7,6,8,8,6,7,6,8,8,8,8,8,21,24,26,23,26,26,20,8,7,7,7,7,8,8,8,5,7,
7,7,7,7,7,7,6,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,6,6,7,6,6,6,6,7,8,8,6,
7,6,8,8,8,8,8,21,24,26,23,26,25,21,8,7,7,7,8,8,9,9,7,8,8,8,8,9,8,9,8,9,8,8,8,8,
8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,6,7,6,8,9,8,8,24,20,24,26,
23,26,25,21,8,7,7,7,8,4,9,9,7,8,9,9,8,10,9,9,9,9,8,5,10,9,9,8,8,9,8,8,10,8,8,8,
9,8,9,9,7,8,8,8,8,8,10,8,8,9,9,9,7,6,7,6,8,8,8,9,7,20,24,26,23,26,25,21,8,7,7,7,
8,9,9,9,7,8,8,9,6,8,9,9,8,8,9,6,9,9,8,9,8,9,9,7,8,8,8,9,9,8,9,8,6,8,8,8,8,8,10,
7,8,8,8,8,7,6,7,6,8,8,8,8,8,20,24,25,23,26,25,22,8,7,7,6,8,9,8,9,7,8,8,8,8,8,8,
8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,6,7,6,8,8,8,
8,8,20,24,25,23,25,25,21,8,7,7,7,7,8,8,8,5,7,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,
7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,8,8,6,7,6,8,8,8,8,8,20,23,23,21,23,23,
21,8,8,7,6,7,7,6,7,6,7,7,7,6,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
6,6,6,6,6,6,6,6,6,8,8,6,7,6,8,8,8,8,8,20,21,21,22,22,22,21,8,8,8,7,7,7,7,8,6,6,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,22,22,22,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,6,8,
8,6,7,6,7,8,8,8,7,20,23,23,22,23,22,21,8,8,8,7,7,7,7,8,6,5,23,24,25,24,24,23,24,
24,25,25,24,25,24,24,24,23,24,22,23,24,24,24,23,24,23,23,23,23,24,23,24,24,23,
22,22,6,6,8,8,6,7,6,7,8,8,8,24,20,24,24,24,24,23,22,8,8,8,7,7,6,7,8,6,21,23,25,
26,25,25,24,24,26,26,26,26,26,25,25,25,24,25,23,25,26,26,26,25,24,24,25,26,26,
25,25,25,25,26,24,22,6,6,8,8,6,7,6,7,8,8,8,24,20,22,22,21,21,21,22,8,8,8,7,7,6,
7,8,7,21,24,25,26,26,25,24,24,26,26,26,26,26,25,26,26,24,26,24,25,26,26,26,26,
25,25,26,26,26,26,26,26,26,26,25,22,6,6,8,8,6,7,6,7,8,8,8,24,20,24,25,23,25,25,
20,8,8,8,7,7,6,7,8,6,22,24,26,26,26,25,24,26,26,26,26,26,26,25,26,26,25,26,24,
26,26,26,26,26,26,25,26,26,26,26,25,26,26,26,25,22,6,6,8,8,6,7,6,7,8,8,8,24,20,
24,25,23,26,24,20,8,8,8,7,7,6,7,8,6,22,24,26,26,26,25,24,26,26,26,26,26,26,25,
26,26,26,26,25,26,26,26,26,26,24,25,26,26,26,26,25,26,26,26,25,22,6,6,7,8,6,7,6,
7,8,8,8,24,20,25,26,23,26,24,20,8,8,8,7,7,6,7,7,6,22,24,25,26,26,25,23,25,25,26,
26,25,26,25,25,25,26,25,24,25,26,26,26,25,25,24,25,26,26,26,24,26,25,25,24,22,6,
6,7,8,6,7,6,7,8,8,9,24,20,24,26,23,26,24,21,8,8,8,7,7,6,7,8,6,6,23,24,24,24,24,
23,24,24,24,24,24,25,24,24,23,24,24,23,24,24,24,24,24,24,24,24,24,24,24,24,25,
24,23,22,22,6,6,7,7,6,6,6,7,8,8,8,24,20,24,26,23,26,24,21,8,8,8,7,7,6,7,8,6,6,6,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,8,6,6,
6,7,8,8,8,24,20,25,26,23,26,25,21,8,8,8,7,7,6,7,8,6,7,7,7,6,6,7,7,7,7,7,7,7,6,6,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,8,6,6,6,8,8,8,8,7,20,25,26,24,
26,25,21,8,8,8,7,7,6,7,8,7,7,6,7,6,7,6,6,6,6,6,6,7,6,7,7,7,7,6,6,7,7,7,7,6,6,7,
6,6,6,6,6,6,6,6,6,6,7,7,8,7,6,7,6,8,8,8,8,7,20,25,26,24,26,25,22,8,8,8,7,7,6,6,
8,8,8,8,8,9,8,8,8,8,8,8,7,8,8,8,8,8,8,8,9,8,8,8,8,8,8,7,9,8,8,8,8,8,9,9,5,8,8,8,
8,7,6,6,6,7,8,8,8,8,21,25,26,23,26,24,23,8,8,8,8,8,6,6,6,6,6,7,7,6,7,7,7,6,6,6,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,7,8,8,8,21,
25,25,22,25,24,23,8,8,8,8,8,7,7,7,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,6,7,
7,7,7,7,7,7,7,7,6,7,7,7,6,7,6,7,7,7,7,7,7,8,7,8,8,8,21,23,23,22,24,23,21,8,8,8,
8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,6,7,7,7,7,
8,8,7,8,8,8,9,8,8,8,8,8,8,8,20,24,24,24,24,24,21,24,24,24,24,25,8,8,8,8,8,8,8,8,
8,8,8,7,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,7,6,6,6,6,6,6,6,6,6,6,7,7,8,8,8,8,8,8,
7,8,8,7,20,22,22,21,22,22,20,21,21,21,22,23,23,23,23,23,23,22,21,21,22,24,23,21,
22,21,21,21,21,21,21,6,8,8,8,8,8,8,7,6,6,6,6,6,7,8,8,8,7,7,6,6,6,6,7,8,7,8,8,8,
8,8,8,23,20,24,24,24,25,25,21,23,23,24,24,25,23,24,24,22,24,24,24,24,21,24,22,
22,24,24,24,24,24,24,24,21,8,8,8,8,7,6,6,6,6,7,7,8,8,8,8,8,8,8,8,7,7,6,6,7,8,8,
8,8,8,8,8,22,20,22,22,21,23,22,21,23,24,24,25,26,25,25,25,22,25,26,25,24,20,24,
22,24,24,23,24,25,24,24,24,22,8,8,8,7,6,6,6,7,8,8,8,8,7,6,7,7,7,8,8,8,8,7,6,6,7,
8,8,8,8,8,8,23,20,25,25,23,25,25,21,23,26,25,25,25,25,25,25,23,25,25,25,24,20,
24,22,22,24,24,24,25,24,24,23,22,8,8,8,8,6,6,7,8,8,7,7,6,6,6,6,6,7,6,6,7,8,8,7,
6,6,7,8,8,8,8,8,6,20,25,26,23,26,25,21,23,26,26,25,25,26,25,25,24,25,26,25,24,
20,24,22,23,25,25,25,26,25,24,24,22,8,8,7,7,5,7,8,8,7,6,6,6,6,7,7,7,7,6,6,6,7,8,
8,7,6,6,7,8,8,8,8,6,20,25,26,23,26,25,21,24,26,26,26,25,26,25,25,24,25,26,26,24,
20,24,23,22,25,26,25,26,25,26,25,22,8,8,8,6,6,7,8,6,6,6,6,6,22,23,23,23,6,6,7,7,
5,7,8,7,7,6,6,8,8,8,7,22,21,25,26,23,26,25,21,24,26,26,26,26,26,25,25,25,25,26,
25,24,21,24,23,23,26,26,25,26,26,26,25,22,8,7,7,5,7,8,7,6,6,6,21,24,25,25,25,25,
25,24,21,7,6,6,7,8,7,6,6,7,8,7,24,22,21,25,25,23,26,25,21,24,26,26,25,26,26,26,
26,25,25,26,25,24,21,24,23,23,25,26,25,26,26,26,24,21,8,7,6,6,7,7,6,6,6,6,23,25,
25,26,26,25,25,25,25,22,7,6,6,7,8,7,6,6,8,23,23,22,21,24,24,24,26,25,21,24,26,
26,25,26,26,26,26,25,26,26,26,24,21,24,22,23,26,26,26,25,26,26,24,22,7,7,6,7,8,
7,6,7,6,24,24,25,26,26,26,26,25,25,26,23,7,7,6,7,8,7,7,6,6,23,23,24,22,23,22,22,
26,25,21,24,26,26,25,26,26,26,26,25,25,26,26,24,22,24,22,23,26,26,26,25,26,25,
24,23,7,6,6,7,7,6,6,6,22,24,23,25,26,26,26,26,26,25,25,24,22,7,6,6,7,7,7,6,6,7,
23,24,24,23,22,22,26,25,21,24,26,26,25,26,26,26,26,24,25,26,25,24,23,24,22,23,
25,25,25,25,26,25,24,23,7,5,7,8,7,6,7,6,23,25,25,25,26,26,26,26,26,25,25,25,22,
7,7,6,6,7,7,6,6,8,8,8,24,23,23,22,25,26,21,23,26,26,26,26,26,26,26,24,25,26,25,
24,21,24,23,23,26,26,26,26,26,25,24,23,7,5,6,7,7,5,7,22,24,25,25,26,26,26,26,26,
26,26,26,25,23,6,7,6,6,7,7,6,6,8,9,8,24,24,23,22,26,25,21,24,25,25,25,26,26,26,
26,23,26,26,25,24,22,24,23,23,25,26,25,25,26,25,24,23,7,5,6,7,6,6,7,22,25,26,25,
25,26,26,26,26,26,25,25,26,24,22,7,6,6,7,7,6,6,8,8,8,23,23,23,22,25,26,21,24,26,
26,26,26,26,26,26,23,26,26,25,25,22,23,23,23,25,26,26,25,26,25,24,22,7,6,6,8,7,
5,6,22,25,26,25,26,26,26,26,26,26,25,25,26,25,22,7,6,7,7,7,6,6,8,8,7,22,22,22,
23,26,25,21,24,25,25,25,26,26,26,26,23,25,26,25,24,22,23,23,22,26,26,26,26,26,
26,24,22,8,6,6,8,7,6,6,22,25,26,24,26,26,26,26,26,26,25,25,26,25,22,7,5,7,8,8,6,
6,8,8,7,20,24,24,23,26,26,20,23,24,25,25,25,26,26,26,23,25,25,24,24,22,24,24,22,
26,26,25,26,26,25,23,21,8,6,5,7,8,6,5,22,25,26,25,24,26,25,26,25,26,25,25,24,24,
22,7,5,6,7,7,6,6,8,8,7,21,25,25,23,26,25,20,24,25,26,26,25,26,26,26,23,23,23,23,
22,21,23,24,22,26,26,26,26,26,26,23,23,8,6,6,7,6,5,6,22,23,23,24,22,24,24,23,23,
23,23,23,23,23,22,7,6,6,8,8,6,6,8,8,23,20,25,26,23,26,25,20,24,26,26,25,25,26,
26,26,23,25,24,25,24,20,24,23,22,25,26,25,25,26,26,24,23,8,7,5,7,8,5,5,5,6,5,5,
5,5,6,6,6,6,6,6,6,6,6,6,6,6,8,7,6,6,8,8,23,20,25,26,23,26,25,21,24,26,26,25,25,
26,26,26,23,25,26,25,24,20,24,23,22,25,26,25,25,26,25,24,22,8,7,5,7,8,6,6,6,6,6,
6,6,6,6,6,6,6,6,6,6,6,5,6,6,7,8,7,5,6,8,7,23,21,25,26,23,26,25,21,24,25,26,25,
25,26,26,26,23,25,26,26,24,20,24,23,22,24,25,25,25,25,25,24,22,8,7,6,7,8,8,8,7,
7,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,8,8,7,5,7,8,23,23,20,25,25,23,25,24,20,24,25,25,
25,25,25,25,25,22,25,26,25,24,20,24,22,22,22,22,22,23,22,22,22,22,8,7,6,7,7,7,7,
8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,5,7,8,23,23,20,23,23,21,24,23,20,24,25,
25,25,25,25,25,25,23,24,25,25,24,20,24,22,23,24,24,25,25,24,24,23,21,8,8,6,6,6,
6,6,6,6,6,6,6,6,6,5,5,6,6,6,6,6,6,6,6,6,5,5,6,7,8,23,23,20,25,24,25,25,25,20,23,
23,23,24,24,24,23,23,22,23,24,24,24,20,25,22,22,24,24,24,23,23,23,22,21,8,8,7,7,
7,7,7,7,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,6,7,8,8,8,23,21,21,20,20,20,21,20,
20,21,21,21,21,20,21,21,21,21,21,21,20,20,24,7,22,23,22,22,23,22,21,22,6,8,8,8,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,
7,7,8,8,8,8,8,8,8,8,9,9,9,8,8,9,9,8,8,9,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,8,8
}; // chestTexture
#endif // guard

3
programs/gbmeta/demo.ino Normal file
View file

@ -0,0 +1,3 @@
// super hack because Arduino
#include "modelViewer.hpp"

View file

@ -0,0 +1,295 @@
#ifndef EARTH_MODEL_H
#define EARTH_MODEL_H
#define EARTH_VERTEX_COUNT 42
const S3L_Unit earthVertices[EARTH_VERTEX_COUNT * 3] = {
0, -1984, 0, // 0
0, -1718, 992, // 3
701, -1718, 701, // 6
0, 0, 1984, // 9
1215, -992, 1215, // 12
0, -992, 1718, // 15
0, 1718, 992, // 18
1215, 992, 1215, // 21
0, 992, 1718, // 24
1403, 0, 1403, // 27
0, 1984, 0, // 30
701, 1718, 701, // 33
1718, 992, 0, // 36
992, -1718, 0, // 39
1984, 0, 0, // 42
992, 1718, 0, // 45
1718, -992, 0, // 48
701, -1718, -701, // 51
1215, 992, -1215, // 54
1403, 0, -1403, // 57
701, 1718, -701, // 60
1215, -992, -1215, // 63
0, -1718, -992, // 66
0, 0, -1984, // 69
0, 1718, -992, // 72
0, -992, -1718, // 75
0, 992, -1718, // 78
-701, -1718, -701, // 81
-1215, 992, -1215, // 84
-1403, 0, -1403, // 87
-701, 1718, -701, // 90
-1215, -992, -1215, // 93
-992, -1718, 0, // 96
-1984, 0, 0, // 99
-992, 1718, 0, // 102
-1718, -992, 0, // 105
-1718, 992, 0, // 108
-1403, 0, 1403, // 111
-701, 1718, 701, // 114
-701, -1718, 701, // 117
-1215, -992, 1215, // 120
-1215, 992, 1215 // 123
}; // earthVertices
#define EARTH_TRIANGLE_COUNT 80
const S3L_Index earthTriangleIndices[EARTH_TRIANGLE_COUNT * 3] = {
0, 1, 2, // 0
3, 4, 5, // 3
6, 7, 8, // 6
1, 4, 2, // 9
8, 9, 3, // 12
6, 10, 11, // 15
11, 12, 7, // 18
4, 13, 2, // 21
7, 14, 9, // 24
11, 10, 15, // 27
0, 2, 13, // 30
9, 16, 4, // 33
16, 17, 13, // 36
14, 18, 19, // 39
15, 10, 20, // 42
0, 13, 17, // 45
14, 21, 16, // 48
15, 18, 12, // 51
21, 22, 17, // 54
18, 23, 19, // 57
20, 10, 24, // 60
0, 17, 22, // 63
19, 25, 21, // 66
20, 26, 18, // 69
25, 27, 22, // 72
23, 28, 29, // 75
24, 10, 30, // 78
0, 22, 27, // 81
25, 29, 31, // 84
24, 28, 26, // 87
31, 32, 27, // 90
28, 33, 29, // 93
30, 10, 34, // 96
0, 27, 32, // 99
29, 35, 31, // 102
30, 36, 28, // 105
36, 37, 33, // 108
34, 10, 38, // 111
0, 32, 39, // 114
33, 40, 35, // 117
34, 41, 36, // 120
35, 39, 32, // 123
38, 10, 6, // 126
0, 39, 1, // 129
37, 5, 40, // 132
38, 8, 41, // 135
39, 5, 1, // 138
41, 3, 37, // 141
3, 9, 4, // 144
6, 11, 7, // 147
1, 5, 4, // 150
8, 7, 9, // 153
11, 15, 12, // 156
4, 16, 13, // 159
7, 12, 14, // 162
9, 14, 16, // 165
16, 21, 17, // 168
14, 12, 18, // 171
14, 19, 21, // 174
15, 20, 18, // 177
21, 25, 22, // 180
18, 26, 23, // 183
19, 23, 25, // 186
20, 24, 26, // 189
25, 31, 27, // 192
23, 26, 28, // 195
25, 23, 29, // 198
24, 30, 28, // 201
31, 35, 32, // 204
28, 36, 33, // 207
29, 33, 35, // 210
30, 34, 36, // 213
36, 41, 37, // 216
33, 37, 40, // 219
34, 38, 41, // 222
35, 40, 39, // 225
37, 3, 5, // 228
38, 6, 8, // 231
39, 40, 5, // 234
41, 8, 3 // 237
}; // earthTriangleIndices
#define EARTH_UV_COUNT 61
const S3L_Unit earthUVs[EARTH_UV_COUNT * 2] = {
352, 501, // 0
384, 426, // 2
320, 426, // 4
384, 256, // 6
320, 341, // 8
384, 341, // 10
384, 85, // 12
320, 170, // 14
384, 170, // 16
320, 256, // 18
352, 10, // 20
320, 85, // 22
256, 170, // 24
256, 426, // 26
256, 256, // 28
288, 10, // 30
256, 85, // 32
288, 501, // 34
256, 341, // 36
192, 426, // 38
192, 170, // 40
192, 256, // 42
224, 10, // 44
192, 85, // 46
224, 501, // 48
192, 341, // 50
128, 426, // 52
128, 256, // 54
160, 10, // 56
128, 85, // 58
160, 501, // 60
128, 341, // 62
128, 170, // 64
64, 426, // 66
64, 170, // 68
64, 256, // 70
96, 10, // 72
64, 85, // 74
96, 501, // 76
64, 341, // 78
0, 426, // 80
0, 256, // 82
32, 10, // 84
0, 85, // 86
32, 501, // 88
0, 341, // 90
0, 170, // 92
512, 170, // 94
448, 256, // 96
512, 256, // 98
512, 85, // 100
480, 10, // 102
448, 85, // 104
480, 501, // 106
512, 426, // 108
448, 426, // 110
448, 341, // 112
512, 341, // 114
448, 170, // 116
416, 10, // 118
416, 501 // 120
}; // earthUVs
#define EARTH_UV_INDEX_COUNT 80
const S3L_Index earthUVIndices[EARTH_UV_INDEX_COUNT * 3] = {
0, 1, 2, // 0
3, 4, 5, // 3
6, 7, 8, // 6
1, 4, 2, // 9
8, 9, 3, // 12
6, 10, 11, // 15
11, 12, 7, // 18
4, 13, 2, // 21
7, 14, 9, // 24
11, 15, 16, // 27
17, 2, 13, // 30
9, 18, 4, // 33
18, 19, 13, // 36
14, 20, 21, // 39
16, 22, 23, // 42
24, 13, 19, // 45
14, 25, 18, // 48
16, 20, 12, // 51
25, 26, 19, // 54
20, 27, 21, // 57
23, 28, 29, // 60
30, 19, 26, // 63
21, 31, 25, // 66
23, 32, 20, // 69
31, 33, 26, // 72
27, 34, 35, // 75
29, 36, 37, // 78
38, 26, 33, // 81
31, 35, 39, // 84
29, 34, 32, // 87
39, 40, 33, // 90
34, 41, 35, // 93
37, 42, 43, // 96
44, 33, 40, // 99
35, 45, 39, // 102
37, 46, 34, // 105
47, 48, 49, // 108
50, 51, 52, // 111
53, 54, 55, // 114
49, 56, 57, // 117
50, 58, 47, // 120
57, 55, 54, // 123
52, 59, 6, // 126
60, 55, 1, // 129
48, 5, 56, // 132
52, 8, 58, // 135
55, 5, 1, // 138
58, 3, 48, // 141
3, 9, 4, // 144
6, 11, 7, // 147
1, 5, 4, // 150
8, 7, 9, // 153
11, 16, 12, // 156
4, 18, 13, // 159
7, 12, 14, // 162
9, 14, 18, // 165
18, 25, 19, // 168
14, 12, 20, // 171
14, 21, 25, // 174
16, 23, 20, // 177
25, 31, 26, // 180
20, 32, 27, // 183
21, 27, 31, // 186
23, 29, 32, // 189
31, 39, 33, // 192
27, 32, 34, // 195
31, 27, 35, // 198
29, 37, 34, // 201
39, 45, 40, // 204
34, 46, 41, // 207
35, 41, 45, // 210
37, 43, 46, // 213
47, 58, 48, // 216
49, 48, 56, // 219
50, 52, 58, // 222
57, 56, 55, // 225
48, 3, 5, // 228
52, 6, 8, // 231
55, 56, 5, // 234
58, 8, 3 // 237
}; // earthUVIndices
S3L_Model3D earthModel;
void earthModelInit()
{
S3L_initModel3D(
earthVertices,
EARTH_VERTEX_COUNT,
earthTriangleIndices,
EARTH_TRIANGLE_COUNT,
&earthModel);
}
#endif // guard

View file

@ -0,0 +1,166 @@
#ifndef EARTH_TEXTURE_H
#define EARTH_TEXTURE_H
#define EARTH_TEXTURE_WIDTH 64
#define EARTH_TEXTURE_HEIGHT 64
const uint8_t earthTexture[4096] = {
13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,13,12,13,14,13,14,
12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,12,12,12,12,13,12,
14,13,14,14,14,14,14,14,14,14,14,13,13,13,13,13,13,13,14,13,13,11,11,11,12,11,
11,11,12,12,13,12,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,12,11,12,12,11,
11,11,11,12,13,12,12,12,12,12,13,12,12,13,13,13,14,14,14,14,14,14,13,12,13,13,
12,12,14,11,10,13,10,11,13,14,12,11,11,9,67,83,68,67,83,194,194,7,194,83,194,
195,67,84,8,9,9,6,67,68,9,10,11,12,12,13,12,12,12,12,13,12,13,12,13,12,13,13,13,
13,13,14,13,14,13,13,13,13,8,12,8,9,13,10,7,13,14,14,14,14,13,13,13,195,195,66,
66,66,67,6,195,67,67,66,195,195,84,67,195,84,67,66,67,84,7,66,68,10,11,9,8,8,10,
11,13,12,12,13,13,14,13,12,13,13,13,12,11,12,12,7,10,11,9,10,8,10,67,196,85,66,
13,13,14,14,14,14,12,84,66,67,67,66,67,84,66,66,66,66,66,67,67,9,195,66,67,67,
84,6,5,7,5,84,195,84,67,9,194,5,11,12,12,12,13,14,13,11,12,11,11,11,10,84,23,26,
12,10,11,11,5,6,12,84,84,84,7,14,14,14,14,14,7,84,67,67,67,84,84,67,84,67,67,67,
84,195,6,67,84,84,67,6,21,21,5,68,22,5,5,67,67,84,67,195,195,194,7,12,14,12,85,
84,20,4,67,84,84,196,67,196,4,24,12,24,12,23,4,10,10,10,67,6,14,14,14,10,69,84,
84,84,67,67,84,67,68,5,67,67,67,67,84,195,6,195,21,21,22,38,5,6,4,37,6,39,22,21,
6,37,21,84,84,84,23,13,84,7,24,9,24,23,20,22,22,24,6,21,22,8,25,24,10,10,11,11,
67,7,14,14,12,67,84,84,67,67,67,67,67,12,22,6,7,23,4,6,37,38,22,84,4,21,22,24,5,
4,5,37,5,9,21,21,4,22,23,39,8,40,67,68,67,4,21,21,22,23,25,24,22,21,24,23,25,21,
25,24,67,21,28,9,67,6,14,67,84,84,85,13,67,84,67,67,68,24,67,6,21,68,21,39,21,
21,21,36,36,21,23,23,39,6,22,21,37,25,8,8,25,22,24,10,23,5,67,67,196,37,22,7,8,
9,23,24,22,22,6,24,25,6,67,67,196,27,67,67,67,67,14,67,67,67,67,67,67,67,67,8,7,
22,37,5,22,37,37,20,21,20,36,36,20,21,21,23,6,21,22,20,38,37,37,10,10,9,5,67,25,
68,67,67,67,196,21,69,67,196,12,24,22,23,24,22,24,22,67,67,84,23,67,67,67,67,67,
67,67,67,67,67,67,68,67,68,5,4,67,5,22,37,21,37,37,20,37,36,36,20,20,38,20,22,
21,23,40,39,22,39,68,6,67,68,85,67,67,67,67,67,85,84,67,67,69,7,9,25,24,24,24,
23,23,85,68,25,24,6,67,67,67,67,67,67,67,67,67,4,67,67,85,67,22,22,23,37,20,37,
37,37,21,21,36,36,37,37,21,24,23,27,10,10,9,67,67,67,23,5,67,67,67,67,68,67,67,
67,67,67,67,5,25,9,41,25,23,39,23,22,22,24,25,26,23,67,67,67,67,67,67,67,68,85,
68,68,37,22,22,24,23,37,21,21,22,23,22,21,36,21,26,8,37,25,25,25,37,39,25,6,67,
67,24,67,67,67,67,67,67,67,67,67,67,67,67,67,11,8,26,25,24,39,24,22,23,25,24,22,
9,85,67,67,67,67,67,67,67,85,68,22,24,24,24,25,37,37,22,37,37,23,39,24,21,26,10,
27,9,6,9,24,23,23,26,68,68,67,196,67,67,67,67,67,67,67,67,67,67,67,67,67,24,24,
9,24,26,24,68,40,39,23,38,68,8,85,85,67,67,67,67,67,67,85,23,24,25,22,24,37,36,
22,22,85,22,24,24,25,23,6,29,29,26,7,25,24,21,23,23,85,67,67,67,67,67,67,67,67,
67,67,67,67,67,67,67,68,39,8,11,8,25,24,40,23,41,22,37,85,68,85,67,67,67,68,67,
67,67,67,24,25,24,24,26,23,4,21,24,68,25,24,24,24,25,23,25,28,28,28,27,27,24,24,
41,196,85,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,23,9,10,11,27,25,39,24,
40,41,85,85,67,85,67,67,67,68,67,67,68,26,24,85,68,85,26,85,196,196,27,68,25,25,
23,9,11,27,23,28,25,28,28,27,23,27,85,85,67,67,67,67,67,67,67,67,67,67,67,67,67,
67,67,67,5,10,11,11,28,24,38,23,38,68,85,67,67,67,67,67,68,85,68,67,67,25,196,
85,85,9,25,24,28,29,28,68,23,25,26,11,26,27,27,12,28,27,27,23,86,85,68,21,67,67,
67,67,67,68,68,68,67,67,67,67,68,67,68,68,68,10,10,10,27,38,21,39,38,68,68,68,
68,67,68,85,68,85,68,68,68,24,85,8,68,68,69,69,27,27,28,9,26,23,29,12,12,11,12,
28,27,29,26,24,68,6,85,6,67,67,68,68,68,67,85,68,68,68,68,68,68,68,68,68,85,69,
25,27,28,23,38,40,69,68,68,68,68,68,68,68,68,68,68,196,85,25,29,27,68,68,68,68,
85,28,25,29,26,26,12,22,10,11,10,11,29,25,26,25,68,86,68,68,68,68,68,68,68,68,
68,85,68,68,68,68,68,85,85,85,68,68,25,27,26,23,37,40,68,68,85,85,68,68,68,68,
68,68,68,85,68,26,12,11,28,26,26,25,26,27,26,27,28,26,28,38,11,11,11,10,11,24,
25,23,68,68,68,68,68,68,85,68,68,85,68,68,68,85,85,85,68,68,68,68,68,68,198,10,
24,86,69,86,68,68,85,85,85,85,68,68,68,85,85,72,6,29,27,28,28,28,26,27,7,29,27,
69,28,26,26,27,25,10,12,26,13,27,25,25,86,70,68,68,68,68,85,68,68,85,68,68,68,
68,68,68,68,68,68,68,68,68,87,24,10,68,68,86,69,68,68,85,68,68,68,68,68,68,68,
68,27,27,28,28,28,27,28,27,25,25,28,69,7,8,26,25,24,25,26,22,29,25,25,25,86,85,
68,68,68,68,85,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,87,11,68,69,69,
69,68,68,68,68,68,68,68,68,68,68,68,28,27,29,28,29,12,28,28,25,24,28,26,10,68,
69,23,23,25,24,26,27,25,27,69,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,
68,68,68,68,68,68,68,68,26,69,24,68,69,71,68,68,68,68,68,68,68,68,68,197,12,11,
28,28,12,12,12,28,27,68,29,27,27,68,68,23,23,24,69,24,27,198,69,68,68,68,68,68,
68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,8,23,69,69,68,68,
69,68,68,68,68,68,68,69,87,26,29,28,28,12,27,29,28,26,198,28,29,68,68,69,70,27,
69,86,23,24,26,69,68,68,68,68,68,69,68,68,68,68,68,68,68,68,68,68,68,68,68,68,
68,68,68,68,69,69,69,43,39,86,69,68,69,68,68,86,68,68,68,68,7,24,27,27,28,29,28,
29,28,25,28,28,69,86,68,68,69,25,86,86,69,23,26,69,68,69,68,68,68,68,68,68,68,
68,68,68,68,68,68,68,68,68,68,68,68,68,68,69,86,69,69,69,38,69,70,87,69,68,68,
69,68,68,68,68,69,25,26,26,26,27,26,27,27,26,28,69,11,69,69,68,69,24,69,86,69,
87,25,68,69,69,68,68,86,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,69,69,
69,86,86,69,69,69,69,27,22,9,69,68,68,86,68,68,68,86,41,25,23,25,24,24,26,25,23,
28,28,198,69,69,68,69,198,69,69,69,69,69,69,198,9,68,69,86,69,69,68,69,69,68,68,
68,68,68,69,68,68,69,68,69,69,69,69,69,69,86,69,69,69,11,25,29,8,69,86,69,69,69,
86,68,69,26,70,25,24,24,25,25,24,27,27,68,69,69,69,69,69,86,69,71,28,69,69,8,86,
68,68,69,86,69,69,69,68,68,68,68,68,68,69,68,69,69,69,69,69,69,86,69,69,69,69,
69,69,23,23,22,26,69,69,69,69,69,69,69,68,69,68,69,24,24,24,26,27,26,23,68,68,
69,86,69,69,69,69,69,70,69,23,198,198,69,69,86,68,69,69,69,69,69,68,68,68,68,69,
69,69,68,69,69,69,86,86,86,69,69,69,69,12,24,22,21,26,69,87,86,69,86,86,86,69,
68,68,69,39,24,23,26,87,24,86,68,68,69,69,69,69,69,86,69,22,87,24,69,198,69,69,
69,69,69,69,69,69,68,68,68,68,68,68,68,68,69,69,68,68,69,69,69,86,86,86,69,12,
21,23,21,22,21,25,69,69,68,68,68,86,68,68,69,24,23,26,43,27,24,69,68,68,68,69,
69,68,69,69,69,7,69,24,69,68,69,87,8,69,69,69,69,86,68,68,68,68,68,68,68,68,68,
68,68,68,68,68,86,69,69,69,68,27,20,22,22,37,22,21,27,68,68,68,68,86,68,68,68,
69,24,25,26,26,86,68,68,69,69,69,69,68,68,68,68,68,69,69,69,69,68,69,25,71,7,69,
69,69,68,68,68,68,69,68,68,68,69,68,68,68,68,68,69,68,68,68,68,9,37,21,23,40,39,
24,26,68,68,68,68,69,68,68,68,69,25,26,25,26,69,68,68,86,69,69,68,68,68,68,68,
68,86,70,7,70,69,69,6,5,86,7,69,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,
68,68,68,68,68,25,21,21,38,22,25,27,68,68,68,68,68,68,68,68,68,25,25,25,26,26,
68,68,68,69,68,68,68,68,68,68,68,68,68,68,86,69,69,87,69,86,86,68,68,69,69,68,
68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,11,37,20,24,22,25,24,68,68,
68,68,68,68,68,68,68,25,25,25,26,25,68,68,68,68,68,68,68,68,68,68,68,68,68,68,
86,69,22,86,68,68,68,68,68,68,70,68,68,68,68,69,68,68,68,68,68,68,68,68,68,68,
68,68,68,86,27,23,21,26,26,23,68,68,68,68,68,68,68,68,197,26,26,7,24,6,24,68,68,
68,68,68,68,68,68,68,68,68,68,68,69,25,23,198,86,86,68,68,86,68,68,69,85,68,68,
68,68,68,68,68,68,68,68,68,68,68,68,68,68,85,12,22,22,25,25,86,68,68,85,68,68,
68,85,68,68,25,26,26,23,68,24,68,68,68,68,68,68,68,68,68,85,85,68,68,28,28,26,
24,26,86,68,68,68,68,68,67,68,68,85,68,85,68,68,68,68,68,68,68,68,85,68,68,85,
68,12,20,23,25,7,68,68,68,85,68,68,85,68,68,68,26,26,26,23,68,26,85,68,68,68,68,
85,85,85,85,85,68,68,25,27,27,26,26,25,87,68,68,68,85,68,85,68,68,68,68,68,85,
85,85,68,68,68,68,68,68,68,68,68,85,11,23,23,26,68,85,68,68,68,85,85,68,68,68,
68,26,28,25,68,85,25,68,68,68,85,68,85,68,68,68,85,68,68,27,27,27,26,25,25,25,
85,68,68,68,68,68,68,67,68,68,68,85,85,68,85,85,68,85,85,85,85,68,68,68,27,22,
24,25,85,68,85,68,68,68,85,68,68,68,68,27,28,26,68,68,68,68,68,68,68,85,68,68,
85,85,68,67,85,27,27,26,25,26,23,25,68,68,85,85,68,67,67,67,67,67,67,68,68,68,
68,68,85,68,68,85,68,68,68,68,25,22,24,5,68,68,68,68,68,68,85,68,68,67,68,196,
26,8,85,67,85,68,68,68,68,68,85,68,85,85,68,67,67,26,25,26,24,25,23,26,68,68,68,
68,68,67,67,67,67,67,67,67,67,68,68,68,85,68,68,67,68,68,68,67,24,23,25,68,68,
67,67,67,67,68,68,67,67,67,67,85,24,85,68,67,68,67,68,67,67,68,68,68,68,67,67,
67,68,25,7,85,22,22,25,196,67,68,85,68,67,67,67,67,67,67,67,67,67,67,67,67,68,
67,67,67,67,67,67,86,24,23,85,67,67,67,67,67,67,68,67,67,67,67,67,67,67,67,67,
67,68,68,67,67,67,67,68,67,67,67,67,67,67,67,67,67,67,24,23,67,67,85,85,6,67,67,
67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,5,24,196,196,67,67,67,67,67,
67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,68,67,67,67,67,67,67,67,
67,67,67,85,68,67,67,67,85,25,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,
67,67,67,68,24,85,67,67,67,67,67,67,67,67,67,67,68,67,67,67,67,67,67,67,67,67,
67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,6,67,67,67,85,68,67,67,67,67,67,
67,67,67,67,67,67,67,67,67,67,67,67,67,67,7,25,85,67,67,67,67,67,67,67,67,67,67,
67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,
67,67,67,67,7,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,9,23,
67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,
67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,85,67,67,67,67,67,67,67,67,67,67,
67,67,67,67,67,67,67,67,67,67,12,196,67,67,67,67,84,67,67,67,67,67,67,67,67,67,
67,67,67,67,67,67,67,67,84,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,
67,67,67,67,67,67,67,67,84,67,67,67,67,67,67,67,67,67,84,67,67,67,5,67,196,84,
67,67,67,67,67,84,67,67,67,67,67,67,67,67,67,67,67,67,84,84,84,84,67,67,84,84,
67,67,67,67,67,84,67,67,67,67,67,84,67,67,67,67,67,67,67,84,84,67,67,84,84,84,
84,84,67,67,67,67,67,67,84,85,84,84,67,84,67,67,67,67,67,67,67,84,84,67,67,84,
67,67,67,67,67,67,67,67,67,67,67,67,67,84,67,67,67,67,67,84,84,67,84,84,67,84,
67,67,67,67,67,67,84,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,84,67,84,67,
84,84,67,67,67,67,67,67,66,67,66,66,66,67,66,67,67,66,67,67,67,67,84,67,67,67,
67,67,67,67,67,67,67,67,84,67,67,67,67,66,67,67,67,67,67,67,67,67,67,195,66,67,
66,67,67,66,66,66,67,67,84,67,84,67,84,67,67,67,67,66,66,66,66,66,67,66,67,66,
67,67,66,67,66,67,66,67,84,67,67,67,67,67,67,67,67,67,67,67,67,84,84,67,67,67,
67,67,67,67,66,66,66,195,66,66,66,66,66,66,66,66,67,84,67,84,9,84,67,66,66,66,
66,66,66,66,66,66,67,66,66,66,66,66,66,66,67,84,66,67,67,67,66,67,84,12,84,84,
84,67,195,195,67,67,67,67,67,67,67,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,
66,66,66,66,67,13,12,84,195,66,66,66,66,66,66,66,66,66,66,66,66,66,66,84,66,67,
13,13,69,83,84,15,13,13,14,13,13,13,13,13,13,14,13,13,84,84,67,67,66,66,66,66,
66,66,66,66,66,66,66,66,66,66,66,195,67,67,84,67,12,13,12,84,66,66,66,66,66,66,
66,195,195,13,11,13,12,12,13,13,12,14,14,14,14,13,13,13,14,13,14,14,14,13,13,14,
14,13,14,14,14,14,13,70,66,83,66,66,66,66,66,66,66,195,66,66,195,195,84,13,13,
13,83,9,11,13,13,84,66,66,66,66,66,66,11,13,14,14,13,13,14,13,13,13,14,14,14,13,
13,11,13,14,14,14,13,14,13,14,14,14,14,13,14,13,13,14,13,14,195,66,66,66,66,66,
83,14,14,13,14,14,13,13,13,13,13,13,14,13,12,14,13,67,66,66,66,195,84,13,13,13,
14,13,14,14,14,14,14,14,14,14,14,13,13,13,13,13,13,14,13,13,14,14,14,14,14,13,
14,13,13,13,12,67,66,13,12,12,13,13,14,13,13,13,14,13,13,13,13,13,13,13,14,13,
12,12,11,12,12,13,13,13,13,13,13,13,14,14,13,14,14,14,14,14,13,13,14,14,14,13,
13,13,13,13,13,13,13,13,14,14,13,13,13,13,13,13,13,13,14,14,13,13,13,13,13,12,
12,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,13,13,12,13,13,13,12,13,13,13,
13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,13,13,13,13,13,13,13,13,13,
13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,
12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,
13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,14,14,14,14,14,13,13,14,13,
14,13,13,14,14,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,13,13,
13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,13,13,13,13,13,13,13,13,14,14,14,
14,14,14
}; // earthTexture
#endif // guard

View file

@ -0,0 +1,112 @@
#ifndef GBMETA_MODEL_H
#define GBMETA_MODEL_H
#define GBMETA_VERTEX_COUNT 12
const S3L_Unit gbmetaVertices[GBMETA_VERTEX_COUNT * 3] = {
-2732, 1591, -512, // 0
-2732, -1591, -512, // 3
-2732, 1591, 511, // 6
-2732, -1591, 511, // 9
2732, 1591, -511, // 12
2732, -1591, -511, // 15
2732, 1591, 512, // 18
2732, -1591, 512, // 21
3198, -1591, 0, // 24
-3198, 1591, 0, // 27
3198, 1591, 0, // 30
-3198, -1591, 0 // 33
}; // gbmetaVertices
#define GBMETA_TRIANGLE_COUNT 20
const S3L_Index gbmetaTriangleIndices[GBMETA_TRIANGLE_COUNT * 3] = {
11, 3, 1, // 0
2, 7, 3, // 3
10, 5, 8, // 6
8, 5, 7, // 9
9, 3, 11, // 12
4, 1, 5, // 15
0, 11, 1, // 18
10, 6, 4, // 21
6, 8, 7, // 24
3, 5, 1, // 27
0, 6, 2, // 30
9, 0, 2, // 33
2, 6, 7, // 36
10, 4, 5, // 39
9, 2, 3, // 42
4, 0, 1, // 45
0, 9, 11, // 48
6, 10, 8, // 51
3, 7, 5, // 54
0, 4, 6 // 57
}; // gbmetaTriangleIndices
#define GBMETA_UV_COUNT 28
const S3L_Unit gbmetaUVs[GBMETA_UV_COUNT * 2] = {
261, 37, // 0
278, 55, // 2
278, 18, // 4
451, 82, // 6
56, 287, // 8
451, 287, // 10
501, 297, // 12
451, 501, // 14
501, 501, // 16
496, 37, // 18
479, 18, // 20
479, 55, // 22
501, 82, // 24
501, 287, // 26
451, 297, // 28
57, 501, // 30
57, 297, // 32
7, 501, // 34
12, 36, // 36
29, 55, // 38
29, 17, // 40
56, 82, // 42
6, 287, // 44
230, 17, // 46
230, 55, // 48
247, 36, // 50
7, 297, // 52
6, 82 // 54
}; // gbmetaUVs
#define GBMETA_UV_INDEX_COUNT 20
const S3L_Index gbmetaUVIndices[GBMETA_UV_INDEX_COUNT * 3] = {
0, 1, 2, // 0
3, 4, 5, // 3
6, 7, 8, // 6
9, 10, 11, // 9
12, 5, 13, // 12
14, 15, 7, // 15
16, 17, 15, // 18
18, 19, 20, // 21
21, 22, 4, // 24
1, 10, 2, // 27
23, 19, 24, // 30
25, 23, 24, // 33
3, 21, 4, // 36
6, 14, 7, // 39
12, 3, 5, // 42
14, 16, 15, // 45
16, 26, 17, // 48
21, 27, 22, // 51
1, 11, 10, // 54
23, 20, 19 // 57
}; // gbmetaUVIndices
S3L_Model3D gbmetaModel;
void gbmetaModelInit()
{
S3L_initModel3D(
gbmetaVertices,
GBMETA_VERTEX_COUNT,
gbmetaTriangleIndices,
GBMETA_TRIANGLE_COUNT,
&gbmetaModel);
}
#endif // guard

View file

@ -0,0 +1,147 @@
#ifndef GBMETA_TEXTURE_H
#define GBMETA_TEXTURE_H
#define GBMETA_TEXTURE_WIDTH 64
#define GBMETA_TEXTURE_HEIGHT 64
const uint8_t gbmetaTexture[4096] = {
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,9,9,9,9,9,9,7,4,9,7,4,7,9,9,9,9,9,9,9,9,
9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,7,9,9,9,9,9,9,9,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,
9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
9,9,9,9,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,22,
22,21,20,20,20,20,20,7,9,9,9,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,9,9,20,20,20,20,20,21,22,22,22,22,21,20,20,20,
20,20,20,20,20,9,9,9,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,6,0,0,0,0,9,9,9,7,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,
20,20,20,20,9,9,0,0,0,0,9,6,0,6,6,0,6,6,6,6,0,6,6,0,6,6,0,6,6,0,6,6,0,6,6,0,6,0,
0,0,9,9,7,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,20,20,
20,20,20,9,9,0,0,0,9,6,155,6,6,155,6,6,6,6,155,6,6,155,6,6,155,6,6,155,6,6,155,
6,6,0,6,155,155,9,9,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,
20,20,20,20,20,20,20,20,20,9,9,0,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
6,6,6,6,7,7,9,9,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,
20,20,20,20,20,20,20,20,20,20,9,9,0,0,155,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,9,9,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,
20,20,20,20,20,20,20,20,20,20,20,7,9,0,0,155,7,7,7,7,7,7,7,7,7,7,7,9,7,7,7,7,7,
7,7,7,7,7,7,7,7,9,9,20,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,
20,20,20,20,20,20,20,20,20,20,20,20,20,9,9,0,155,7,7,7,7,7,7,7,7,7,7,7,9,7,7,7,
7,7,7,7,7,7,7,7,7,7,9,9,20,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,
21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,9,9,0,155,7,7,7,7,7,7,7,7,7,7,7,9,
7,7,7,7,7,7,7,7,7,7,7,7,7,9,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,
22,22,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,7,9,0,155,7,7,7,7,7,7,7,7,7,
7,7,9,7,7,7,7,7,7,7,7,7,7,7,7,9,9,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,
22,22,22,22,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,9,7,155,7,7,7,7,7,7,
12,12,12,12,12,9,12,12,12,12,7,7,7,7,7,7,7,7,9,9,20,20,20,20,20,20,20,20,20,20,
20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,9,9,
155,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,7,20,20,20,20,20,20,20,20,
20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,
20,9,9,155,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,7,20,20,20,20,20,
20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,20,20,20,20,20,
20,20,20,20,9,9,155,7,7,7,7,7,7,7,7,12,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,9,7,20,20,
20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,20,20,
20,20,20,20,20,20,20,9,7,155,7,7,7,7,7,7,7,9,7,7,7,9,7,7,9,9,7,7,7,7,7,7,7,7,9,
9,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,
20,20,20,20,20,20,20,20,7,9,0,155,7,7,7,7,7,7,9,7,7,7,7,9,7,7,7,9,7,7,7,7,7,7,7,
7,9,9,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,
20,20,20,20,20,20,20,20,20,20,9,9,0,155,7,7,7,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,
7,7,7,7,7,9,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,
20,20,20,20,20,20,20,20,20,20,20,20,9,9,0,155,7,7,7,7,7,7,7,7,7,7,7,9,7,7,7,7,7,
7,7,7,7,7,7,7,7,9,9,20,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,
20,20,20,20,20,20,20,20,20,20,20,20,7,9,0,0,155,7,7,7,7,7,7,7,7,7,7,7,9,7,7,7,7,
7,7,7,7,7,7,7,7,7,9,9,20,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,
20,20,20,20,20,20,20,20,20,20,20,20,20,9,9,0,0,155,7,7,7,7,7,7,7,7,7,7,7,9,7,7,
7,7,7,7,7,7,7,7,7,7,7,7,9,9,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,
21,20,20,20,20,20,20,20,20,20,20,20,20,9,9,0,0,0,155,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,
22,21,20,20,20,20,20,20,20,20,20,20,20,9,9,0,0,0,0,155,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,
22,21,20,20,20,20,20,20,20,20,20,20,9,9,0,0,0,0,0,155,155,155,155,155,155,155,
155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,
155,155,9,9,7,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,20,
20,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,9,9,9,7,20,20,20,20,20,20,20,21,22,22,22,22,21,21,20,20,20,20,8,9,9,9,8,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,9,9,
21,21,21,21,21,21,22,22,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,22,22,22,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,149,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,21,21,21,21,21,21,21,21,
21,21,21,21,21,21,21,21,22,22,22,22,21,20,20,20,20,20,20,20,20,20,20,20,20,20,
20,20,20,20,0,0,0,0,14,0,14,14,14,14,14,3,14,3,14,14,14,14,14,14,14,0,0,0,0,20,
20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,
20,20,20,20,20,20,20,20,20,20,20,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,20,20,20,146,20,20,146,20,146,20,20,20,20,20,20,21,22,22,22,22,21,20,
20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,14,14,14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,20,20,20,20,128,128,128,128,20,128,
128,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,
20,20,20,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,20,20,20,20,20,20,
20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,20,20,20,20,
20,20,20,20,20,20,20,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,20,20,
20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,
20,20,20,20,20,20,20,20,20,20,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,
20,20,20,20,20,20,20,20,20,20,20,20,20,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,
20,20,20,20,20,20,20,20,20,14,14,20,20,20,20,20,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,
22,22,21,20,20,20,20,20,20,20,20,20,12,11,20,20,20,20,20,20,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,
21,22,22,22,22,21,20,20,20,20,20,20,20,20,20,12,12,20,20,20,20,20,20,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,20,20,20,20,20,20,20,14,14,20,20,20,20,
20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,14,14,14,12,12,14,14,14,20,20,20,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,20,20,20,20,20,20,14,11,11,10,
20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,12,11,12,12,12,12,11,12,
20,20,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,20,20,14,12,14,20,
14,11,11,10,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,10,10,10,12,
12,10,10,10,20,20,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,20,20,
12,11,12,20,20,10,10,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,
20,20,20,12,12,20,20,20,20,20,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,14,20,20,10,12,10,20,20,146,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,
20,20,20,20,20,20,20,12,11,20,20,20,20,20,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,14,20,20,20,20,20,20,20,146,146,20,20,20,20,20,20,20,21,22,22,22,
22,21,20,20,20,20,20,20,20,20,20,10,10,20,20,20,20,20,20,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,
22,22,22,22,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,
20,20,21,22,22,22,22,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,20,20,20,20,20,20,20,20,20,20,20,
20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,
20,20,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,20,20,20,20,20,20,20,
20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,20,20,20,20,20,
20,20,20,20,20,20,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,20,20,20,
20,20,20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,20,20,20,20,20,20,20,
20,20,20,20,20,20,20,20,20,20,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,14,20,20,146,20,20,20,20,20,20,20,20,20,20,20,20,20,21,
22,22,22,22,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,146,20,146,20,20,20,20,20,20,20,20,20,20,
20,20,21,22,22,22,22,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,0,0,
0,0,12,12,12,12,0,0,157,0,157,157,0,157,0,12,12,12,12,0,0,0,0,20,20,146,20,20,
20,20,20,20,20,20,20,20,20,20,20,21,22,22,22,22,21,21,20,20,20,20,20,20,20,20,
20,20,20,20,20,20,20,148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,
20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,22,22,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10
}; // gbmetaTexture
#endif // guard

View file

@ -0,0 +1,732 @@
#ifndef HOUSE_MODEL_H
#define HOUSE_MODEL_H
#define HOUSE_VERTEX_COUNT 127
const S3L_Unit houseVertices[HOUSE_VERTEX_COUNT * 3] = {
1809, 657, -687, // 0
1635, -291, -914, // 3
1635, -309, -632, // 6
1473, 657, -1113, // 9
1809, 657, -1113, // 12
2070, 661, -1396, // 15
1659, 657, -687, // 18
1659, 657, 1039, // 21
1563, 142, -217, // 24
1563, 138, 582, // 27
1489, -270, -632, // 30
188, 733, -1473, // 33
1354, -245, -914, // 36
1473, 657, -910, // 39
1354, -206, -729, // 42
1240, 2205, 176, // 45
68, 2107, 176, // 48
1530, -1123, -636, // 51
1313, -1123, -765, // 54
1313, -1123, -1005, // 57
1644, -1123, -1005, // 60
1644, -1123, -636, // 63
602, -251, -728, // 66
637, 374, -882, // 69
539, -1118, -936, // 72
637, 372, -1124, // 75
539, -1123, -768, // 78
464, 190, -1109, // 81
372, -1119, -948, // 84
464, 192, -845, // 87
372, -1123, -748, // 90
1312, 142, -217, // 93
1489, -248, -204, // 96
1312, -534, -171, // 99
1312, -533, 521, // 102
1312, 138, 582, // 105
1508, -534, -171, // 108
1508, -533, 521, // 111
1530, -1123, 988, // 114
-1672, 657, -687, // 117
-1498, -315, -914, // 120
-1672, 657, -1113, // 123
-1336, 657, -1113, // 126
-1909, 681, -1429, // 129
-1352, -251, -632, // 132
-1498, -315, -632, // 135
-1426, 146, 494, // 138
-1323, -347, 999, // 141
-1352, -247, 503, // 144
-1221, -305, -914, // 147
-1336, 657, -910, // 150
-2446, 2327, 278, // 153
-1872, 681, 1713, // 156
-1393, -1123, -636, // 159
-1176, -1123, -765, // 162
-1221, -284, -729, // 165
-1176, -1123, -961, // 168
-1527, -1123, -636, // 171
-443, -251, -728, // 174
-477, 343, -882, // 177
-402, -1118, -936, // 180
-402, -1123, -768, // 183
-304, 160, -1109, // 186
-477, 341, -1124, // 189
-235, -1119, -948, // 192
-304, 162, -845, // 195
-1672, 657, 1039, // 198
-1175, 146, -142, // 201
-1175, -645, -145, // 204
-1352, -247, -151, // 207
-1426, 146, -142, // 210
-1371, -645, -145, // 213
-1523, 657, 1039, // 216
1809, 657, 1039, // 219
1635, -251, 1266, // 222
1809, 628, 1466, // 225
2450, 2567, 227, // 228
-1336, 657, 1262, // 231
247, 714, 1527, // 234
1473, 657, 1262, // 237
1473, 657, 1466, // 240
2042, 591, 1653, // 243
1635, -219, 984, // 246
1373, -213, 1266, // 249
-1103, 2205, 176, // 252
-1286, 1892, -143, // 255
1489, -219, 984, // 258
1313, -1123, 1117, // 261
1373, -213, 1081, // 264
1313, -1123, 1313, // 267
1644, -1123, 988, // 270
1489, -248, 555, // 273
-1468, -347, 1266, // 276
-1468, -347, 999, // 279
-1336, 657, 1466, // 282
-1672, 657, 1466, // 285
-1175, 146, 494, // 288
-1523, 657, -687, // 291
-1222, -347, 1266, // 294
-1222, -347, 1081, // 297
-1393, -1123, 988, // 300
-1176, -1123, 1117, // 303
-1176, -1123, 1313, // 306
-1507, -1123, 1313, // 309
-1507, -1123, 988, // 312
-1371, -645, 497, // 315
-1175, -645, 497, // 318
-235, -1123, -748, // 321
-1442, 2357, -538, // 324
-1405, 1712, -323, // 327
-1589, 1878, -170, // 330
-1257, 2383, -200, // 333
-1712, 2416, -224, // 336
-1527, -1123, -961, // 339
1644, -1123, 1313, // 342
-1636, 657, -930, // 345
-1636, 657, -930, // 348
-1672, 657, 1466, // 351
1773, 657, -930, // 354
1773, 657, -930, // 357
1809, 657, 1466, // 360
-1636, 657, 1282, // 363
-1636, 657, 1282, // 366
-1672, 657, -1113, // 369
1773, 657, 1282, // 372
1773, 657, 1282, // 375
1809, 657, -1113 // 378
}; // houseVertices
#define HOUSE_TRIANGLE_COUNT 200
const S3L_Index houseTriangleIndices[HOUSE_TRIANGLE_COUNT * 3] = {
0, 1, 2, // 0
3, 1, 4, // 3
3, 4, 5, // 6
0, 5, 4, // 9
2, 6, 0, // 12
7, 8, 9, // 15
6, 10, 8, // 18
11, 3, 5, // 21
12, 13, 14, // 24
15, 16, 11, // 27
2, 17, 10, // 30
12, 18, 19, // 33
1, 19, 20, // 36
1, 21, 2, // 39
22, 18, 14, // 42
23, 14, 13, // 45
24, 23, 25, // 48
26, 22, 23, // 51
24, 27, 28, // 54
28, 29, 30, // 57
31, 32, 33, // 60
32, 31, 8, // 63
31, 34, 35, // 66
36, 33, 32, // 69
37, 17, 38, // 72
17, 36, 10, // 75
39, 40, 41, // 78
40, 42, 41, // 81
42, 43, 41, // 84
39, 41, 43, // 87
39, 44, 45, // 90
46, 47, 48, // 93
11, 43, 42, // 96
49, 50, 42, // 99
51, 52, 43, // 102
53, 45, 44, // 105
49, 54, 55, // 108
40, 56, 49, // 111
57, 40, 45, // 114
54, 58, 55, // 117
55, 59, 50, // 120
60, 59, 61, // 123
61, 59, 58, // 126
60, 62, 63, // 129
64, 65, 62, // 132
43, 66, 39, // 135
67, 68, 69, // 138
69, 70, 67, // 141
71, 69, 68, // 144
72, 47, 46, // 147
73, 74, 75, // 150
15, 5, 76, // 153
77, 78, 79, // 156
74, 80, 75, // 159
80, 81, 75, // 162
73, 75, 81, // 165
7, 82, 73, // 168
0, 7, 73, // 171
10, 32, 8, // 174
78, 81, 80, // 177
83, 79, 80, // 180
16, 84, 85, // 183
15, 78, 16, // 186
38, 82, 86, // 189
83, 87, 88, // 192
74, 89, 83, // 195
90, 74, 82, // 198
35, 34, 91, // 201
91, 9, 35, // 204
8, 35, 9, // 207
37, 91, 34, // 210
33, 37, 34, // 213
10, 36, 32, // 216
66, 92, 93, // 219
84, 52, 51, // 222
94, 78, 77, // 225
94, 92, 95, // 228
94, 95, 52, // 231
66, 52, 95, // 234
93, 72, 66, // 237
96, 68, 67, // 240
97, 70, 44, // 243
78, 94, 52, // 246
98, 77, 99, // 249
15, 81, 78, // 252
84, 16, 78, // 255
70, 72, 46, // 258
93, 100, 47, // 261
98, 101, 102, // 264
98, 103, 92, // 267
92, 104, 93, // 270
99, 87, 101, // 273
77, 88, 99, // 276
105, 53, 71, // 279
96, 48, 106, // 282
48, 96, 46, // 285
106, 71, 68, // 288
105, 106, 48, // 291
46, 67, 70, // 294
70, 69, 44, // 297
66, 97, 39, // 300
81, 0, 73, // 303
76, 5, 81, // 306
30, 65, 107, // 309
27, 65, 29, // 312
27, 63, 62, // 315
59, 25, 23, // 318
23, 50, 59, // 321
11, 50, 13, // 324
3, 11, 13, // 327
11, 42, 50, // 330
7, 9, 86, // 333
86, 9, 91, // 336
86, 91, 37, // 339
38, 86, 37, // 342
105, 48, 47, // 345
47, 100, 105, // 348
71, 44, 69, // 351
44, 71, 53, // 354
85, 108, 109, // 357
108, 110, 109, // 360
110, 111, 85, // 363
112, 108, 111, // 366
43, 110, 51, // 369
109, 110, 43, // 372
11, 16, 85, // 375
109, 11, 85, // 378
109, 43, 11, // 381
85, 84, 110, // 384
84, 51, 110, // 387
78, 80, 79, // 390
0, 4, 1, // 393
3, 12, 1, // 396
2, 10, 6, // 399
7, 6, 8, // 402
12, 3, 13, // 405
2, 21, 17, // 408
12, 14, 18, // 411
1, 12, 19, // 414
1, 20, 21, // 417
22, 26, 18, // 420
23, 22, 14, // 423
24, 26, 23, // 426
24, 25, 27, // 429
28, 27, 29, // 432
31, 33, 34, // 435
37, 36, 17, // 438
39, 45, 40, // 441
40, 49, 42, // 444
39, 97, 44, // 447
49, 55, 50, // 450
53, 57, 45, // 453
49, 56, 54, // 456
40, 113, 56, // 459
57, 113, 40, // 462
54, 61, 58, // 465
55, 58, 59, // 468
60, 63, 59, // 471
60, 64, 62, // 474
64, 107, 65, // 477
43, 52, 66, // 480
73, 82, 74, // 483
15, 11, 5, // 486
74, 83, 80, // 489
7, 86, 82, // 492
0, 6, 7, // 495
83, 88, 79, // 498
38, 90, 82, // 501
83, 89, 87, // 504
74, 114, 89, // 507
90, 114, 74, // 510
8, 31, 35, // 513
33, 36, 37, // 516
66, 95, 92, // 519
84, 78, 52, // 522
94, 98, 92, // 525
93, 47, 72, // 528
96, 106, 68, // 531
98, 94, 77, // 534
15, 76, 81, // 537
70, 97, 72, // 540
93, 104, 100, // 543
98, 99, 101, // 546
98, 102, 103, // 549
92, 103, 104, // 552
99, 88, 87, // 555
77, 79, 88, // 558
105, 100, 53, // 561
106, 105, 71, // 564
46, 96, 67, // 567
66, 72, 97, // 570
81, 5, 0, // 573
30, 29, 65, // 576
27, 62, 65, // 579
27, 25, 63, // 582
59, 63, 25, // 585
23, 13, 50, // 588
85, 111, 108, // 591
108, 112, 110, // 594
110, 112, 111 // 597
}; // houseTriangleIndices
#define HOUSE_UV_COUNT 173
const S3L_Unit houseUVs[HOUSE_UV_COUNT * 2] = {
279, 174, // 0
166, 140, // 2
166, 174, // 4
279, 106, // 6
279, 140, // 8
281, 238, // 10
307, 238, // 12
327, 260, // 14
307, 206, // 16
279, 204, // 18
484, 15, // 20
393, 53, // 22
447, 53, // 24
355, 15, // 26
360, 83, // 28
183, 266, // 30
166, 106, // 32
279, 74, // 34
166, 74, // 36
263, 397, // 38
203, 397, // 40
203, 505, // 42
68, 204, // 44
166, 204, // 46
68, 74, // 48
68, 106, // 50
68, 140, // 52
68, 174, // 54
454, 338, // 56
494, 392, // 58
496, 335, // 60
451, 298, // 62
504, 280, // 64
440, 382, // 66
445, 304, // 68
445, 392, // 70
436, 314, // 72
431, 382, // 74
432, 318, // 76
428, 373, // 78
399, 58, // 80
392, 82, // 82
401, 102, // 84
439, 102, // 86
441, 58, // 88
395, 107, // 90
444, 107, // 92
359, 147, // 94
480, 147, // 96
279, 106, // 98
166, 140, // 100
279, 140, // 102
279, 174, // 104
66, 238, // 106
22, 263, // 108
41, 238, // 110
41, 206, // 112
166, 74, // 114
166, 106, // 116
447, 53, // 118
480, 85, // 120
448, 82, // 122
166, 174, // 124
279, 204, // 126
86, 397, // 128
0, 449, // 130
86, 505, // 132
68, 74, // 134
68, 204, // 136
166, 204, // 138
68, 174, // 140
68, 106, // 142
337, 392, // 144
378, 338, // 146
334, 340, // 148
381, 300, // 150
327, 280, // 152
391, 382, // 154
385, 392, // 156
396, 315, // 158
387, 306, // 160
399, 382, // 162
400, 319, // 164
41, 74, // 166
399, 58, // 168
401, 102, // 170
392, 82, // 172
393, 53, // 174
395, 107, // 176
484, 15, // 178
279, 106, // 180
166, 140, // 182
279, 140, // 184
314, 505, // 186
314, 397, // 188
66, 57, // 190
187, 36, // 192
281, 57, // 194
279, 174, // 196
281, 41, // 198
325, 27, // 200
307, 41, // 202
307, 74, // 204
279, 74, // 206
166, 106, // 208
295, 74, // 210
166, 174, // 212
279, 204, // 214
144, 397, // 216
136, 420, // 218
203, 291, // 220
68, 74, // 222
166, 74, // 224
68, 204, // 226
166, 204, // 228
68, 174, // 230
68, 106, // 232
448, 82, // 234
279, 174, // 236
166, 140, // 238
166, 174, // 240
86, 291, // 242
66, 41, // 244
279, 106, // 246
279, 140, // 248
41, 41, // 250
25, 22, // 252
279, 204, // 254
441, 58, // 256
355, 15, // 258
360, 83, // 260
166, 106, // 262
279, 74, // 264
166, 74, // 266
314, 291, // 268
68, 204, // 270
166, 204, // 272
68, 74, // 274
68, 106, // 276
68, 140, // 278
68, 174, // 280
495, 218, // 282
345, 264, // 284
492, 264, // 286
502, 158, // 288
342, 210, // 290
444, 107, // 292
359, 147, // 294
439, 102, // 296
52, 206, // 298
402, 449, // 300
403, 373, // 302
66, 223, // 304
281, 223, // 306
480, 85, // 308
480, 147, // 310
492, 407, // 312
425, 437, // 314
492, 437, // 316
492, 467, // 318
425, 500, // 320
492, 500, // 322
425, 467, // 324
398, 484, // 326
121, 423, // 328
131, 433, // 330
279, 74, // 332
68, 140, // 334
295, 206, // 336
68, 140, // 338
336, 158, // 340
52, 74, // 342
425, 407 // 344
}; // houseUVs
#define HOUSE_UV_INDEX_COUNT 200
const S3L_Index houseUVIndices[HOUSE_UV_INDEX_COUNT * 3] = {
0, 1, 2, // 0
3, 1, 4, // 3
5, 6, 7, // 6
8, 7, 6, // 9
2, 9, 0, // 12
10, 11, 12, // 15
13, 14, 11, // 18
15, 5, 7, // 21
16, 17, 18, // 24
19, 20, 21, // 27
2, 22, 23, // 30
16, 24, 25, // 33
1, 25, 26, // 36
1, 27, 2, // 39
28, 29, 30, // 42
31, 30, 32, // 45
33, 31, 34, // 48
35, 28, 31, // 51
33, 36, 37, // 54
37, 38, 39, // 57
40, 41, 42, // 60
41, 40, 11, // 63
40, 43, 44, // 66
45, 42, 41, // 69
46, 47, 48, // 72
47, 45, 14, // 75
49, 50, 51, // 78
50, 52, 51, // 81
53, 54, 55, // 84
56, 55, 54, // 87
49, 57, 58, // 90
59, 60, 61, // 93
15, 54, 53, // 96
62, 63, 52, // 99
64, 65, 66, // 102
67, 58, 57, // 105
62, 68, 69, // 108
50, 70, 62, // 111
71, 50, 58, // 114
72, 73, 74, // 117
74, 75, 76, // 120
77, 75, 78, // 123
78, 75, 73, // 126
77, 79, 80, // 129
81, 82, 79, // 132
54, 83, 56, // 135
84, 85, 86, // 138
86, 87, 84, // 141
88, 86, 85, // 144
89, 60, 59, // 147
90, 91, 92, // 150
19, 93, 94, // 153
95, 96, 97, // 156
91, 98, 92, // 159
99, 100, 101, // 162
102, 101, 100, // 165
103, 104, 90, // 168
8, 105, 102, // 171
14, 41, 11, // 174
96, 100, 99, // 177
106, 107, 98, // 180
20, 108, 109, // 183
19, 110, 20, // 186
111, 104, 112, // 189
106, 113, 114, // 192
91, 115, 106, // 195
116, 91, 104, // 198
44, 43, 117, // 201
117, 12, 44, // 204
11, 44, 12, // 207
46, 117, 43, // 210
42, 46, 43, // 213
14, 45, 41, // 216
118, 119, 120, // 219
108, 121, 64, // 222
122, 96, 95, // 225
123, 119, 124, // 228
122, 125, 126, // 231
83, 126, 125, // 234
120, 127, 118, // 237
128, 85, 84, // 240
129, 87, 130, // 243
96, 122, 126, // 246
131, 132, 133, // 249
19, 134, 110, // 252
108, 20, 110, // 255
87, 89, 59, // 258
120, 135, 136, // 261
131, 137, 138, // 264
131, 139, 119, // 267
119, 140, 120, // 270
141, 142, 143, // 273
144, 145, 141, // 276
146, 147, 88, // 279
128, 61, 148, // 282
61, 128, 59, // 285
148, 88, 85, // 288
146, 148, 61, // 291
59, 84, 87, // 294
87, 86, 130, // 297
83, 149, 56, // 300
100, 8, 102, // 303
94, 93, 150, // 306
39, 82, 151, // 309
36, 82, 38, // 312
36, 80, 79, // 315
75, 34, 31, // 318
31, 76, 75, // 321
15, 152, 153, // 324
5, 15, 153, // 327
15, 53, 152, // 330
10, 12, 154, // 333
154, 12, 117, // 336
154, 117, 46, // 339
48, 154, 46, // 342
146, 61, 60, // 345
60, 155, 146, // 348
88, 130, 86, // 351
130, 88, 147, // 354
156, 157, 158, // 357
157, 159, 158, // 360
159, 160, 161, // 363
162, 163, 160, // 366
66, 164, 64, // 369
165, 164, 66, // 372
21, 20, 109, // 375
165, 21, 109, // 378
165, 66, 21, // 381
109, 108, 164, // 384
108, 64, 164, // 387
96, 99, 97, // 390
0, 4, 1, // 393
3, 16, 1, // 396
2, 23, 9, // 399
10, 13, 11, // 402
16, 3, 17, // 405
2, 27, 22, // 408
16, 18, 24, // 411
1, 16, 25, // 414
1, 26, 27, // 417
28, 35, 29, // 420
31, 28, 30, // 423
33, 35, 31, // 426
33, 34, 36, // 429
37, 36, 38, // 432
40, 42, 43, // 435
46, 45, 47, // 438
49, 58, 50, // 441
50, 62, 52, // 444
49, 166, 57, // 447
62, 69, 63, // 450
67, 71, 58, // 453
62, 70, 68, // 456
50, 167, 70, // 459
71, 167, 50, // 462
72, 78, 73, // 465
74, 73, 75, // 468
77, 80, 75, // 471
77, 81, 79, // 474
81, 151, 82, // 477
54, 126, 83, // 480
90, 104, 91, // 483
19, 21, 93, // 486
91, 106, 98, // 489
103, 112, 104, // 492
8, 168, 105, // 495
106, 114, 107, // 498
111, 116, 104, // 501
106, 115, 113, // 504
91, 169, 115, // 507
116, 169, 91, // 510
11, 40, 44, // 513
42, 45, 46, // 516
118, 124, 119, // 519
108, 110, 121, // 522
123, 131, 119, // 525
120, 136, 127, // 528
128, 148, 85, // 531
131, 123, 132, // 534
19, 94, 134, // 537
87, 129, 89, // 540
120, 140, 135, // 543
131, 133, 137, // 546
131, 138, 139, // 549
119, 139, 140, // 552
141, 145, 142, // 555
144, 170, 145, // 558
146, 155, 147, // 561
148, 146, 88, // 564
59, 128, 84, // 567
83, 171, 149, // 570
100, 7, 8, // 573
39, 38, 82, // 576
36, 79, 82, // 579
36, 34, 80, // 582
75, 80, 34, // 585
31, 32, 76, // 588
156, 172, 157, // 591
157, 162, 159, // 594
159, 162, 160 // 597
}; // houseUVIndices
S3L_Model3D houseModel;
void houseModelInit()
{
S3L_initModel3D(
houseVertices,
HOUSE_VERTEX_COUNT,
houseTriangleIndices,
HOUSE_TRIANGLE_COUNT,
&houseModel);
}
#endif // guard

View file

@ -0,0 +1,164 @@
#ifndef HOUSE_TEXTURE_H
#define HOUSE_TEXTURE_H
#define HOUSE_TEXTURE_WIDTH 64
#define HOUSE_TEXTURE_HEIGHT 64
const uint8_t houseTexture[4096] = {
24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,
24,24,24,24,24,24,24,24,24,24,24,24,24,23,23,8,25,25,25,25,25,25,25,25,25,25,25,
25,25,25,25,25,25,25,25,25,25,25,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,
24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23,23,8,
25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,24,24,25,7,23,
24,20,22,21,8,22,21,25,22,22,25,22,22,25,21,22,21,21,22,21,21,22,21,20,22,21,20,
21,22,25,21,22,25,21,22,24,9,25,24,23,20,20,19,20,21,20,20,3,20,20,20,22,22,19,
21,20,23,24,25,24,24,8,21,18,18,18,19,18,21,19,19,22,20,20,23,21,21,24,21,22,21,
21,22,21,21,22,22,21,22,21,20,22,21,24,21,21,23,20,20,21,24,25,25,24,21,23,22,
25,22,23,24,20,25,25,23,25,25,23,24,23,24,24,25,24,24,24,20,19,19,19,20,19,18,
20,19,18,19,18,17,18,18,21,19,19,18,19,20,19,19,20,19,19,19,19,19,18,18,17,18,
18,18,18,18,18,6,25,25,24,21,25,25,26,24,25,25,22,26,27,26,27,26,25,25,23,24,25,
25,24,24,24,20,19,18,18,19,18,18,21,20,19,21,20,18,20,20,19,20,20,19,19,19,18,
18,19,18,19,20,20,19,21,20,19,20,19,18,19,20,18,6,25,25,24,22,26,25,26,25,25,25,
24,26,27,26,27,27,25,26,23,25,25,25,24,24,24,18,19,18,19,19,19,18,21,20,18,21,
20,18,20,20,19,20,21,19,20,21,19,19,21,19,20,21,19,19,20,19,18,19,19,19,19,19,
19,19,25,25,25,22,26,26,10,24,22,6,5,23,24,25,27,27,26,24,23,25,25,25,24,24,24,
19,21,19,22,22,19,17,19,18,17,19,18,18,18,19,17,18,19,18,18,19,18,18,19,17,18,
19,18,18,19,18,113,19,20,22,20,20,20,19,25,25,25,22,27,26,10,21,6,8,8,24,25,23,
5,27,24,9,24,25,25,25,24,24,24,18,19,18,20,21,24,23,23,23,23,23,23,23,23,23,23,
24,24,24,23,23,23,23,23,23,23,23,23,23,23,22,21,21,24,21,19,19,19,19,25,25,25,
22,27,27,11,21,7,8,8,8,8,9,4,10,7,10,24,25,25,25,24,24,8,19,19,17,21,22,24,25,
25,25,25,24,24,24,24,24,24,24,23,23,23,23,24,23,23,22,22,23,23,23,24,22,21,21,
21,21,21,19,19,6,25,25,25,22,27,27,11,20,8,12,11,11,12,11,4,11,7,9,24,25,25,25,
24,24,8,19,21,21,19,20,20,19,20,20,21,21,21,21,21,20,21,20,20,20,21,21,20,20,20,
20,20,20,20,20,20,19,18,2,19,18,20,21,20,19,25,25,25,5,27,26,28,21,6,7,7,7,7,8,
4,27,7,26,22,25,25,25,24,24,25,19,20,20,18,20,20,21,22,22,22,22,22,23,23,23,23,
23,23,23,24,24,23,23,23,23,22,22,22,21,21,21,19,17,19,18,20,21,20,19,25,25,25,4,
10,26,27,21,7,12,10,12,12,8,4,26,24,26,19,25,25,25,24,24,24,21,19,19,17,22,20,
22,23,24,24,24,24,24,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,23,23,22,21,
17,19,17,19,21,19,20,25,25,25,5,27,26,28,5,6,12,10,11,12,25,21,25,25,27,21,25,
25,25,24,24,8,19,20,21,19,20,20,21,22,22,22,22,22,23,22,22,21,21,21,22,22,22,23,
23,23,23,22,22,22,22,22,21,20,17,19,18,20,21,20,19,25,25,25,4,25,26,28,5,7,9,9,
9,9,23,22,27,26,27,21,25,25,25,24,24,8,19,21,21,19,20,20,22,22,22,22,22,22,23,
22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,21,20,17,19,19,21,21,20,19,
25,25,25,4,25,5,27,22,6,22,22,22,22,22,21,27,27,27,21,25,25,25,24,24,8,21,19,19,
18,22,19,20,23,23,24,24,24,23,23,24,24,23,24,24,24,24,24,24,24,25,24,24,24,24,
24,23,22,17,19,18,19,21,20,20,25,25,25,4,27,8,28,23,23,23,24,24,24,24,6,26,27,9,
21,25,25,25,24,24,24,19,20,21,18,20,19,22,23,24,24,24,23,24,24,24,23,24,24,24,
24,24,25,24,25,24,24,24,24,24,23,23,21,17,19,18,20,21,20,18,25,25,25,21,27,8,28,
26,26,26,24,26,25,23,25,26,26,26,21,25,25,25,24,24,24,19,21,21,19,20,19,20,22,
22,22,22,22,22,23,22,23,22,22,22,23,23,24,23,23,23,23,23,22,22,21,21,20,17,19,
19,21,21,20,19,25,25,25,21,26,6,27,25,25,26,23,26,25,23,25,26,8,26,21,25,25,25,
24,24,24,18,19,20,18,22,19,21,22,22,22,22,21,22,22,22,22,22,22,23,23,23,23,23,
23,23,23,22,22,22,22,21,20,17,19,18,20,22,20,21,8,25,25,5,25,5,27,24,26,26,23,
25,25,23,26,25,25,26,21,25,25,25,24,24,24,18,20,21,19,20,19,21,23,23,23,23,23,
23,23,23,24,24,25,25,25,25,25,25,25,25,24,24,24,24,23,22,21,17,19,18,20,21,20,
19,8,25,25,25,25,26,26,26,25,26,24,25,25,25,25,25,26,26,8,25,25,25,24,24,24,19,
21,21,19,20,21,23,24,24,24,24,24,24,24,25,25,24,24,25,25,25,24,24,25,24,24,24,
24,24,23,22,21,17,20,19,21,21,20,19,19,20,19,2,18,8,20,20,19,18,18,20,20,19,19,
21,21,21,19,19,19,22,24,24,24,18,19,20,17,22,20,19,23,23,23,23,23,23,23,24,23,
24,23,22,22,22,22,23,23,23,22,22,23,22,23,22,21,17,20,17,19,20,19,19,23,10,25,4,
11,24,21,24,23,4,25,24,21,25,23,25,25,24,23,24,22,23,24,24,24,18,20,20,18,19,20,
22,22,22,22,22,22,22,22,22,22,23,24,23,22,22,22,22,22,22,22,22,22,22,22,21,20,
17,19,18,19,20,19,19,24,10,27,4,26,25,23,24,24,6,26,25,22,25,24,7,7,4,24,24,22,
24,24,24,24,19,21,21,19,20,21,22,23,23,23,23,23,23,23,23,23,23,23,24,23,22,22,
22,22,22,22,23,23,23,23,22,21,17,19,19,21,21,20,19,25,24,27,5,27,26,25,26,9,25,
11,10,24,27,26,25,25,25,8,25,22,8,24,24,24,18,19,20,18,19,21,19,22,23,24,24,24,
23,23,23,23,22,22,22,22,22,21,21,21,21,21,22,21,22,22,21,20,17,19,18,18,20,19,
19,26,10,26,5,27,27,24,26,10,24,7,6,25,27,10,26,26,25,25,25,21,25,24,24,24,18,
20,18,18,19,21,19,20,21,21,21,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,
20,20,20,20,18,1,19,18,19,20,19,19,24,22,25,5,10,27,25,27,10,10,11,11,25,27,27,
9,10,25,25,25,5,25,24,24,24,19,21,19,20,21,25,25,25,24,24,24,24,24,25,25,25,25,
25,25,25,25,25,25,25,25,24,25,25,25,25,23,22,22,23,20,19,21,20,19,24,5,26,5,27,
26,26,11,11,11,12,12,26,11,10,10,10,9,25,25,22,25,24,24,24,18,20,18,20,22,23,23,
23,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,21,21,21,20,20,
22,21,19,20,19,19,25,5,26,24,27,26,26,11,28,11,12,12,26,11,11,27,26,26,5,24,22,
25,24,24,24,18,20,18,20,20,19,18,19,18,17,18,18,18,18,18,18,18,19,18,18,19,18,
18,19,18,18,19,18,18,19,18,17,18,19,21,19,19,19,20,26,5,27,25,26,26,8,11,27,12,
12,12,27,12,28,27,27,26,26,25,24,25,24,24,24,19,21,19,20,20,19,19,20,20,19,20,
21,19,20,21,20,20,21,20,20,21,20,20,21,20,20,21,20,20,21,21,19,19,19,21,19,21,
20,19,26,4,27,23,26,26,26,10,10,12,12,11,27,28,27,27,28,27,26,25,25,25,24,24,24,
18,20,19,18,19,18,20,21,20,20,21,21,19,20,21,20,21,21,20,20,21,19,20,21,20,21,
21,20,21,21,20,20,20,18,18,18,20,19,19,25,21,26,23,24,7,26,10,25,11,11,28,26,25,
24,27,27,26,26,25,25,25,24,24,24,18,20,19,20,20,20,20,21,20,20,21,21,19,20,21,
19,20,21,20,20,21,19,20,21,20,21,21,21,21,21,21,20,21,20,20,20,20,20,21,25,22,
26,23,8,25,26,10,26,10,11,28,26,27,26,26,27,25,26,24,24,25,24,24,24,19,20,19,19,
19,19,19,20,19,18,19,19,18,19,19,18,19,19,18,19,19,18,18,19,18,18,19,18,18,19,
18,18,19,18,19,19,19,19,19,25,25,25,24,26,25,23,25,25,27,28,27,25,26,25,8,27,24,
25,24,24,25,24,24,8,19,18,19,19,19,19,20,20,19,18,19,19,18,19,19,18,19,19,18,19,
20,18,19,20,18,19,20,20,41,21,20,24,21,20,20,20,20,20,21,25,25,26,25,26,26,8,26,
24,26,26,26,25,26,24,24,26,24,25,23,24,25,24,24,24,24,24,24,24,24,26,26,26,27,
27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,27,
27,24,25,25,25,25,25,25,25,25,25,25,25,26,25,25,25,8,25,25,26,26,26,25,25,25,24,
24,24,24,24,24,24,24,26,26,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,
28,28,28,28,28,28,28,28,28,28,28,28,27,23,4,20,21,20,22,22,21,20,21,21,21,21,21,
22,23,23,22,23,23,23,21,21,22,24,24,24,24,24,24,24,26,26,26,28,28,28,28,28,27,
27,27,27,27,26,27,27,27,27,28,28,28,28,28,27,27,25,26,26,27,27,28,28,28,23,3,23,
22,23,23,21,24,22,23,24,22,23,23,22,24,24,24,24,10,26,21,23,22,24,24,24,24,24,
24,24,26,26,26,28,24,24,24,24,24,24,23,23,24,24,24,24,24,23,24,23,25,24,25,24,
24,23,23,24,24,24,24,24,23,24,23,25,23,24,25,22,25,22,22,23,21,22,21,21,22,23,
24,23,24,25,21,24,23,24,24,24,24,24,24,24,26,26,26,28,23,24,23,24,23,23,23,23,
23,23,24,23,23,22,23,22,24,23,23,23,23,21,21,23,23,23,23,23,23,24,24,25,25,26,
26,25,23,22,23,24,7,7,23,23,22,5,25,25,7,26,9,24,24,24,24,24,24,24,24,26,26,26,
27,28,23,23,23,22,22,24,23,23,23,23,23,23,23,23,23,23,23,24,22,23,23,23,23,23,
23,23,23,24,24,43,26,24,26,26,26,8,21,24,8,25,25,25,24,24,25,6,23,26,7,27,25,23,
8,24,24,24,24,24,26,26,26,26,28,28,23,22,24,22,23,24,24,23,24,24,24,24,24,25,24,
24,24,24,23,24,23,24,23,23,23,23,23,23,23,28,26,24,25,7,24,26,21,24,10,20,19,21,
20,20,26,23,22,26,25,28,24,22,26,24,24,24,24,26,26,26,26,26,28,28,23,23,24,24,
25,24,24,25,25,26,26,25,25,24,25,24,25,24,24,24,24,25,24,24,24,21,22,23,23,27,
26,23,25,28,28,25,20,24,26,19,22,23,22,20,26,24,21,26,24,11,22,23,26,24,24,24,
24,26,26,26,26,26,28,27,24,24,24,25,25,25,25,26,26,26,27,25,27,24,27,25,27,25,
24,24,24,24,25,25,24,22,21,24,24,28,26,23,25,11,28,26,20,24,26,19,21,24,21,21,
26,25,21,27,26,11,7,22,26,24,24,24,26,26,26,26,26,26,28,27,22,23,23,23,23,22,24,
25,25,25,25,24,23,22,23,23,24,23,22,22,22,22,22,22,24,22,20,21,21,25,25,22,25,
11,28,26,20,24,8,20,22,26,7,21,25,24,21,27,27,10,24,4,25,24,24,26,26,26,26,26,
26,26,28,27,25,23,25,25,26,24,24,25,22,24,26,26,25,24,23,26,24,25,23,25,24,24,
24,24,24,24,23,23,23,28,25,21,25,27,11,9,21,22,24,21,24,9,8,22,25,22,23,27,10,9,
24,21,25,24,25,26,26,26,26,26,26,27,28,27,23,22,23,23,23,24,25,24,25,24,24,24,
23,22,22,24,22,23,22,22,23,22,23,23,23,22,22,22,22,28,25,4,24,25,11,26,22,21,24,
22,24,24,23,22,25,21,24,25,5,7,24,24,25,24,26,26,26,26,26,26,26,28,28,28,24,24,
24,24,24,25,25,20,27,24,25,24,25,24,25,24,25,25,25,25,25,25,25,25,24,25,24,25,
24,28,25,19,23,24,11,8,23,20,24,22,24,24,23,22,23,20,25,23,9,25,24,24,25,26,26,
26,26,26,26,27,28,28,28,28,24,24,23,23,23,23,21,24,21,23,23,22,24,22,24,23,24,
24,24,24,24,24,24,24,23,23,23,24,21,28,24,20,25,24,11,7,24,20,23,22,22,22,21,22,
23,4,25,22,26,24,25,24,25,26,26,26,26,26,28,28,28,28,28,27,24,23,22,23,23,23,23,
23,23,23,23,23,23,23,23,23,22,23,23,23,23,24,24,23,24,24,24,24,24,27,25,23,25,
24,27,24,25,2,23,24,24,24,24,23,23,4,25,22,25,25,24,24,25,26,26,26,28,28,28,28,
28,28,28,27,23,24,23,23,23,23,23,23,23,24,24,23,23,23,23,23,23,23,23,23,24,23,
23,23,23,24,24,24,23,27,28,25,25,23,24,24,26,20,24,24,24,24,24,24,24,21,25,23,
25,25,25,25,25,24,24,26,26,25,26,25,8,26,28,22,24,24,24,24,24,24,22,24,23,23,23,
23,23,23,24,23,23,23,24,24,24,24,24,24,24,25,25,25,26,22,26,27,8,8,8,25,26,25,
24,24,24,24,24,24,24,25,24,24,24,25,27,25,25,25,25,25,8,8,8,8,28,22,22,20,24,23,
24,24,24,23,23,21,22,23,23,23,23,23,23,24,22,24,22,23,23,23,23,23,23,23,23,23,
24,19,21,22,28,26,8,8,8,8,8,8,8,8,24,8,9,9,9,9,8,24,22,24,8,8,8,9,9,24,27,27,22,
20,22,21,22,22,22,22,21,20,20,21,20,21,21,22,21,22,22,22,22,22,20,21,22,21,0,21,
20,22,22,22,22,19,22,19,22,23,27,8,24,24,8,8,8,8,23,8,9,10,10,10,25,23,21,22,8,
24,24,8,27,28,22,22,22,24,24,22,23,23,23,24,21,159,20,23,23,23,23,24,23,24,24,
23,24,23,23,21,24,23,25,23,23,23,23,23,23,20,23,23,21,20,22,27,28,8,24,24,24,24,
22,8,9,10,11,10,9,23,20,21,23,26,26,28,23,22,20,23,22,25,24,22,23,24,23,23,23,
20,22,23,23,23,23,24,24,24,24,24,24,24,21,21,23,22,22,22,23,23,23,23,23,19,24,
25,23,23,20,22,22,27,28,26,24,24,22,8,9,11,11,10,25,22,20,21,23,28,28,22,20,23,
25,23,26,26,21,22,24,22,24,23,23,23,22,22,23,23,23,24,24,25,24,24,24,24,24,25,
22,24,18,24,24,24,22,22,24,20,21,26,27,23,25,23,19,22,26,28,28,24,22,8,9,11,11,
11,9,23,21,21,23,22,22,23,25,24,23,27,27,25,24,22,23,23,23,23,23,24,24,24,24,24,
24,25,26,25,26,25,25,26,25,24,24,23,24,23,23,23,22,22,23,20,24,26,27,26,24,23,
25,21,20,22,28,28,22,8,9,11,12,11,9,24,21,21,23,22,22,21,22,24,26,26,26,25,25,
21,22,22,22,21,22,24,23,24,23,23,24,24,25,25,24,23,26,25,26,24,25,24,25,24,24,
23,23,23,23,20,25,26,24,26,26,23,20,21,22,23,28,28,23,8,9,10,11,10,9,7,21,150,
23,21,23,23,22,21,23,24,26,25,22,21,23,23,22,22,24,24,24,24,24,24,25,25,26,26,
25,23,26,26,26,25,26,24,24,24,24,23,23,23,23,22,22,25,26,25,23,21,23,24,23,22,
28,27,23,8,9,9,10,10,25,23,21,21,23,27,25,22,24,24,23,20,21,25,26,23,22,21,22,
22,22,22,22,22,23,23,23,24,23,24,22,24,22,24,23,24,23,23,23,23,23,23,23,23,22,
21,26,24,21,20,23,24,24,22,28,27,26,25,7,8,9,10,11,10,9,23,21,21,23,26,28,28,23,
22,23,24,21,23,24,22,23,23,23,23,24,24,25,24,24,24,24,23,23,24,24,24,22,24,24,
24,24,24,23,23,23,23,23,23,24,19,22,22,22,24,23,22,23,28,28,26,7,1,6,8,9,10,11,
10,9,24,21,21,23,25,27,28,28,28,21,22,24,23,21,21,22,22,21,22,21,22,22,22,22,22,
22,22,22,22,22,22,21,20,23,22,22,22,23,22,22,22,22,22,22,19,21,23,24,22,21,28,
28,28,27,25,2,1,6,8,9,9,10,10,9,24,21,150,23,26,27,27,28,28,28,22,22,25,24,21,
23,24,23,24,23,24,23,24,24,24,24,24,23,23,24,23,22,21,24,23,24,23,24,23,24,24,
23,23,23,21,24,24,22,26,28,28,28,27,27,26,25,22,7,8,9,9,10,9,25,22,21,21,23,25,
25,27,28,28,28,28,28,23,22,23,24,23,23,23,23,23,24,23,23,23,23,23,23,23,23,23,
21,21,23,24,24,23,23,24,24,23,23,23,24,23,22,22,28,28,28,28,28,27,25,25,24,24,
22,23,23,24,24,24,22,22,21,22,23
}; // houseTexture
#endif // guard

BIN
programs/gbmeta/modelViewer.bin Executable file

Binary file not shown.

View file

@ -0,0 +1,201 @@
/*
Gamebuino META example demo for small3dlib -- model viewer.
author: Miloslav Ciz
license: CC0 1.0
*/
#include <Gamebuino-Meta.h>
/* Before including small3dlib, we need to define some values for it, such as
the resolution, the name of the pixel drawing function etc.: */
#define S3L_PIXEL_FUNCTION pixelFunc
#define S3L_RESOLUTION_X 80
#define S3L_RESOLUTION_Y 64
#define S3L_Z_BUFFER 2 // this sets up a reduced precision z-buffer
#define S3L_SORT 0 // no sorting of triangles
#define S3L_STENCIL_BUFFER 0 // no stencil buffer
#define S3L_PERSPECTIVE_CORRECTION 0 /* perspective correction expensive and
dosn't improve quality significantly
with far away models, so turn it off,
but you can try setting it it 2
(approximation) */
#include "small3dlib.h" // now we can include the library
// include the resources (converted using provided Python scripts):
#include "palette.h"
#include "houseModel.h"
#include "houseTexture.h"
#include "chestModel.h"
#include "chestTexture.h"
#include "earthModel.h"
#include "earthTexture.h"
#include "gbmetaModel.h"
#include "gbmetaTexture.h"
Gamebuino_Meta::Color paletteGB[256];
#define MIN_ZOOM (-6 * S3L_FRACTIONS_PER_UNIT)
#define MAX_ZOOM (-16 * S3L_FRACTIONS_PER_UNIT)
#define TEXTURE_W 64
#define TEXTURE_H 64
// helper global variabls and pointers:
int16_t previousTriangle = -1;
S3L_Vec4 uv0, uv1, uv2;
const uint8_t *texture = houseTexture;
const S3L_Index *uvIndices = houseUVIndices;
const S3L_Unit *uvs = houseUVs;
static inline unsigned short sampleTexure(int32_t u, int32_t v)
{
int index = v * TEXTURE_W + u;
return texture[index];
}
/* This function will be called by the library to render individual pixels --
remember, this is the bottleneck, it should be as fast as possible! */
void pixelFunc(S3L_PixelInfo *p)
{
S3L_Unit u, v; // texturing coordinates
if (p->triangleIndex != previousTriangle)
{
/* This is a per-triangle cache, it prevents computing per-triangle values
for each pixel. We only recompute these when the triangleID changes. */
S3L_getIndexedTriangleValues(p->triangleIndex,uvIndices,uvs,2,&uv0,&uv1,&uv2);
/* ^ This is a helper funtion that retrieves the 3 UV coordinates of the
triangle (one for each triangle vertex). */
previousTriangle = p->triangleIndex;
}
u = S3L_interpolateBarycentric(uv0.x,uv1.x,uv2.x,p->barycentric);
v = S3L_interpolateBarycentric(uv0.y,uv1.y,uv2.y,p->barycentric);
uint8_t c = sampleTexure(u >> 3,v >> 3);
/* ^ Shifting by 3 gets the value from 0 to 512
(S3L_FRACTIONS_PER_UNIT) to 0 to 32 (texture resoltion). */
// now write the pixel:
Gamebuino_Meta::Color col = paletteGB[c];
gb.display.drawPixel(p->x,p->y,col);
}
S3L_Scene scene; // our 3D scene, it will only hold one model at a time
void draw()
{
S3L_newFrame(); // needs to be done before rendering a new frame
S3L_drawScene(scene); // renders the 3D scene
}
void setModel(uint8_t index)
{
#define modelCase(n)\
scene.models = &(n##Model);\
texture = n##Texture;\
uvIndices = n##UVIndices;\
uvs = n##UVs;
switch (index)
{
case 1:
modelCase(chest)
break;
case 2:
modelCase(earth)
break;
case 3:
modelCase(gbmeta)
break;
default:
modelCase(house)
break;
}
#undef modelCase
}
uint8_t modelIndex = 0;
void setup()
{
gb.begin();
gb.setFrameRate(50);
for (uint16_t i = 0; i < 256; ++i)
{
uint8_t h,s,v,r,g,b;
r = palette[i * 3];
g = palette[i * 3 + 1];
b = palette[i * 3 + 2];
paletteGB[i] = gb.createColor(r,g,b);
}
houseModelInit();
chestModelInit();
earthModelInit();
gbmetaModelInit();
S3L_initScene(&houseModel,1,&scene);
setModel(0);
scene.camera.transform.translation.z = -8 * S3L_FRACTIONS_PER_UNIT;
// ^ place the camera a little bit to the front so that the model is seen
}
void loop()
{
while(!gb.update());
S3L_Unit rotationStep = 16;
S3L_Unit zoomStep = 140;
if (gb.buttons.timeHeld(BUTTON_A) > 0)
{
if (gb.buttons.timeHeld(BUTTON_DOWN) > 0)
scene.camera.transform.translation.z =
S3L_max(MAX_ZOOM,scene.camera.transform.translation.z - zoomStep);
else if (gb.buttons.timeHeld(BUTTON_UP) > 0)
scene.camera.transform.translation.z =
S3L_min(MIN_ZOOM,scene.camera.transform.translation.z + zoomStep);
}
else
{
if (gb.buttons.timeHeld(BUTTON_UP) > 0)
scene.models[0].transform.rotation.x += rotationStep;
else if (gb.buttons.timeHeld(BUTTON_DOWN) > 0)
scene.models[0].transform.rotation.x -= rotationStep;
if (gb.buttons.timeHeld(BUTTON_RIGHT) > 0)
scene.models[0].transform.rotation.y += rotationStep;
else if (gb.buttons.timeHeld(BUTTON_LEFT) > 0)
scene.models[0].transform.rotation.y -= rotationStep;
}
if (gb.buttons.timeHeld(BUTTON_B) == 1)
{
modelIndex = (modelIndex + 1) % 4;
setModel(modelIndex);
}
gb.display.clear();
draw();
}

38
programs/gbmeta/palette.h Normal file
View file

@ -0,0 +1,38 @@
#ifndef PALETTE_H
#define PALETTE_H
const uint8_t palette[768] = {
0,0,0,16,16,16,32,32,32,49,48,49,65,68,65,82,85,82,98,101,98,115,117,115,139,
137,139,156,153,156,172,170,172,189,186,189,205,206,205,222,222,222,238,238,238,
255,255,255,16,12,8,32,28,16,49,40,24,65,56,32,82,68,41,98,85,49,115,97,57,131,
113,65,148,125,74,164,141,82,180,153,90,197,170,98,213,182,106,230,198,115,246,
210,123,255,222,131,8,16,8,24,32,16,32,48,24,49,64,32,57,80,41,74,97,49,82,113,
57,98,129,65,106,145,74,123,161,82,131,178,90,148,194,98,156,210,106,172,226,
115,180,242,123,197,255,131,8,16,8,16,32,16,24,48,24,32,64,41,41,80,49,49,97,57,
57,113,65,65,129,82,74,145,90,82,161,98,90,178,106,98,194,123,106,210,131,115,
226,139,123,242,148,131,255,164,8,16,16,16,32,32,24,48,49,32,64,65,41,80,82,49,
97,98,57,113,115,65,129,131,74,145,148,82,161,164,90,178,180,98,194,197,106,210,
213,115,226,230,123,242,246,131,255,255,8,8,16,16,20,32,24,28,49,32,40,65,41,48,
82,49,60,98,57,68,115,65,80,131,74,89,148,82,101,164,90,109,180,98,121,197,106,
129,213,115,141,230,123,149,246,131,161,255,8,8,16,24,16,32,32,24,49,49,32,65,
57,40,82,74,48,98,82,56,115,98,64,131,115,72,148,123,80,164,139,89,180,148,97,
197,164,105,213,172,113,230,189,121,246,197,129,255,16,8,8,32,16,24,49,24,41,65,
32,49,82,40,65,98,48,82,115,56,90,131,64,106,148,72,123,164,80,131,180,89,148,
197,97,164,213,105,172,230,113,189,246,121,205,255,129,213,16,0,0,32,0,0,49,0,0,
65,0,0,82,0,0,98,0,0,115,0,0,131,0,0,148,0,0,164,0,0,180,0,0,197,0,0,213,0,0,
230,0,0,246,0,0,255,0,0,16,12,0,32,24,0,49,36,0,65,48,0,82,60,0,98,72,0,115,85,
0,131,97,0,148,109,0,164,121,0,180,133,0,197,145,0,213,157,0,230,170,0,246,182,
0,255,190,0,8,16,0,16,32,0,24,48,0,32,64,0,41,80,0,49,97,0,57,113,0,65,129,0,74,
145,0,82,161,0,90,178,0,98,194,0,106,210,0,115,226,0,123,242,0,131,255,0,0,16,0,
0,32,8,0,48,8,0,64,16,0,80,16,0,97,24,0,113,24,0,129,32,0,145,32,0,161,41,0,178,
41,0,194,49,0,210,49,0,226,57,0,242,57,0,255,65,0,16,16,0,32,32,0,48,49,0,64,65,
0,80,82,0,97,98,0,113,115,0,129,131,0,145,148,0,161,164,0,178,180,0,194,197,0,
210,213,0,226,230,0,242,246,0,255,255,0,4,16,0,8,32,0,12,49,0,16,65,0,20,82,0,
24,98,0,28,115,0,32,131,0,36,148,0,40,164,0,44,180,0,48,197,0,52,213,0,56,230,0,
60,246,0,64,255,8,0,16,16,0,32,24,0,49,32,0,65,41,0,82,49,0,98,57,0,115,74,0,
131,82,0,148,90,0,164,98,0,180,106,0,197,115,0,213,123,0,230,131,0,246,148,0,
255,16,0,8,32,0,16,49,0,32,65,0,41,82,0,49,98,0,65,115,0,74,131,0,90,148,0,98,
164,0,106,180,0,123,197,0,131,213,0,139,230,0,156,246,0,164,255,0,172
}; // level1Palette
#endif