pacman from dindinx
[soft/lpc122x/tigp] / pacman / data.h
1 /****************************************************************************
2  *   apps/.*./data.h
3  *
4  * LPC1224/SSD1306 implementation of the famous pacman game
5  * graphic data file
6  *
7  * Copyright 2017 Nathael Pajani <nathael.pajani@ed3l.fr>
8  *
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation, either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
22  *
23  *************************************************************************** */
25 #ifndef DATA_H
26 #define DATA_H
28 enum FontEntries
29 {
30   F_BLANK,
32   F_DIGIT_0,
33   F_DIGIT_1,
34   F_DIGIT_2,
35   F_DIGIT_3,
36   F_DIGIT_4,
37   F_DIGIT_5,
38   F_DIGIT_6,
39   F_DIGIT_7,
40   F_DIGIT_8,
41   F_DIGIT_9,
43   F_GHOST_STILL,
44   F_GHOST_LEFT,
45   F_GHOST_RIGHT,
46   F_GHOST_UP,
47   F_GHOST_DOWN,
48   F_GHOST_FRIGHTENED,
49   F_GHOST_MASK,
50   F_GHOST_EYES,
52   F_PACMAN_LEFT_0,
53   F_PACMAN_LEFT_1,
54   F_PACMAN_LEFT_2,
55   F_PACMAN_LEFT_3,
56   F_PACMAN_RIGHT_0,
57   F_PACMAN_RIGHT_1,
58   F_PACMAN_RIGHT_2,
59   F_PACMAN_RIGHT_3,
60   F_PACMAN_UP_0,
61   F_PACMAN_UP_1,
62   F_PACMAN_UP_2,
63   F_PACMAN_UP_3,
64   F_PACMAN_DOWN_0,
65   F_PACMAN_DOWN_1,
66   F_PACMAN_DOWN_2,
67   F_PACMAN_DOWN_3,
69   F_CHERRY,
70 };
72 static const uint8_t font[] =
73 {
74   // Blank
75   0b00000000,
76   0b00000000,
77   0b00000000,
78   0b00000000,
79   0b00000000,
80   0b00000000,
81   0b00000000,
82   0b00000000,
83   // Digit0
84   // 0
85   0b00000000,
86   0b01111100,
87   0b11111110,
88   0b10110010,
89   0b10011010,
90   0b11111110,
91   0b01111100,
92   0b00000000,
93   // 1
94   0b00000000,
95   0b10000000,
96   0b10000100,
97   0b11111110,
98   0b11111110,
99   0b10000000,
100   0b10000000,
101   0b00000000,
102   // 2
103   0b00000000,
104   0b10000100,
105   0b11000110,
106   0b11100010,
107   0b10110010,
108   0b10011110,
109   0b10001100,
110   0b00000000,
111   // 3
112   0b00000000,
113   0b01000100,
114   0b11000110,
115   0b10010010,
116   0b10010010,
117   0b11111110,
118   0b01101100,
119   0b00000000,
120   // 4
121   0b00000000,
122   0b00110000,
123   0b00111000,
124   0b00101100,
125   0b11111110,
126   0b11111110,
127   0b00100000,
128   0b00000000,
129   // 5
130   0b00000000,
131   0b01001110,
132   0b11001110,
133   0b10001010,
134   0b10001010,
135   0b11111010,
136   0b01110010,
137   0b00000000,
138   // 6
139   0b00000000,
140   0b01111000,
141   0b11111100,
142   0b10010110,
143   0b10010010,
144   0b11110010,
145   0b01100000,
146   0b00000000,
147   // 7
148   0b00000000,
149   0b00000010,
150   0b11100010,
151   0b11110010,
152   0b00011010,
153   0b00001110,
154   0b00000110,
155   0b00000000,
156   // 8
157   0b00000000,
158   0b01101100,
159   0b11111110,
160   0b10010010,
161   0b10010010,
162   0b11111110,
163   0b01101100,
164   0b00000000,
165   // 9
166   0b00000000,
167   0b00001100,
168   0b10011110,
169   0b10010010,
170   0b11010010,
171   0b01111110,
172   0b00111100,
173   0b00000000,
174   // Still Ghost
175   0b01111100,
176   0b00111110,
177   0b01110111,
178   0b00111111,
179   0b01110111,
180   0b00111110,
181   0b01111100,
182   0b00000000,
183   // Left looking ghost
184   0b01111100,
185   0b00110110,
186   0b01111111,
187   0b00110111,
188   0b01111111,
189   0b00111110,
190   0b01111100,
191   0b00000000,
192   // Right looking ghost
193   0b01111100,
194   0b00111110,
195   0b01111111,
196   0b00110111,
197   0b01111111,
198   0b00110110,
199   0b01111100,
200   0b00000000,
201   // Up looking ghost
202   0b01111100,
203   0b00111110,
204   0b01111011,
205   0b00111111,
206   0b01111011,
207   0b00111110,
208   0b01111100,
209   0b00000000,
210   // Down looking ghost
211   0b01111100,
212   0b00111110,
213   0b01101111,
214   0b00111111,
215   0b01101111,
216   0b00111110,
217   0b01111100,
218   0b00000000,
219   // Frightened ghost
220   0b01111100,
221   0b00100010,
222   0b01001001,
223   0b00100001,
224   0b01001001,
225   0b00100010,
226   0b01111100,
227   0b00000000,
228   // Ghost mask
229   0b01111100,
230   0b00111110,
231   0b01111111,
232   0b00111111,
233   0b01111111,
234   0b00111110,
235   0b01111100,
236   0b00000000,
237   // Ghost eyes
238   0b00000000,
239   0b00011100,
240   0b00010100,
241   0b00011100,
242   0b00010100,
243   0b00011100,
244   0b00000000,
245   0b00000000,
246   
247   // Pacman
248   // Pacman left 0
249   0b00111100,
250   0b01111110,
251   0b11111111,
252   0b11111111,
253   0b11111111,
254   0b11111111,
255   0b01111110,
256   0b00111100,
257   // Pacman left 1
258   0b00100100,
259   0b01100110,
260   0b11100111,
261   0b11100111,
262   0b11111111,
263   0b11111111,
264   0b01111110,
265   0b00111100,
266   // Pacman left 2
267   0b00000000,
268   0b01000010,
269   0b11000011,
270   0b11100111,
271   0b11100111,
272   0b11111111,
273   0b01111110,
274   0b00111100,
275   // Pacman left 3
276   0b00100100,
277   0b01100110,
278   0b11100111,
279   0b11100111,
280   0b11111111,
281   0b11111111,
282   0b01111110,
283   0b00111100,
284   // Pacman right 0
285   0b00111100,
286   0b01111110,
287   0b11111111,
288   0b11111111,
289   0b11111111,
290   0b11111111,
291   0b01111110,
292   0b00111100,
293   // Pacman right 1
294   0b00111100,
295   0b01111110,
296   0b11111111,
297   0b11111111,
298   0b11100111,
299   0b11100111,
300   0b01100110,
301   0b00100100,
302   // Pacman right 2
303   0b00111100,
304   0b01111110,
305   0b11111111,
306   0b11100111,
307   0b11100111,
308   0b11000011,
309   0b01000010,
310   0b00000000,
311   // Pacman right 3
312   0b00111100,
313   0b01111110,
314   0b11111111,
315   0b11111111,
316   0b11100111,
317   0b11100111,
318   0b01100110,
319   0b00100100,
320   // Pacman up 0
321   0b00111100,
322   0b01111110,
323   0b11111111,
324   0b11111111,
325   0b11111111,
326   0b11111111,
327   0b01111110,
328   0b00111100,
329   // Pacman up 1
330   0b00111100,
331   0b01111110,
332   0b11111111,
333   0b11110000,
334   0b11110000,
335   0b11111111,
336   0b01111110,
337   0b00111100,
338   // Pacman up 2
339   0b00111100,
340   0b01111110,
341   0b11111000,
342   0b11100000,
343   0b11100000,
344   0b11111000,
345   0b01111110,
346   0b00111100,
347   // Pacman up 3
348   0b00111100,
349   0b01111110,
350   0b11111111,
351   0b11110000,
352   0b11110000,
353   0b11111111,
354   0b01111110,
355   0b00111100,
356   // Pacman down 0
357   0b00111100,
358   0b01111110,
359   0b11111111,
360   0b11111111,
361   0b11111111,
362   0b11111111,
363   0b01111110,
364   0b00111100,
365   // Pacman down 1
366   0b00111100,
367   0b01111110,
368   0b11111111,
369   0b00001111,
370   0b00001111,
371   0b11111111,
372   0b01111110,
373   0b00111100,
374   // Pacman down 2
375   0b00111100,
376   0b01111110,
377   0b00011111,
378   0b00000111,
379   0b00000111,
380   0b00011111,
381   0b01111110,
382   0b00111100,
383   // Pacman down 3
384   0b00111100,
385   0b01111110,
386   0b11111111,
387   0b00001111,
388   0b00001111,
389   0b11111111,
390   0b01111110,
391   0b00111100,
393   // Fruits
394   // Cherry
395   0b01100000,
396   0b11110000,
397   0b01101100,
398   0b00000010,
399   0b01100010,
400   0b11111001,
401   0b01100111,
402   0b00000001,
404 };
406 // "3D" isometric pacman (5 positions per direction, 4 directions, with mask)
407 static const uint8_t pacmania_nw_01_mask[] =
409   0b00000000,
410   0b00000000,
411   0b00111000,
412   0b11111100,
413   0b11111110,
414   0b11111110,
415   0b11111111,
416   0b11111111,
418   0b11111111,
419   0b11111111,
420   0b11111110,
421   0b11111110,
422   0b11111100,
423   0b11111000,
424   0b11110000,
425   0b11000000,
427   0b00000000,
428   0b00000000,
429   0b00000000,
430   0b00100000,
431   0b01110001,
432   0b01110011,
433   0b11111111,
434   0b11111111,
436   0b11111111,
437   0b11111111,
438   0b01111111,
439   0b01111111,
440   0b00111111,
441   0b00011111,
442   0b00001111,
443   0b00000011
444 };
446 static const uint8_t pacmania_nw_01[] =
448   0b00000000,
449   0b00000000,
450   0b00000000,
451   0b00111000,
452   0b11111100,
453   0b11001000,
454   0b11001010,
455   0b11101110,
457   0b11111110,
458   0b11111110,
459   0b11111100,
460   0b11111100,
461   0b11111000,
462   0b11110000,
463   0b11000000,
464   0b00000000,
466   0b00000000,
467   0b00000000,
468   0b00000000,
469   0b00000000,
470   0b00100000,
471   0b00100001,
472   0b01110011,
473   0b01111011,
475   0b01111111,
476   0b01111111,
477   0b00111111,
478   0b00111111,
479   0b00011111,
480   0b00001111,
481   0b00000011,
482   0b00000000
483 };
485 static const uint8_t pacmania_nw_02_mask[] =
487   0b00000000,
488   0b01110000,
489   0b11111000,
490   0b11111100,
491   0b11111110,
492   0b11111110,
493   0b11111111,
494   0b11111111,
496   0b11111111,
497   0b11111111,
498   0b11111110,
499   0b11111110,
500   0b11111100,
501   0b11111000,
502   0b11110000,
503   0b11000000,
505   0b00000000,
506   0b00000000,
507   0b00000001,
508   0b00100011,
509   0b01110111,
510   0b01111111,
511   0b11111111,
512   0b11111111,
514   0b11111111,
515   0b11111111,
516   0b01111111,
517   0b01111111,
518   0b00111111,
519   0b00011111,
520   0b00001111,
521   0b00000011
522 };
524 static const uint8_t pacmania_nw_02[] =
526   0b00000000,
527   0b00000000,
528   0b01110000,
529   0b11011000,
530   0b11001000,
531   0b11101000,
532   0b11111110,
533   0b11111110,
535   0b11111110,
536   0b11111110,
537   0b11111100,
538   0b11111100,
539   0b11111000,
540   0b11110000,
541   0b11000000,
542   0b00000000,
544   0b00000000,
545   0b00000000,
546   0b00000000,
547   0b00000001,
548   0b00100011,
549   0b00110111,
550   0b01111111,
551   0b01111111,
553   0b01111111,
554   0b01111111,
555   0b00111111,
556   0b00111111,
557   0b00011111,
558   0b00001111,
559   0b00000011,
560   0b00000000
561 };
563 static const uint8_t pacmania_nw_03_mask[] =
565   0b11000000,
566   0b11110000,
567   0b11111000,
568   0b11111100,
569   0b11111110,
570   0b11111110,
571   0b11111111,
572   0b11111111,
574   0b11111111,
575   0b11111111,
576   0b11111110,
577   0b11111110,
578   0b11111100,
579   0b11111000,
580   0b11110000,
581   0b11000000,
583   0b00000000,
584   0b00000001,
585   0b00010011,
586   0b00111111,
587   0b01111111,
588   0b01111111,
589   0b11111111,
590   0b11111111,
592   0b11111111,
593   0b11111111,
594   0b01111111,
595   0b01111111,
596   0b00111111,
597   0b00011111,
598   0b00001111,
599   0b00000011
600 };
602 static const uint8_t pacmania_nw_03[] =
604   0b00000000,
605   0b11000000,
606   0b10010000,
607   0b11001000,
608   0b11001100,
609   0b11111100,
610   0b11111110,
611   0b11111110,
613   0b11111110,
614   0b11111110,
615   0b11111100,
616   0b11111100,
617   0b11111000,
618   0b11110000,
619   0b11000000,
620   0b00000000,
622   0b00000000,
623   0b00000000,
624   0b00000001,
625   0b00010011,
626   0b00110111,
627   0b00110111,
628   0b01111111,
629   0b01111111,
631   0b01111111,
632   0b01111111,
633   0b00111111,
634   0b00111111,
635   0b00011111,
636   0b00001111,
637   0b00000011,
638   0b00000000
639 };
641 static const uint8_t pacmania_nw_04_mask[] =
643   0b11000000,
644   0b11110000,
645   0b11111000,
646   0b11111100,
647   0b11111110,
648   0b11111110,
649   0b11111111,
650   0b11111111,
652   0b11111111,
653   0b11111111,
654   0b11111110,
655   0b11111110,
656   0b11111100,
657   0b11111000,
658   0b11110000,
659   0b11000000,
661   0b00000001,
662   0b00000011,
663   0b00010111,
664   0b00111111,
665   0b01111111,
666   0b01111111,
667   0b11111111,
668   0b11111111,
670   0b11111111,
671   0b11111111,
672   0b01111111,
673   0b01111111,
674   0b00111111,
675   0b00011111,
676   0b00001111,
677   0b00000011
678 };
680 static const uint8_t pacmania_nw_04[] =
682   0b00000000,
683   0b11000000,
684   0b10010000,
685   0b11001000,
686   0b11111100,
687   0b11111100,
688   0b11111110,
689   0b11111110,
691   0b11111110,
692   0b11111110,
693   0b11111100,
694   0b11111100,
695   0b11111000,
696   0b11110000,
697   0b11000000,
698   0b00000000,
700   0b00000000,
701   0b00000001,
702   0b00000011,
703   0b00010011,
704   0b00110111,
705   0b00110111,
706   0b01111111,
707   0b01111111,
709   0b01111111,
710   0b01111111,
711   0b00111111,
712   0b00111111,
713   0b00011111,
714   0b00001111,
715   0b00000011,
716   0b00000000
717 };
719 static const uint8_t pacmania_nw_05_mask[] =
721   0b11000000,
722   0b11110000,
723   0b11111000,
724   0b11111100,
725   0b11111110,
726   0b11111110,
727   0b11111111,
728   0b11111111,
730   0b11111111,
731   0b11111111,
732   0b11111110,
733   0b11111110,
734   0b11111100,
735   0b11111000,
736   0b11110000,
737   0b11000000,
739   0b00000001,
740   0b00001111,
741   0b00011111,
742   0b00111111,
743   0b01111111,
744   0b01111111,
745   0b11111111,
746   0b11111111,
748   0b11111111,
749   0b11111111,
750   0b01111111,
751   0b01111111,
752   0b00111111,
753   0b00011111,
754   0b00001111,
755   0b00000011
756 };
758 static const uint8_t pacmania_nw_05[] =
760   0b00000000,
761   0b11000000,
762   0b00110000,
763   0b11011000,
764   0b11111100,
765   0b11111100,
766   0b11111110,
767   0b11111110,
769   0b11111110,
770   0b11111110,
771   0b11111100,
772   0b11111100,
773   0b11111000,
774   0b11110000,
775   0b11000000,
776   0b00000000,
778   0b00000000,
779   0b00000001,
780   0b00001011,
781   0b00010111,
782   0b00110111,
783   0b00110111,
784   0b01111111,
785   0b01111111,
787   0b01111111,
788   0b01111111,
789   0b00111111,
790   0b00111111,
791   0b00011111,
792   0b00001111,
793   0b00000011,
794   0b00000000
795 };
797 static const uint8_t pacmania_se_01_mask[] =
799   0b11000000,
800   0b11110000,
801   0b11111000,
802   0b11111100,
803   0b11111110,
804   0b11111110,
805   0b11111111,
806   0b11111111,
808   0b11111111,
809   0b11111111,
810   0b11111110,
811   0b11111110,
812   0b11111100,
813   0b11111000,
814   0b11110000,
815   0b11000000,
817   0b00000011,
818   0b00001111,
819   0b00011111,
820   0b00111111,
821   0b01111111,
822   0b01111111,
823   0b11111111,
824   0b11111111,
826   0b11111111,
827   0b11111111,
828   0b01111111,
829   0b01111111,
830   0b00111111,
831   0b00011111,
832   0b00001111,
833   0b00000011
834 };
836 static const uint8_t pacmania_se_01[] =
838   0b00000000,
839   0b11000000,
840   0b11110000,
841   0b11111000,
842   0b11111100,
843   0b11111100,
844   0b11111110,
845   0b11111110,
847   0b11011110,
848   0b00011110,
849   0b00111100,
850   0b11001100,
851   0b10001000,
852   0b11110000,
853   0b11000000,
854   0b00000000,
856   0b00000000,
857   0b00000011,
858   0b00001111,
859   0b00011111,
860   0b00111111,
861   0b00111111,
862   0b01111111,
863   0b01110111,
865   0b01110111,
866   0b01110111,
867   0b00110111,
868   0b00111011,
869   0b00011011,
870   0b00001101,
871   0b00000010,
872   0b00000000
873 };
875 static const uint8_t pacmania_se_02_mask[] =
877   0b11000000,
878   0b11110000,
879   0b11111000,
880   0b11111100,
881   0b11111110,
882   0b11111110,
883   0b11111111,
884   0b11111111,
886   0b11111111,
887   0b11111111,
888   0b11111110,
889   0b11111110,
890   0b11111100,
891   0b11111000,
892   0b11110000,
893   0b11000000,
895   0b00000011,
896   0b00001111,
897   0b00011111,
898   0b00111111,
899   0b01111111,
900   0b01111111,
901   0b11111111,
902   0b11111111,
904   0b11111111,
905   0b11111111,
906   0b01111111,
907   0b01111111,
908   0b00111111,
909   0b00011111,
910   0b00001101,
911   0b00000000
912 };
914 static const uint8_t pacmania_se_02[] =
916   0b00000000,
917   0b11000000,
918   0b11110000,
919   0b11111000,
920   0b11111100,
921   0b11111100,
922   0b11111110,
923   0b11101110,
925   0b10001110,
926   0b10011110,
927   0b11100100,
928   0b11000100,
929   0b11111000,
930   0b11110000,
931   0b01000000,
932   0b00000000,
934   0b00000000,
935   0b00000011,
936   0b00001111,
937   0b00011111,
938   0b00111111,
939   0b00111111,
940   0b01111111,
941   0b01110111,
943   0b01110111,
944   0b01110011,
945   0b00110011,
946   0b00110001,
947   0b00011001,
948   0b00001100,
949   0b00000000,
950   0b00000000
951 };
953 static const uint8_t pacmania_se_03_mask[] =
955   0b11000000,
956   0b11110000,
957   0b11111000,
958   0b11111100,
959   0b11111110,
960   0b11111110,
961   0b11111111,
962   0b11111111,
964   0b11111111,
965   0b11111111,
966   0b11111110,
967   0b11111110,
968   0b11111100,
969   0b11111000,
970   0b01110000,
971   0b00000000,
973   0b00000011,
974   0b00001111,
975   0b00011111,
976   0b00111111,
977   0b01111111,
978   0b01111111,
979   0b11111111,
980   0b11111111,
982   0b11111111,
983   0b11111111,
984   0b01111111,
985   0b01111111,
986   0b00111111,
987   0b00011100,
988   0b00000000,
989   0b00000000
990 };
992 static const uint8_t pacmania_se_03[] =
994   0b00000000,
995   0b11000000,
996   0b11110000,
997   0b11111000,
998   0b11111100,
999   0b11111100,
1000   0b11111110,
1001   0b11101110,
1003   0b10001110,
1004   0b10011110,
1005   0b11100100,
1006   0b11000100,
1007   0b11111000,
1008   0b01110000,
1009   0b00000000,
1010   0b00000000,
1012   0b00000000,
1013   0b00000011,
1014   0b00001111,
1015   0b00011111,
1016   0b00111111,
1017   0b00111111,
1018   0b01110111,
1019   0b01110011,
1021   0b01100011,
1022   0b01100001,
1023   0b00100001,
1024   0b00100000,
1025   0b00011100,
1026   0b00000000,
1027   0b00000000,
1028   0b00000000
1029 };
1031 static const uint8_t pacmania_se_04_mask[] =
1033   0b11000000,
1034   0b11110000,
1035   0b11111000,
1036   0b11111100,
1037   0b11111110,
1038   0b11111110,
1039   0b11111111,
1040   0b11111111,
1042   0b11111111,
1043   0b11111111,
1044   0b11111110,
1045   0b11111110,
1046   0b11111100,
1047   0b01111000,
1048   0b00110000,
1049   0b00000000,
1051   0b00000011,
1052   0b00001111,
1053   0b00011111,
1054   0b00111111,
1055   0b01111111,
1056   0b01111111,
1057   0b11111111,
1058   0b11111111,
1060   0b11111111,
1061   0b11111111,
1062   0b01111111,
1063   0b01111111,
1064   0b00111110,
1065   0b00011100,
1066   0b00000000,
1067   0b00000000
1068 };
1070 static const uint8_t pacmania_se_04[] =
1072   0b00000000,
1073   0b11000000,
1074   0b11110000,
1075   0b11111000,
1076   0b11111100,
1077   0b11111100,
1078   0b11110110,
1079   0b11000110,
1081   0b11001110,
1082   0b11111010,
1083   0b11110000,
1084   0b01100100,
1085   0b01111000,
1086   0b00110000,
1087   0b00000000,
1088   0b00000000,
1090   0b00000000,
1091   0b00000011,
1092   0b00001111,
1093   0b00011111,
1094   0b00111111,
1095   0b00111111,
1096   0b01110111,
1097   0b01100011,
1099   0b01100001,
1100   0b01100001,
1101   0b00100000,
1102   0b00100010,
1103   0b00011100,
1104   0b00000000,
1105   0b00000000,
1106   0b00000000
1107 };
1109 static const uint8_t pacmania_se_05_mask[] =
1111   0b11000000,
1112   0b11110000,
1113   0b11111000,
1114   0b11111100,
1115   0b11111110,
1116   0b11111110,
1117   0b11111111,
1118   0b11111111,
1120   0b11111111,
1121   0b11111111,
1122   0b11111110,
1123   0b00111110,
1124   0b00011100,
1125   0b00001000,
1126   0b00000000,
1127   0b00000000,
1129   0b00000011,
1130   0b00001111,
1131   0b00011111,
1132   0b00111111,
1133   0b01111111,
1134   0b01111111,
1135   0b11111111,
1136   0b11111111,
1138   0b11111111,
1139   0b11111111,
1140   0b01111111,
1141   0b01111111,
1142   0b00111110,
1143   0b00011100,
1144   0b00000000,
1145   0b00000000
1146 };
1148 static const uint8_t pacmania_se_05[] =
1150   0b00000000,
1151   0b11000000,
1152   0b11110000,
1153   0b11111000,
1154   0b11111100,
1155   0b11111100,
1156   0b11100110,
1157   0b11000110,
1159   0b01101110,
1160   0b00111010,
1161   0b00010000,
1162   0b00011100,
1163   0b00001000,
1164   0b00000000,
1165   0b00000000,
1166   0b00000000,
1168   0b00000000,
1169   0b00000011,
1170   0b00001111,
1171   0b00011111,
1172   0b00111111,
1173   0b00110011,
1174   0b01100001,
1175   0b01000000,
1177   0b01000000,
1178   0b01000000,
1179   0b00100001,
1180   0b00100010,
1181   0b00011100,
1182   0b00000000,
1183   0b00000000,
1184   0b00000000
1185 };
1187 // a 16x16 pacman for the intermission
1188 static const uint8_t big_pacman_0[] =
1190   0b11100000,
1191   0b11111000,
1192   0b11111100,
1193   0b11111110,
1194   0b11111110,
1195   0b11111111,
1196   0b11111111,
1197   0b11111111,
1199   0b11111111,
1200   0b11111111,
1201   0b11111111,
1202   0b11111110,
1203   0b11111110,
1204   0b11111100,
1205   0b11111000,
1206   0b11100000,
1208   0b00000111,
1209   0b00011111,
1210   0b00111111,
1211   0b01111111,
1212   0b01111111,
1213   0b11111111,
1214   0b11111111,
1215   0b11111111,
1217   0b11111111,
1218   0b11111111,
1219   0b11111111,
1220   0b01111111,
1221   0b01111111,
1222   0b00111111,
1223   0b00011111,
1224   0b00000111
1225 };
1227 static const uint8_t big_pacman_1[] =
1229   0b11100000,
1230   0b11111000,
1231   0b11111100,
1232   0b11111110,
1233   0b11111110,
1234   0b11111111,
1235   0b11111111,
1236   0b01111111,
1238   0b01111111,
1239   0b00111111,
1240   0b00111111,
1241   0b00011110,
1242   0b00011110,
1243   0b00001100,
1244   0b00001000,
1245   0b00000000,
1247   0b00000111,
1248   0b00011111,
1249   0b00111111,
1250   0b01111111,
1251   0b01111111,
1252   0b11111111,
1253   0b11111111,
1254   0b11111110,
1255   
1256   0b11111110,
1257   0b11111100,
1258   0b11111100,
1259   0b01111000,
1260   0b01111000,
1261   0b00110000,
1262   0b00010000,
1263   0b00000000
1264 };
1266 static const uint8_t big_pacman_2[] =
1268   0b11100000,
1269   0b11111000,
1270   0b11111100,
1271   0b11111110,
1272   0b11111110,
1273   0b11111111,
1274   0b01111111,
1275   0b00111111,
1276   
1277   0b00011111,
1278   0b00001111,
1279   0b00000111,
1280   0b00000010,
1281   0b00000000,
1282   0b00000000,
1283   0b00000000,
1284   0b00000000,
1286   0b00000111,
1287   0b00011111,
1288   0b00111111,
1289   0b01111111,
1290   0b01111111,
1291   0b11111111,
1292   0b11111110,
1293   0b11111100,
1295   0b11111000,
1296   0b11110000,
1297   0b11100000,
1298   0b01000000,
1299   0b00000000,
1300   0b00000000,
1301   0b00000000,
1302   0b00000000
1303 };
1305 static const uint8_t big_ghost_0[] =
1307   0b00000000,
1308   0b10000000,
1309   0b11110000,
1310   0b11111000,
1311   0b00111100,
1312   0b00011100,
1313   0b10011110,
1314   0b10111110,
1316   0b11111110,
1317   0b11111110,
1318   0b00111100,
1319   0b00011100,
1320   0b10011000,
1321   0b10110000,
1322   0b10000000,
1323   0b00000000,
1325   0b00000000,
1326   0b00111111,
1327   0b01111111,
1328   0b01111111,
1329   0b00111110,
1330   0b00011100,
1331   0b00111101,
1332   0b01111111,
1334   0b01111111,
1335   0b00111111,
1336   0b00011110,
1337   0b00111100,
1338   0b01111101,
1339   0b01111111,
1340   0b00111111,
1341   0b00000000
1342 };
1344 static const uint8_t big_ghost_1[] =
1346   0b00000000,
1347   0b10000000,
1348   0b11110000,
1349   0b11111000,
1350   0b00111100,
1351   0b00011100,
1352   0b10011110,
1353   0b10111110,
1355   0b11111110,
1356   0b11111110,
1357   0b00111100,
1358   0b00011100,
1359   0b10011000,
1360   0b10110000,
1361   0b10000000,
1362   0b00000000,
1364   0b00000000,
1365   0b01111111,
1366   0b00111111,
1367   0b00011111,
1368   0b00111110,
1369   0b01111100,
1370   0b01111101,
1371   0b00011111,
1373   0b00011111,
1374   0b01111111,
1375   0b01111110,
1376   0b00111100,
1377   0b00011101,
1378   0b00111111,
1379   0b01111111,
1380   0b00000000
1381 };
1383 static const uint8_t big_frightened_ghost_0[] =
1385   0b00000000,
1386   0b10000000,
1387   0b01110000,
1388   0b11001000,
1389   0b10100100,
1390   0b00100100,
1391   0b11000010,
1392   0b00000010,
1394   0b11000010,
1395   0b10100010,
1396   0b00100100,
1397   0b11000100,
1398   0b00001000,
1399   0b01110000,
1400   0b10000000,
1401   0b00000000,
1403   0b00000000,
1404   0b01111111,
1405   0b00100000,
1406   0b00010001,
1407   0b00100010,
1408   0b01000010,
1409   0b01100001,
1410   0b00010000,
1412   0b00010001,
1413   0b01100010,
1414   0b01000010,
1415   0b00100001,
1416   0b00010000,
1417   0b00100000,
1418   0b01111111,
1419   0b00000000
1420 };
1422 static const uint8_t big_frightened_ghost_1[] =
1424   0b00000000,
1425   0b10000000,
1426   0b01110000,
1427   0b11001000,
1428   0b10100100,
1429   0b00100100,
1430   0b11000010,
1431   0b00000010,
1433   0b11000010,
1434   0b10100010,
1435   0b00100100,
1436   0b11000100,
1437   0b00001000,
1438   0b01110000,
1439   0b10000000,
1440   0b00000000,
1442   0b00000000,
1443   0b00111111,
1444   0b01000000,
1445   0b01000001,
1446   0b00100010,
1447   0b00010010,
1448   0b00100001,
1449   0b01000000,
1451   0b01000001,
1452   0b00100010,
1453   0b00010010,
1454   0b00100001,
1455   0b01000000,
1456   0b01000000,
1457   0b00111111,
1458   0b00000000
1459 };
1461 static const uint32_t walls_mask[] =
1463   0b11111111111111111111111111111111, //  0
1464   0b11100000000000011000000000000111, //  1
1465   0b11101111011111011011111011110111, //  2
1466   0b11101111011111011011111011110111, //  3
1467   0b11101111011111011011111011110111, //  4
1468   0b11100000000000000000000000000111, //  5
1469   0b11101111011011111111011011110111, //  6
1470   0b11101111011011111111011011110111, //  7
1471   0b11100000011000011000011000000111, //  8
1472   0b11111111011111011011111011111111, //  9
1473   0b11111111011111011011111011111111, // 10
1474   0b11111111011000000000011011111111, // 11
1475   0b11111111011011100111011011111111, // 12
1476   0b11111111011010000001011011111111, // 13
1477   0b00000000000010000001000000000000, // 14
1478   0b11111111011011111111011011111111, // 15
1479   0b11111111011011111111011011111111, // 16
1480   0b11111111011000000000011011111111, // 17
1481   0b11111111011011111111011011111111, // 18
1482   0b11111111011011111111011011111111, // 19
1483   0b11100000000000011000000000000111, // 20
1484   0b11101111011111011011111011110111, // 21
1485   0b11101111011111011011111011110111, // 22
1486   0b11100011000000000000000011000111, // 23
1487   0b11111011011011111111011011011111, // 24
1488   0b11111011011011111111011011011111, // 25
1489   0b11100000011000011000011000000111, // 26
1490   0b11101111111111011011111111110111, // 27
1491   0b11101111111111011011111111110111, // 28
1492   0b11100000000000000000000000000111, // 29
1493   0b11111111111111111111111111111111  // 30
1494 };
1496 static const uint32_t all_pills[] =
1498   0b00000000000000000000000000000000, //  0
1499   0b00011111111111100111111111111000, //  1
1500   0b00010000100000100100000100001000, //  2
1501   0b00010000100000100100000100001000, //  3
1502   0b00010000100000100100000100001000, //  4
1503   0b00011111111111111111111111111000, //  5
1504   0b00010000100100000000100100001000, //  6
1505   0b00010000100100000000100100001000, //  7
1506   0b00011111100111100111100111111000, //  8
1507   0b00000000100000000000000100000000, //  9
1508   0b00000000100000000000000100000000, // 10
1509   0b00000000100000000000000100000000, // 11
1510   0b00000000100000000000000100000000, // 12
1511   0b00000000100000000000000100000000, // 13
1512   0b00000000100000000000000100000000, // 14
1513   0b00000000100000000000000100000000, // 15
1514   0b00000000100000000000000100000000, // 16
1515   0b00000000100000000000000100000000, // 17
1516   0b00000000100000000000000100000000, // 18
1517   0b00000000100000000000000100000000, // 19
1518   0b00011111111111100111111111111000, // 20
1519   0b00010000100000100100000100001000, // 21
1520   0b00010000100000100100000100001000, // 22
1521   0b00011100111111100111111100111000, // 23
1522   0b00000100100100000000100100100000, // 24
1523   0b00000100100100000000100100100000, // 25
1524   0b00011111100111100111100111111000, // 26
1525   0b00010000000000100100000000001000, // 27
1526   0b00010000000000100100000000001000, // 28
1527   0b00011111111111111111111111111000, // 29
1528   0b00000000000000000000000000000000  // 30
1529 };
1531 #endif