assets.c 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  1. #include "assets.h"
  2. /*
  3. ██████
  4. ███ ███
  5. ███ ███
  6. ████████████
  7. ███
  8. */
  9. const Buffer sprite_4 =
  10. (Buffer){.width = 8, .height = 5, .data = (uint8_t[]){0xc, 0xa, 0x9, 0xf, 0x8}};
  11. /*
  12. ████████████
  13. ███
  14. ███
  15. ███
  16. ███
  17. */
  18. const Buffer sprite_7 =
  19. (Buffer){.width = 8, .height = 5, .data = (uint8_t[]){0xf, 0x8, 0x4, 0x2, 0x2}};
  20. /*
  21. ███ ███
  22. ███ ███ ███ ███
  23. ███ ███ ███
  24. ███ ███
  25. ███ ███
  26. ███ ███
  27. ███
  28. */
  29. const Buffer sprite_hearths =
  30. (Buffer){.width = 8, .height = 7, .data = (uint8_t[]){0x22, 0x55, 0x49, 0x41, 0x22, 0x14, 0x8}};
  31. /*
  32. ██████
  33. ███ ███
  34. ████████████
  35. ███ ███
  36. ███ ███
  37. */
  38. const Buffer sprite_A =
  39. (Buffer){.width = 8, .height = 5, .data = (uint8_t[]){0x6, 0x9, 0xf, 0x9, 0x9}};
  40. /*
  41. ███ ███ ███
  42. ███ ███ ███
  43. ███ ███ ███
  44. ███ ███ ███
  45. ███ ███ ███
  46. ███ ███ ███
  47. */
  48. const Buffer sprite_pattern_small =
  49. (Buffer){.width = 8, .height = 7, .data = (uint8_t[]){0x0, 0x54, 0x2a, 0x54, 0x2a, 0x54, 0x2a}};
  50. /*
  51. ███
  52. ███ ████████████
  53. ████████████████████████ ███
  54. ████████████████████████ ███ ███
  55. ███ ████████████ ███
  56. ███ ███
  57. ███ ███ ████████████ ███
  58. ███ ████████████████████████
  59. ████████████████████████
  60. ████████████ ███
  61. ███ ███
  62. ███ ████████████ ███ ███
  63. ████████████████████████ ███
  64. ████████████████████████ ███
  65. ███ ████████████ ███
  66. ███
  67. ███ ███ ███
  68. ███ ███ ███ ███
  69. ███ ███ ███ ███
  70. */
  71. const Buffer sprite_pattern_big = (Buffer){
  72. .width = 16,
  73. .height = 21,
  74. .data = (uint8_t[]){0x40, 0x0, 0xf2, 0x0, 0xfe, 0x9, 0xfe, 0x15, 0xf2, 0x8, 0x0,
  75. 0x0, 0x8, 0x1, 0x94, 0x27, 0xc8, 0x3f, 0xc0, 0x3f, 0x80, 0x27,
  76. 0x0, 0x0, 0x40, 0x8, 0xf2, 0x14, 0xfe, 0x9, 0xfe, 0x21, 0xf2,
  77. 0x10, 0x0, 0x10, 0x88, 0x10, 0x84, 0x12, 0x44, 0xa}};
  78. /*
  79. █████████████████████████████████████████████
  80. ███ ███
  81. █████████████████████████████████████████████ ███
  82. ███ ██████
  83. █████████████████████████████████████████████ ██████
  84. ███ █████████
  85. ███ ███ ███ ███ █████████
  86. ███ ███ ███ ███ █████████ █████████
  87. █████████████████████████████████████████████ █████████
  88. ███ ████████████
  89. ███ ███ ███ ███ ████████████
  90. ███ ███ ███ ███ █████████ ████████████
  91. ███████████████████████████████████████████████████████████████ ████████████
  92. ███ ███ ███████████████
  93. ███ ███ ███ ███ ██████ ███████████████
  94. ███ ███ ███ ███ █████████ █████████ ███████████████
  95. ███ ███ ███ ███ ███████████████ ███████████████ ███████████████
  96. ███ ███ ███ ███ █████████████████████ ██████ ██████████████████
  97. ███ ███ ███ ███ ███████████████ █████████ ██████████████████
  98. ███ ███ ███ █████████ █████████ ██████████████████
  99. ███ ███ █████████ ██████████████████
  100. ███ ████████████ ███████████████
  101. ███ ████████████ ███████████████
  102. ███ ███████████████████████████
  103. ███ ███████████████████████████
  104. ███ ███ ████████████████████████
  105. ███ █████████ ███ ███ ████████████████████████
  106. ███ ███████████████ ███ ███ ███ ████████████████████████
  107. ███ █████████████████████ ███ ███ ███ ████████████████████████
  108. ███ ███████████████ ███ ███ ███ █████████████████████
  109. ███ █████████ ███ ███ ███ █████████████████████
  110. ███ ███ ███ ███ █████████████████████
  111. ███ █████████████████████
  112. █████████████████████████████████████████████ ███████████████
  113. ███ ███████████████
  114. █████████████████████████████████████████████ ████████████
  115. ███ ███ ███ ███ ████████████
  116. ███ █████████
  117. █████████████████████████████████████████████ ██████
  118. ███ ███ ███ ███ ██████
  119. ███ ██████
  120. █████████████████████████████████████████████ ███
  121. ███ ███
  122. █████████████████████████████████████████████
  123. */
  124. const Buffer sprite_main_image = (Buffer){
  125. .width = 40,
  126. .height = 44,
  127. .data = (uint8_t[]){
  128. 0x0, 0xc0, 0xff, 0x1f, 0x0, 0x0, 0x20, 0x0, 0x20, 0x0, 0x0, 0xe0, 0xff, 0x2f, 0x0,
  129. 0x0, 0x10, 0x0, 0x30, 0x0, 0x0, 0xf0, 0xff, 0x37, 0x0, 0x0, 0x8, 0x0, 0x38, 0x0,
  130. 0x0, 0x28, 0x41, 0x38, 0x0, 0x0, 0xa8, 0xe2, 0x38, 0x0, 0x0, 0xf8, 0xff, 0x3b, 0x0,
  131. 0x0, 0x4, 0x0, 0x3c, 0x0, 0x0, 0x94, 0x20, 0x3c, 0x0, 0x0, 0x54, 0x71, 0x3c, 0x0,
  132. 0xf0, 0xff, 0xff, 0x3d, 0x0, 0x8, 0x0, 0x8, 0x3e, 0x0, 0x28, 0x41, 0x18, 0x3e, 0x0,
  133. 0xa8, 0xe2, 0x38, 0x3e, 0x0, 0xa8, 0xf2, 0xf9, 0x3e, 0x0, 0xa8, 0xfa, 0x1b, 0x3f, 0x0,
  134. 0xa8, 0xf2, 0x39, 0x3f, 0x0, 0x28, 0xe1, 0x38, 0x3f, 0x0, 0x8, 0x40, 0x38, 0x3f, 0x0,
  135. 0x8, 0x0, 0x78, 0x1f, 0x0, 0x8, 0x0, 0x78, 0x1f, 0x0, 0x8, 0x0, 0xf8, 0xf, 0x0,
  136. 0x8, 0x0, 0xf8, 0xf, 0x0, 0x8, 0x1, 0xf8, 0x7, 0x0, 0x88, 0x43, 0xfa, 0x7, 0x0,
  137. 0xc8, 0xa7, 0xfa, 0x7, 0x0, 0xe8, 0xaf, 0xfa, 0x7, 0x0, 0xc8, 0xa7, 0xfa, 0x3, 0x0,
  138. 0x88, 0xa3, 0xfa, 0x3, 0x0, 0x8, 0x41, 0xfa, 0x3, 0x0, 0x8, 0x0, 0xf8, 0x3, 0x0,
  139. 0xf0, 0xff, 0xf7, 0x1, 0x0, 0x10, 0x0, 0xf0, 0x1, 0x0, 0xe0, 0xff, 0xef, 0x1, 0x0,
  140. 0x20, 0x4, 0xe9, 0x1, 0x0, 0x20, 0x0, 0xe0, 0x0, 0x0, 0xc0, 0xff, 0xdf, 0x0, 0x0,
  141. 0x40, 0x8, 0xd2, 0x0, 0x0, 0x40, 0x0, 0xc0, 0x0, 0x0, 0x80, 0xff, 0xbf, 0x0, 0x0,
  142. 0x80, 0x0, 0x80, 0x0, 0x0, 0x0, 0xff, 0x7f, 0x0, 0x0}};
  143. /*
  144. ██████
  145. ███ ███
  146. ███ ███
  147. ███ ███
  148. ███ ███
  149. */
  150. const Buffer sprite_Q =
  151. (Buffer){.width = 8, .height = 5, .data = (uint8_t[]){0x6, 0x9, 0x9, 0x5, 0xa}};
  152. /*
  153. ██████
  154. ███ ███
  155. ███
  156. ███
  157. ████████████
  158. */
  159. const Buffer sprite_2 =
  160. (Buffer){.width = 8, .height = 5, .data = (uint8_t[]){0x6, 0x9, 0x4, 0x2, 0xf}};
  161. /*
  162. █████████
  163. ███
  164. ██████
  165. ███
  166. █████████
  167. */
  168. const Buffer sprite_3 =
  169. (Buffer){.width = 8, .height = 5, .data = (uint8_t[]){0x7, 0x8, 0x6, 0x8, 0x7}};
  170. /*
  171. ███ ███
  172. ███ ███ ███
  173. ███ ███ ███
  174. ███ ███ ███
  175. ███ ███
  176. */
  177. const Buffer sprite_10 =
  178. (Buffer){.width = 8, .height = 5, .data = (uint8_t[]){0x9, 0x15, 0x15, 0x15, 0x9}};
  179. /*
  180. ███ ███
  181. ███ ███
  182. ██████
  183. ███ ███
  184. ███ ███
  185. */
  186. const Buffer sprite_K =
  187. (Buffer){.width = 8, .height = 5, .data = (uint8_t[]){0x9, 0x5, 0x3, 0x5, 0x9}};
  188. /*
  189. ████████████
  190. ███
  191. █████████
  192. ███
  193. ████████████
  194. */
  195. const Buffer sprite_5 =
  196. (Buffer){.width = 8, .height = 5, .data = (uint8_t[]){0xf, 0x1, 0x7, 0x8, 0xf}};
  197. /*
  198. ██████
  199. ███
  200. █████████
  201. ███ ███
  202. ██████
  203. */
  204. const Buffer sprite_6 =
  205. (Buffer){.width = 8, .height = 5, .data = (uint8_t[]){0x6, 0x1, 0x7, 0x9, 0x6}};
  206. /*
  207. ██████
  208. ███ ███
  209. █████████
  210. ███
  211. ██████
  212. */
  213. const Buffer sprite_9 =
  214. (Buffer){.width = 8, .height = 5, .data = (uint8_t[]){0x6, 0x9, 0xe, 0x8, 0x6}};
  215. /*
  216. ███
  217. ███ ███
  218. ███ ███
  219. ███ ███
  220. ███ ███
  221. ███ ███
  222. ███
  223. */
  224. const Buffer sprite_diamonds =
  225. (Buffer){.width = 8, .height = 7, .data = (uint8_t[]){0x8, 0x14, 0x22, 0x41, 0x22, 0x14, 0x8}};
  226. /*
  227. ████████████
  228. ███ ███
  229. ████████████
  230. ███ ███
  231. ████████████
  232. */
  233. const Buffer sprite_8 =
  234. (Buffer){.width = 8, .height = 5, .data = (uint8_t[]){0xf, 0x9, 0xf, 0x9, 0xf}};
  235. /*
  236. ███
  237. ███
  238. ███
  239. ███ ███
  240. ██████
  241. */
  242. const Buffer sprite_J =
  243. (Buffer){.width = 8, .height = 5, .data = (uint8_t[]){0x8, 0x8, 0x8, 0x9, 0x6}};
  244. /*
  245. ███
  246. █████████
  247. ███████████████
  248. █████████████████████
  249. ██████ ███ ██████
  250. ███
  251. █████████
  252. */
  253. const Buffer sprite_spades =
  254. (Buffer){.width = 8, .height = 7, .data = (uint8_t[]){0x8, 0x1c, 0x3e, 0x7f, 0x6b, 0x8, 0x1c}};
  255. /*
  256. ████████████ ████████████ ███ ███
  257. ██████████████████ ███ ███ ███ ███
  258. ████████████████████████ ███ █████████ █████████ ███ ████████████
  259. ████████████████████████ ██████ ███ ███ ███ ██████ ███
  260. ████████████████████████ ██████ ███ ████████████ ███ ███
  261. ████████████████████████ ███ ███ ███ ███ ███ ███
  262. ██████████████████ ███ ███ ███ ███ ██████ ███ ███
  263. ████████████ ████████████ ██████ █████████ ███ ███ ██████
  264. */
  265. const Buffer sprite_start = (Buffer){
  266. .width = 32,
  267. .height = 8,
  268. .data = (uint8_t[]){0x3c, 0x78, 0x2, 0x40, 0x7e, 0x84, 0x2, 0x40, 0xff, 0x4, 0xe7,
  269. 0xf4, 0xff, 0x18, 0x12, 0x4d, 0xff, 0x60, 0xe2, 0x45, 0xff, 0x80,
  270. 0x12, 0x45, 0x7e, 0x84, 0x92, 0x45, 0x3c, 0x78, 0x76, 0xc5}};
  271. /*
  272. ███ ███ ███ ███ ████████████ ███ ███
  273. ███ ███ ███ ███ ██████████████████ ███ ███
  274. ███ ███ █████████ ███ ████████████ ████████████████████████ █████████ █████████ ████████████ █████████ ███ ███ ███ █████████
  275. ███████████████ ███ ███ ███ ███ ███ ████████████████████████ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
  276. ███ ███ ███ ███ ███ ███ ███ ████████████████████████ ███ ███ ███ █████████ ███ ███ ███ ███ ███ ███████████████
  277. ███ ███ ███ ███ ███ ███ ███ ██████████████████ ███ ███ ███ ██████ ███ ███ ██████ ███
  278. ███ ███ █████████ ███ ████████████ ████████████ ██████ █████████ ████████████ █████████ ███ ██████ ████████████
  279. */
  280. const Buffer sprite_solve = (Buffer){
  281. .width = 72,
  282. .height = 7,
  283. .data = (uint8_t[]){0x11, 0x10, 0x8, 0xf, 0x2, 0x0, 0x0, 0x1, 0x0, 0x11, 0x10,
  284. 0x88, 0x1f, 0x2, 0x0, 0x0, 0x1, 0x0, 0x91, 0x13, 0xcf, 0x3f,
  285. 0xe7, 0xc0, 0x3b, 0x9, 0x1d, 0x5f, 0x94, 0xc8, 0x3f, 0x12, 0x21,
  286. 0x44, 0x91, 0x22, 0x51, 0x94, 0xc8, 0x3f, 0x12, 0xc1, 0x45, 0x91,
  287. 0x3e, 0x51, 0x94, 0x88, 0x1f, 0x12, 0x1, 0x46, 0x61, 0x2, 0x91,
  288. 0x13, 0xf, 0xf, 0xe6, 0xe0, 0x39, 0x61, 0x3c}};
  289. /*
  290. █████████
  291. █████████
  292. ██████ ███ ██████
  293. █████████████████████
  294. ██████ ███ ██████
  295. ███
  296. █████████
  297. */
  298. const Buffer sprite_clubs =
  299. (Buffer){.width = 8, .height = 7, .data = (uint8_t[]){0x1c, 0x1c, 0x6b, 0x7f, 0x6b, 0x8, 0x1c}};
  300. /*
  301. ██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
  302. ███ ███
  303. ███ ███
  304. ███ ███████████████ ██████ ██████ ███ ██████ ███
  305. ███ █████████████████████ ██████ ██████ ██████ ██████ ███
  306. ███ █████████ █████████ ██████ ██████ ██████ ██████ ███
  307. ███ ██████ ██████ ██████ ██████ ███
  308. ███ ██████ ████████████ ██████ ██████ ███████████████ ███████████████ ██████ ██████ ██████ █████████ ███
  309. ███ █████████ ██████████████████ ██████ ██████ ███████████████ ██████████████████ ██████ ███████████████ ███████████████ ███
  310. ███ ███████████████ █████████ █████████ ██████ ██████ ██████ ██████ ██████ ██████ ██████ ██████ ██████ ███
  311. ███ ███████████████ ██████ ██████ ██████ ██████ ██████ ██████ ██████ ██████ ██████ ██████ ███
  312. ███ █████████ ██████ ██████ ██████ ██████ ██████ ████████████ ██████ ██████ █████████████████████ ███
  313. ███ ██████ ██████ ██████ ██████ ██████ ██████ ██████ ██████████████████ ██████ ██████ █████████████████████ ███
  314. ███ ██████ ██████ ██████ ██████ ██████ ██████ ██████ █████████ ██████ ██████ ██████ ██████ ███
  315. ███ █████████ █████████ █████████ █████████ ██████ ██████ ██████ ██████ ██████ ██████ ██████ ██████ ██████ ███
  316. ███ █████████████████████ ██████████████████ ██████ ██████ ████████████ █████████████████████ ██████ ██████ ███████████████ ███
  317. ███ ███████████████ ████████████ ██████ ██████ █████████ █████████ ██████ ██████ ██████ █████████ ███
  318. ███ ███
  319. ███ ███
  320. ██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
  321. ███ ███
  322. ███ ███ ███ ███ █████████ ███ ███ ███
  323. ███ ███ ███ ███ ███ ███ █████████ █████████ ███ ███ █████████ ███ ███
  324. ███ ███ ███ ███ ███ ███████████████ ██████ ███ ██████ ███ ██████ ███ ███ ███ ███ ███ ███ █████████ ███ ███ ███
  325. ███ ███ ███ ███ █████████████████████ █████████████████████ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
  326. ███ ███ ███ ███ ██████ ███ ██████ ██████ ███ ██████ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
  327. ███ ███ ███ ███ ███ ███ ███ ██████ ███ █████████ ███ ███ ███ ███ ███
  328. ███ ███ █████████ █████████ ███ ███
  329. ████████████████████████████████████████████████████████████████████████████████████████████████
  330. */
  331. const Buffer sprite_logo = (Buffer){
  332. .width = 72,
  333. .height = 29,
  334. .data = (uint8_t[]){
  335. 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0,
  336. 0x0, 0x0, 0x20, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0xc1, 0x7, 0x0,
  337. 0x63, 0x8, 0x0, 0x3, 0x0, 0x20, 0xe1, 0xf, 0x0, 0x63, 0xc, 0x0, 0x3, 0x0, 0x20,
  338. 0x71, 0x1c, 0x0, 0x63, 0xc, 0x0, 0x3, 0x0, 0x20, 0x31, 0x18, 0x0, 0x3, 0xc, 0x0,
  339. 0x0, 0x0, 0x20, 0x31, 0x0, 0xf, 0x63, 0x3e, 0x1f, 0x63, 0xe3, 0x20, 0x71, 0x80, 0x1f,
  340. 0x63, 0x3e, 0x3f, 0xe3, 0xf3, 0x21, 0xe1, 0xc3, 0x39, 0x63, 0x8c, 0x31, 0x63, 0x18, 0x23,
  341. 0x81, 0xcf, 0x30, 0x63, 0xc, 0x30, 0x63, 0x18, 0x23, 0x1, 0xdc, 0x30, 0x63, 0xc, 0x3c,
  342. 0x63, 0xf8, 0x23, 0x31, 0xd8, 0x30, 0x63, 0xc, 0x3f, 0x63, 0xf8, 0x23, 0x31, 0xd8, 0x30,
  343. 0x63, 0x8c, 0x33, 0x63, 0x18, 0x20, 0x71, 0xdc, 0x39, 0x63, 0x8c, 0x31, 0x63, 0x18, 0x23,
  344. 0xe1, 0x8f, 0x1f, 0x63, 0xbc, 0x3f, 0x63, 0xf0, 0x21, 0xc1, 0x7, 0xf, 0x63, 0x38, 0x37,
  345. 0x63, 0xe0, 0x20, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x1, 0x0, 0x0,
  346. 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f,
  347. 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x2, 0x44, 0x10, 0x10, 0x38, 0x4, 0x0,
  348. 0x0, 0x8, 0x2, 0xaa, 0x28, 0x38, 0x38, 0x14, 0xe0, 0x0, 0x4, 0x2, 0x92, 0x44, 0x7c,
  349. 0xd6, 0x34, 0x25, 0x89, 0xae, 0x2, 0x82, 0x82, 0xfe, 0xfe, 0x54, 0x25, 0x55, 0xa5, 0x2,
  350. 0x44, 0x44, 0xd6, 0xd6, 0x54, 0x22, 0x55, 0x45, 0x2, 0x28, 0x28, 0x10, 0x10, 0x34, 0xe2,
  351. 0x88, 0x44, 0x2, 0x10, 0x10, 0x38, 0x38, 0x4, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0,
  352. 0x0, 0xfc, 0xff, 0xff, 0xff, 0x3}};