update
parent
37a3080b48
commit
556cc8ace0
449
src/gif_frames.h
449
src/gif_frames.h
|
@ -5,76 +5,24 @@ const uint16_t gif_frame_0[] = {
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5B0C, 0x5AEB,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31C7,
|
|
||||||
0x738E, 0x6B6D, 0x31A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x4A8A, 0x73CF, 0x73AE, 0x4A49, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8CD6,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x8CD6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xADB8, 0x19AE,
|
||||||
0x0000, 0x0000, 0x0000, 0x5AEC, 0x73AE, 0x73AE, 0x5ACB, 0x0000,
|
0x19AE, 0xADB8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0xCE38, 0xBDF6, 0x7453, 0x11F1, 0x3AF5,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x3AF5, 0x11F1, 0x7453, 0xBDF6, 0xCE38, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x3186, 0x5AEC, 0x632D, 0x632D,
|
0x0000, 0x0000, 0x0000, 0x4393, 0x12F8, 0x09D4, 0x008B, 0x1256,
|
||||||
0x5AEC, 0x3186, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x1256, 0x008B, 0x09D4, 0x12F8, 0x4393, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x01F6, 0x1A75, 0x4B12, 0x52F0, 0x098F,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4229, 0x6B4D,
|
0x098F, 0x52F0, 0x4B12, 0x1A75, 0x01F6, 0x0000, 0x0000, 0x0000,
|
||||||
0x530E, 0x530E, 0x6B4D, 0x4229, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0xBCF1, 0xEE56, 0xEE57, 0x0000, 0x63B3,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x63B3, 0x0000, 0xEE57, 0xEE56, 0xBCF1, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x3A08, 0x4249, 0x52AB, 0x6B6D, 0x5B0C,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x5AEC, 0x4B71, 0x5D9A, 0x5D9A, 0x4B71, 0x5AEC, 0x5B0C, 0x6B6D,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x52AB, 0x4249, 0x3A08, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x5B0C, 0x6B6E, 0x632D, 0x738E,
|
|
||||||
0x73AE, 0x5B0C, 0x52ED, 0x4CFA, 0x8F5F, 0x8F5F, 0x4CFA, 0x52ED,
|
|
||||||
0x5B0C, 0x73AE, 0x738E, 0x632D, 0x6B6E, 0x5B0C, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ACB, 0x73AE, 0x634D,
|
|
||||||
0x6B4D, 0x73AE, 0x73AE, 0x52AB, 0x4350, 0x4DFE, 0x565F, 0x565F,
|
|
||||||
0x4DFE, 0x4350, 0x52AB, 0x73AE, 0x73AE, 0x6B4D, 0x634D, 0x73AE,
|
|
||||||
0x5ACB, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4A6A, 0x5AEC,
|
|
||||||
0x6B4D, 0x5B0C, 0x632D, 0x6B6E, 0x6B4D, 0x4A6A, 0x2AF2, 0x4DDE,
|
|
||||||
0x563F, 0x563F, 0x4DDE, 0x2AF2, 0x4A6A, 0x6B4D, 0x6B6E, 0x632D,
|
|
||||||
0x5B0C, 0x6B4D, 0x5AEC, 0x4A6A, 0x0000, 0x0000, 0x0000, 0x4249,
|
|
||||||
0x5AEC, 0x5ACC, 0x5AEC, 0x52AB, 0x52AB, 0x5AEC, 0x52CC, 0x424A,
|
|
||||||
0x2290, 0x1BD8, 0x2C5A, 0x2C5A, 0x1BD8, 0x2290, 0x424A, 0x52CC,
|
|
||||||
0x5AEC, 0x52AB, 0x52AB, 0x5ACC, 0x5ACC, 0x5AEC, 0x4249, 0x0000,
|
|
||||||
0x0000, 0x31A7, 0x39E8, 0x39C8, 0x39C8, 0x31C8, 0x31C8, 0x39C8,
|
|
||||||
0x31C8, 0x3187, 0x2A6E, 0x0B77, 0x0B77, 0x0B77, 0x0B77, 0x2A6E,
|
|
||||||
0x3187, 0x31C8, 0x39C8, 0x31C8, 0x31C8, 0x39C8, 0x39C8, 0x39E8,
|
|
||||||
0x31A7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x3A2A, 0x2AAF, 0x1B12, 0x1B12,
|
|
||||||
0x2AAF, 0x3A2A, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2966, 0x4A6B,
|
|
||||||
0x4A8B, 0x4A8B, 0x4A6B, 0x2966, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x2146, 0x3A0A, 0x3A2B, 0x3A2B, 0x3A0A, 0x2146, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x29C9, 0x3A0A, 0x31E9, 0x31E9, 0x3A0A, 0x29C9,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x222C, 0x432F, 0x432F,
|
|
||||||
0x222C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2CDB,
|
|
||||||
0x973E, 0x973E, 0x2CDB, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x2CDB, 0x76DF, 0x76DF, 0x2CDB, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0BF9, 0x4DFE, 0x4DFE, 0x0BF9, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0398, 0x1C7A, 0x1C7A,
|
|
||||||
0x0398, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x03B8, 0x03B8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
|
@ -85,7 +33,6 @@ const uint16_t gif_frame_0[] = {
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint16_t gif_frame_1[] = {
|
const uint16_t gif_frame_1[] = {
|
||||||
|
@ -93,82 +40,27 @@ const uint16_t gif_frame_1[] = {
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2104, 0x2104,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x4A49, 0x4228, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8CD6,
|
||||||
0x0000, 0x18E3, 0x52AA, 0x4A69, 0x18E3, 0x0000, 0x0000, 0x0000,
|
0x8CD6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xADB8, 0x19AE,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x19AE, 0xADB8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x2965, 0x52AA, 0x528A, 0x2945, 0x0000,
|
0x0000, 0x0000, 0x0000, 0xCE38, 0xBDF6, 0x7453, 0x11F1, 0x3AF5,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x3AF5, 0x11F1, 0x7453, 0xBDF6, 0xCE38, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x4393, 0x12F8, 0x09D4, 0x008B, 0x1256,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31A6, 0x528A, 0x4A69,
|
0x1256, 0x008B, 0x09D4, 0x12F8, 0x4393, 0x0000, 0x0000, 0x0000,
|
||||||
0x3186, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0217, 0x1A75, 0x4B12, 0x52F0, 0x098F,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x098F, 0x52F0, 0x4B12, 0x1A75, 0x0217, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x39E7,
|
0x0000, 0x0000, 0x0000, 0xBCB1, 0xEE36, 0xEE16, 0x0000, 0x63B3,
|
||||||
0x39E7, 0x39E7, 0x39E7, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x63B3, 0x0000, 0xEE16, 0xEE36, 0xBCB1, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0841, 0x0020,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x2124, 0x4A49, 0x39C7, 0x39C7, 0x4A49, 0x2124, 0x0020, 0x0841,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2104, 0x2945, 0x39C7,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x52AA, 0x39E7, 0x39C7, 0x5AEB, 0x738E, 0x738E, 0x5AEB, 0x39C7,
|
|
||||||
0x39E7, 0x52AA, 0x39C7, 0x2945, 0x2104, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18E3, 0x4A49, 0x4228,
|
|
||||||
0x4208, 0x528A, 0x528A, 0x3186, 0x39E7, 0x6B6D, 0x73AE, 0x73AE,
|
|
||||||
0x6B6D, 0x39E7, 0x3186, 0x528A, 0x528A, 0x4208, 0x4A49, 0x4A49,
|
|
||||||
0x18E3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x4208,
|
|
||||||
0x528A, 0x39E7, 0x4A49, 0x528A, 0x4A69, 0x2945, 0x5AEB, 0x6B6D,
|
|
||||||
0x738E, 0x738E, 0x6B6D, 0x5AEB, 0x2945, 0x4A69, 0x528A, 0x4A49,
|
|
||||||
0x39E7, 0x528A, 0x4208, 0x0841, 0x0000, 0x0000, 0x0000, 0x0841,
|
|
||||||
0x2965, 0x39C7, 0x4228, 0x31A6, 0x4228, 0x4A49, 0x4228, 0x2124,
|
|
||||||
0x5ACB, 0x6B6D, 0x738E, 0x738E, 0x6B6D, 0x5ACB, 0x2124, 0x4228,
|
|
||||||
0x4A49, 0x4228, 0x31A6, 0x4228, 0x39C7, 0x2965, 0x0841, 0x0000,
|
|
||||||
0x0020, 0x2945, 0x31A6, 0x3186, 0x3186, 0x2965, 0x3186, 0x31A6,
|
|
||||||
0x3186, 0x2104, 0x52AA, 0x630C, 0x6B4D, 0x6B4D, 0x630C, 0x52AA,
|
|
||||||
0x2104, 0x3186, 0x31A6, 0x3186, 0x2965, 0x3186, 0x3186, 0x31A6,
|
|
||||||
0x2945, 0x0020, 0x0000, 0x1082, 0x10A2, 0x10A2, 0x10A2, 0x1082,
|
|
||||||
0x1082, 0x10A2, 0x1082, 0x0861, 0x18E3, 0x5AEB, 0x5AEB, 0x5AEB,
|
|
||||||
0x5AEB, 0x18E3, 0x0861, 0x1082, 0x10A2, 0x1082, 0x1082, 0x10A2,
|
|
||||||
0x10A2, 0x10A2, 0x1082, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18C3, 0x5ACB,
|
|
||||||
0x5ACB, 0x5ACB, 0x5ACB, 0x18C3, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0861, 0x2945, 0x2124, 0x2124, 0x2945, 0x0861, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x18C3, 0x2124, 0x2124, 0x18C3, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0x10A2, 0x10A2, 0x10A2,
|
|
||||||
0x10A2, 0x0861, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0861,
|
|
||||||
0x18C3, 0x18C3, 0x0861, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x5ACB, 0x632C, 0x632C, 0x5ACB, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x6B4D, 0x738E, 0x738E, 0x6B4D, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x630C, 0x6B6D, 0x6B6D,
|
|
||||||
0x630C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x630C,
|
|
||||||
0x6B4D, 0x6B4D, 0x630C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x632C, 0x630C, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x632C, 0x632C, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
|
@ -176,7 +68,6 @@ const uint16_t gif_frame_1[] = {
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint16_t gif_frame_2[] = {
|
const uint16_t gif_frame_2[] = {
|
||||||
|
@ -184,82 +75,27 @@ const uint16_t gif_frame_2[] = {
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4A6A, 0x4A69,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x6B6E, 0x6B4D, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8CD6,
|
||||||
0x0000, 0x4229, 0x73CF, 0x738E, 0x4208, 0x0000, 0x0000, 0x0000,
|
0x8CD6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xADB8, 0x19AE,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x19AE, 0xADB8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x52EB, 0x73CF, 0x73AE, 0x52AA, 0x0000,
|
0x0000, 0x0000, 0x0000, 0xCE38, 0xBDF6, 0x7453, 0x11F1, 0x3AF5,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x3AF5, 0x11F1, 0x7453, 0xBDF6, 0xCE38, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x4393, 0x12F8, 0x09D4, 0x008B, 0x1256,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5AEC, 0x738E, 0x738E,
|
0x1256, 0x008B, 0x09D4, 0x12F8, 0x4393, 0x0000, 0x0000, 0x0000,
|
||||||
0x5AEB, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0217, 0x1A75, 0x4B12, 0x52F0, 0x098F,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x098F, 0x52F0, 0x4B12, 0x1A75, 0x0217, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39C7, 0x630C,
|
0x0000, 0x0000, 0x0000, 0xBC70, 0xEE57, 0xEE57, 0x0000, 0x63B3,
|
||||||
0x630C, 0x630C, 0x630C, 0x39C7, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x63B3, 0x0000, 0xEE57, 0xEE57, 0xBC70, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2145, 0x39C7, 0x2986,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x4A6A, 0x6B6E, 0x4B2F, 0x4B2F, 0x6B6E, 0x4A6A, 0x2986, 0x39C7,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x2145, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4A6A, 0x528B, 0x5B0C,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x73AF, 0x632D, 0x5B0C, 0x43B3, 0x6E5D, 0x6E5D, 0x43B3, 0x5B0C,
|
|
||||||
0x632D, 0x73AF, 0x5B0C, 0x528B, 0x4A6A, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4A49, 0x6B6D, 0x6B4D,
|
|
||||||
0x632D, 0x73AE, 0x73AE, 0x5AEC, 0x530E, 0x4D5B, 0x873F, 0x873F,
|
|
||||||
0x4D5B, 0x530E, 0x5AEC, 0x73AE, 0x73AE, 0x632D, 0x6B6D, 0x6B6D,
|
|
||||||
0x4A49, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31C7, 0x632D,
|
|
||||||
0x73AE, 0x632D, 0x6B6D, 0x73AE, 0x738E, 0x528B, 0x4372, 0x4E1F,
|
|
||||||
0x563F, 0x563F, 0x4E1F, 0x4372, 0x528B, 0x738E, 0x73AE, 0x6B6D,
|
|
||||||
0x632D, 0x73AE, 0x632D, 0x31C7, 0x0000, 0x0000, 0x0000, 0x31A7,
|
|
||||||
0x52AB, 0x5B0C, 0x6B4D, 0x5AEC, 0x634D, 0x6B6E, 0x634D, 0x4A6A,
|
|
||||||
0x2B33, 0x4DDF, 0x565F, 0x565F, 0x4DDF, 0x2B33, 0x4A6A, 0x634D,
|
|
||||||
0x6B6E, 0x634D, 0x5AEC, 0x6B4D, 0x5B0C, 0x52AB, 0x31A7, 0x0000,
|
|
||||||
0x2125, 0x4A8B, 0x5AEC, 0x5AEC, 0x5AEC, 0x52AB, 0x52CC, 0x5AEC,
|
|
||||||
0x52CC, 0x424A, 0x1A91, 0x23F9, 0x349B, 0x349B, 0x23F9, 0x1A91,
|
|
||||||
0x424A, 0x52CC, 0x5AEC, 0x52CC, 0x52AB, 0x5AEC, 0x5AEC, 0x5AEC,
|
|
||||||
0x4A8B, 0x2125, 0x1905, 0x39E8, 0x3A09, 0x3A09, 0x3A09, 0x39E8,
|
|
||||||
0x39E8, 0x3A09, 0x39E8, 0x31C8, 0x228F, 0x0B97, 0x0B77, 0x0B77,
|
|
||||||
0x0B97, 0x228F, 0x31C8, 0x39E8, 0x3A09, 0x39E8, 0x39E8, 0x3A09,
|
|
||||||
0x3A09, 0x3A09, 0x39E8, 0x1905, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18E4, 0x3A2B, 0x1AD1,
|
|
||||||
0x1355, 0x1355, 0x1AD1, 0x3A2B, 0x18E4, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x31C8, 0x4A8B, 0x426B, 0x426B, 0x4A8B, 0x31C8, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x2126, 0x3A2B, 0x424B, 0x424B, 0x3A2B, 0x2126,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x31EA, 0x3A0A, 0x31EA, 0x31EA,
|
|
||||||
0x3A0A, 0x31EA, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2989, 0x320B,
|
|
||||||
0x320A, 0x320A, 0x320B, 0x2989, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x3C76, 0x7DD8, 0x7DD8, 0x3C76, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x03D9, 0x55FE, 0x9F9F, 0x9F9F, 0x55FE, 0x03D9,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x03B8, 0x353D, 0x5E5F, 0x5E5F,
|
|
||||||
0x353D, 0x03B8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x143A,
|
|
||||||
0x4DDE, 0x4DFE, 0x143A, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0398, 0x0BF9, 0x0BF9, 0x0398, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0398, 0x0398, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
|
@ -267,191 +103,8 @@ const uint16_t gif_frame_2[] = {
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint16_t gif_frame_3[] = {
|
const int num_frames = 3;
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
const int frame_width = 16;
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
const int frame_height = 16;
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4249, 0x4249,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x6B6D, 0x6B4D, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x3A08, 0x73AE, 0x738E, 0x39E7, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x52AB, 0x73CF, 0x73AE, 0x4A8A, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5B0C, 0x73AE, 0x73AE,
|
|
||||||
0x5AEB, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3186, 0x5AEC,
|
|
||||||
0x632D, 0x632D, 0x5AEC, 0x3186, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x4229, 0x6B6D, 0x5B0D, 0x5B0D, 0x6B6D, 0x4229, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39C7, 0x4229,
|
|
||||||
0x5B0C, 0x4A8A, 0x5ACB, 0x534F, 0x4C76, 0x4C76, 0x534F, 0x5ACB,
|
|
||||||
0x4A8A, 0x5B0C, 0x4229, 0x39C7, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4A8A, 0x632D,
|
|
||||||
0x630C, 0x6B8E, 0x73CF, 0x632D, 0x5B0D, 0x4477, 0x977F, 0x977F,
|
|
||||||
0x4477, 0x5B0D, 0x632D, 0x73CF, 0x6B8E, 0x630C, 0x632D, 0x4A8A,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ACB,
|
|
||||||
0x73CF, 0x632D, 0x634D, 0x73AE, 0x73AE, 0x52CB, 0x4B2F, 0x4DBD,
|
|
||||||
0x6EBF, 0x6EBF, 0x4DBD, 0x4B2F, 0x52CB, 0x73AE, 0x73AE, 0x632D,
|
|
||||||
0x632D, 0x73CF, 0x5ACB, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x4208, 0x634D, 0x73AE, 0x632D, 0x6B6E, 0x73AE, 0x738E, 0x4A8B,
|
|
||||||
0x3B73, 0x563F, 0x563F, 0x563F, 0x563F, 0x3B73, 0x4A8B, 0x738E,
|
|
||||||
0x73AE, 0x6B6E, 0x632D, 0x73AE, 0x634D, 0x4208, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x39E8, 0x52CB, 0x5AEC, 0x632D, 0x5AEC, 0x632D, 0x6B4D,
|
|
||||||
0x630D, 0x424A, 0x22F2, 0x459E, 0x563F, 0x563F, 0x459E, 0x22F2,
|
|
||||||
0x424A, 0x630D, 0x6B4D, 0x632D, 0x5AEC, 0x632D, 0x5AEC, 0x52CB,
|
|
||||||
0x39E8, 0x0000, 0x2145, 0x52AB, 0x5AEC, 0x5ACC, 0x52CC, 0x4A8B,
|
|
||||||
0x52CC, 0x5AEC, 0x52AB, 0x422A, 0x1A91, 0x1B98, 0x23F9, 0x23F9,
|
|
||||||
0x1B98, 0x1A91, 0x422A, 0x52AB, 0x5AEC, 0x52CC, 0x4A8B, 0x52CC,
|
|
||||||
0x5ACC, 0x5AEC, 0x52AB, 0x2145, 0x1904, 0x31C8, 0x39C8, 0x39C8,
|
|
||||||
0x31C8, 0x31A7, 0x31C8, 0x39C8, 0x31A7, 0x31A7, 0x228F, 0x0B77,
|
|
||||||
0x0B77, 0x0B77, 0x0B77, 0x228F, 0x31A7, 0x31A7, 0x39C8, 0x31C8,
|
|
||||||
0x31A7, 0x31C8, 0x39C8, 0x39C8, 0x31C8, 0x1904, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18E4,
|
|
||||||
0x3A2B, 0x22B1, 0x1334, 0x1334, 0x22B1, 0x3A2B, 0x18E4, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x31C8, 0x4A8B, 0x4A6B, 0x4A6B, 0x4A8B, 0x31C8,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x2125, 0x3A2B, 0x426B, 0x426B,
|
|
||||||
0x3A2B, 0x2125, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31A8, 0x31E9,
|
|
||||||
0x320A, 0x320A, 0x31E9, 0x31A8, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x29A9, 0x31EA, 0x31EA, 0x31EA, 0x31EA, 0x29A9, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x1AB0, 0x5433, 0x5433, 0x1AB0, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x353C, 0x9F9F, 0x9F9F,
|
|
||||||
0x353C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0398, 0x2CFC,
|
|
||||||
0x6E9F, 0x6E9F, 0x2CFC, 0x0398, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x1419, 0x4DFF, 0x4DFF, 0x1419, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0398, 0x24BB, 0x24BB, 0x0398, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0398, 0x0398,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0398, 0x0398, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
};
|
|
||||||
|
|
||||||
const uint16_t gif_frame_4[] = {
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4229, 0x228F,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x6B4D, 0x632D, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x3A2B, 0x73AE, 0x6B6D, 0x31C8, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x52AB, 0x73CF, 0x73AE, 0x4A8B, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5B0C, 0x73AE, 0x73AE,
|
|
||||||
0x52CB, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39E7, 0x5AEC,
|
|
||||||
0x630D, 0x630D, 0x5AEC, 0x39E7, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x4229, 0x6B4D, 0x5B0D, 0x5B0D, 0x6B4D, 0x4229, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x29A9, 0x3A2B, 0x4A8A,
|
|
||||||
0x632D, 0x5ACB, 0x5AEC, 0x0398, 0x459E, 0x459E, 0x0398, 0x5AEC,
|
|
||||||
0x5ACB, 0x632D, 0x4A8A, 0x3A2B, 0x29A9, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ACB, 0x632D,
|
|
||||||
0x630D, 0x738E, 0x73AE, 0x5B0C, 0x5B0D, 0x4DBD, 0x0000, 0x0000,
|
|
||||||
0x4DBD, 0x5B0D, 0x5B0C, 0x73AE, 0x738E, 0x630D, 0x632D, 0x5ACB,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5AEC,
|
|
||||||
0x73CF, 0x630D, 0x632D, 0x73AE, 0x6B6D, 0x52AB, 0x0398, 0x563F,
|
|
||||||
0x9F9F, 0x9F9F, 0x563F, 0x0398, 0x52AB, 0x738E, 0x73AE, 0x632D,
|
|
||||||
0x630D, 0x73CF, 0x5AEC, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x4249, 0x632D, 0x6B6D, 0x4B2F, 0x6B4D, 0x73AE, 0x6B6D, 0x426B,
|
|
||||||
0x22F2, 0x6EBF, 0x977F, 0x977F, 0x6EBF, 0x22F2, 0x426B, 0x6B6D,
|
|
||||||
0x73AE, 0x6B4D, 0x4B2F, 0x6B6D, 0x632D, 0x4249, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x228F, 0x5ACB, 0x5ACB, 0x5B0C, 0x52CB, 0x5AEC, 0x534F,
|
|
||||||
0x5ACB, 0x4249, 0x22B1, 0x353C, 0x563F, 0x563F, 0x353C, 0x22B1,
|
|
||||||
0x4249, 0x5ACB, 0x534F, 0x5AEC, 0x5ACB, 0x5B0C, 0x5ACB, 0x5ACB,
|
|
||||||
0x228F, 0x0000, 0x3186, 0x4A8A, 0x4A8B, 0x4A8B, 0x4A8B, 0x426B,
|
|
||||||
0x4A8A, 0x4A8B, 0x4A8A, 0x39E8, 0x1AB0, 0x1334, 0x0B77, 0x0B77,
|
|
||||||
0x1334, 0x1AB0, 0x39E8, 0x4A8A, 0x4A8B, 0x4A8A, 0x426B, 0x4A8B,
|
|
||||||
0x4A8B, 0x4A8B, 0x4A8A, 0x3186, 0x1904, 0x1904, 0x3186, 0x2145,
|
|
||||||
0x2145, 0x1904, 0x2145, 0x3186, 0x18E4, 0x31A7, 0x31EA, 0x3B73,
|
|
||||||
0x23F9, 0x23F9, 0x3B73, 0x31EA, 0x31A7, 0x18E4, 0x3186, 0x2145,
|
|
||||||
0x1904, 0x2145, 0x2145, 0x2145, 0x1904, 0x1904, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18E4,
|
|
||||||
0x31E9, 0x320A, 0x1A91, 0x1A91, 0x320A, 0x31E9, 0x18E4, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x39C7, 0x426B, 0x4A8A, 0x4A8A, 0x426B, 0x39C7,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x31A7, 0x31C8, 0x31EA, 0x31EA,
|
|
||||||
0x31C8, 0x31A7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31A8, 0x31C8,
|
|
||||||
0x31C8, 0x31C8, 0x31C8, 0x31A8, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x29A9, 0x39C8, 0x3A08, 0x3A08, 0x39C8, 0x29A9, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0B77, 0x4DFF, 0x4DFF, 0x0B77, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1419, 0x0000, 0x0000,
|
|
||||||
0x1419, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0398, 0x4C76,
|
|
||||||
0x6E9F, 0x6E9F, 0x4C76, 0x0398, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x1B98, 0x2CFC, 0x24BB, 0x1B98, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0398, 0x4477, 0x5433, 0x0398, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1B98, 0x1B98,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0398, 0x0398, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
||||||
};
|
|
||||||
|
|
||||||
const int num_frames = 5;
|
|
||||||
const int frame_width = 26;
|
|
||||||
const int frame_height = 27;
|
|
||||||
|
|
303
src/main.cpp
303
src/main.cpp
|
@ -4,6 +4,7 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
|
#include <Fonts/FreeMono9pt7b.h>
|
||||||
#pragma region Matrix Config
|
#pragma region Matrix Config
|
||||||
#define R1_PIN 4
|
#define R1_PIN 4
|
||||||
#define G1_PIN 5
|
#define G1_PIN 5
|
||||||
|
@ -29,7 +30,6 @@
|
||||||
#define PANE_HEIGHT PANEL_HEIGHT
|
#define PANE_HEIGHT PANEL_HEIGHT
|
||||||
#define NUM_PIXELS PANE_WIDTH *PANE_HEIGHT
|
#define NUM_PIXELS PANE_WIDTH *PANE_HEIGHT
|
||||||
|
|
||||||
|
|
||||||
#define COLOR_GREEN 0x07E0
|
#define COLOR_GREEN 0x07E0
|
||||||
#define COLOR_RED 0xF800
|
#define COLOR_RED 0xF800
|
||||||
#define COLOR_BLUE 0x001F
|
#define COLOR_BLUE 0x001F
|
||||||
|
@ -58,27 +58,29 @@ const int floatSize = sizeof(float);
|
||||||
const int SCREEN_WIDTH = 128;
|
const int SCREEN_WIDTH = 128;
|
||||||
const int SCREEN_HEIGHT = 128;
|
const int SCREEN_HEIGHT = 128;
|
||||||
const int PLAYER_WIDTH = 16;
|
const int PLAYER_WIDTH = 16;
|
||||||
const int PLAYER_HEIGHT = 8;
|
const int PLAYER_HEIGHT = 16;
|
||||||
const int ENEMY_WIDTH = 16;
|
const int ENEMY_WIDTH = 8;
|
||||||
const int ENEMY_HEIGHT = 8;
|
const int ENEMY_HEIGHT = 8;
|
||||||
const int BULLET_WIDTH = 2;
|
const int BULLET_WIDTH = 2;
|
||||||
const int BULLET_HEIGHT = 4;
|
const int BULLET_HEIGHT = 4;
|
||||||
const int NUM_ENEMIES = 10;
|
const int NUM_ENEMIES = 10;
|
||||||
|
const int MAX_BULLETS = 10; // Số lượng viên đạn tối đa
|
||||||
|
struct Player
|
||||||
struct Player {
|
{
|
||||||
int x, y;
|
int x, y;
|
||||||
bool alive;
|
bool alive;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Enemy {
|
struct Enemy
|
||||||
int x, y;
|
{
|
||||||
bool alive;
|
int x, y;
|
||||||
|
bool alive;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Bullet {
|
struct Bullet
|
||||||
int x, y;
|
{
|
||||||
bool active;
|
int x, y;
|
||||||
|
bool active;
|
||||||
};
|
};
|
||||||
|
|
||||||
uint32_t rgb565_to_rgb888(uint16_t rgb565)
|
uint32_t rgb565_to_rgb888(uint16_t rgb565)
|
||||||
|
@ -96,9 +98,9 @@ uint32_t rgb565_to_rgb888(uint16_t rgb565)
|
||||||
// Ghép các giá trị RGB888 thành một giá trị 32 bit
|
// Ghép các giá trị RGB888 thành một giá trị 32 bit
|
||||||
return (r << 16) | (g << 8) | b;
|
return (r << 16) | (g << 8) | b;
|
||||||
}
|
}
|
||||||
Player player ;
|
Player player;
|
||||||
std::vector<Enemy> enemies(NUM_ENEMIES);
|
std::vector<Enemy> enemies(NUM_ENEMIES);
|
||||||
Bullet bullet = {0, 0, false};
|
Bullet bullets[MAX_BULLETS];
|
||||||
void Initialize_State()
|
void Initialize_State()
|
||||||
{
|
{
|
||||||
player = {SCREEN_WIDTH / 2 - PLAYER_WIDTH / 2, SCREEN_HEIGHT - PLAYER_HEIGHT - 10, true};
|
player = {SCREEN_WIDTH / 2 - PLAYER_WIDTH / 2, SCREEN_HEIGHT - PLAYER_HEIGHT - 10, true};
|
||||||
|
@ -106,81 +108,204 @@ void Initialize_State()
|
||||||
{
|
{
|
||||||
enemies[i] = {i * (SCREEN_WIDTH / NUM_ENEMIES), 0, true};
|
enemies[i] = {i * (SCREEN_WIDTH / NUM_ENEMIES), 0, true};
|
||||||
}
|
}
|
||||||
|
for (int i = 0; i < MAX_BULLETS; ++i)
|
||||||
|
{
|
||||||
|
bullets[i] = {0, 0, false};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void fireBullet()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < MAX_BULLETS; ++i)
|
||||||
|
{
|
||||||
|
if (!bullets[i].active)
|
||||||
|
{
|
||||||
|
bullets[i].x = player.x + PLAYER_WIDTH / 2 - BULLET_WIDTH / 2;
|
||||||
|
bullets[i].y = player.y - BULLET_HEIGHT;
|
||||||
|
bullets[i].active = true;
|
||||||
|
break; // Chỉ bắn một viên đạn tại một thời điểm
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int X_player = 0;
|
||||||
|
void updatePlayer(int x)
|
||||||
|
{
|
||||||
|
// Example: Move player left or right based on input
|
||||||
|
player.x = x;
|
||||||
}
|
}
|
||||||
|
|
||||||
void updatePlayer(int x) {
|
unsigned long last_enemies_update = millis();
|
||||||
// Example: Move player left or right based on input
|
int enemies_update_rate = 500;
|
||||||
player.x = x;
|
void updateEnemies()
|
||||||
}
|
{
|
||||||
void updateEnemies() {
|
unsigned long now = millis();
|
||||||
for (auto& enemy : enemies) {
|
if (now - last_enemies_update < enemies_update_rate)
|
||||||
if (enemy.alive) {
|
return;
|
||||||
enemy.y += 1; // Move downwards
|
last_enemies_update = now;
|
||||||
if (enemy.y > SCREEN_HEIGHT) {
|
for (auto &enemy : enemies)
|
||||||
enemy.y = 0; // Reset position if off screen
|
{
|
||||||
}
|
if (enemy.alive)
|
||||||
}
|
{
|
||||||
}
|
enemy.y += 1; // Move downwards
|
||||||
}
|
if (enemy.y > SCREEN_HEIGHT)
|
||||||
void updateBullet() {
|
{
|
||||||
if (bullet.active) {
|
enemy.y = 0; // Reset position if off screen
|
||||||
bullet.y -= 4; // Move upwards
|
}
|
||||||
if (bullet.y < 0) {
|
|
||||||
bullet.active = false; // Deactivate if off screen
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkCollisions() {
|
unsigned long last_bullets_update = millis();
|
||||||
// Check collision between bullet and enemies
|
int bullets_update_speed = 10;
|
||||||
for (auto& enemy : enemies) {
|
void updateBullets()
|
||||||
if (enemy.alive && bullet.active &&
|
{
|
||||||
bullet.x < enemy.x + ENEMY_WIDTH &&
|
unsigned long now = millis();
|
||||||
bullet.x + BULLET_WIDTH > enemy.x &&
|
if (now - last_bullets_update < bullets_update_speed)
|
||||||
bullet.y < enemy.y + ENEMY_HEIGHT &&
|
return;
|
||||||
bullet.y + BULLET_HEIGHT > enemy.y) {
|
last_bullets_update = now;
|
||||||
enemy.alive = false;
|
for (int i = 0; i < MAX_BULLETS; ++i)
|
||||||
bullet.active = false;
|
{
|
||||||
}
|
if (bullets[i].active)
|
||||||
}
|
{
|
||||||
|
bullets[i].y -= 4; // Di chuyển lên trên
|
||||||
// Check collision between enemies and player
|
if (bullets[i].y < 0)
|
||||||
for (auto& enemy : enemies) {
|
{
|
||||||
if (enemy.alive &&
|
bullets[i].active = false; // Vô hiệu hóa nếu ra ngoài màn hình
|
||||||
player.x < enemy.x + ENEMY_WIDTH &&
|
}
|
||||||
player.x + PLAYER_WIDTH > enemy.x &&
|
|
||||||
player.y < enemy.y + ENEMY_HEIGHT &&
|
|
||||||
player.y + PLAYER_HEIGHT > enemy.y) {
|
|
||||||
player.alive = false; // Player is hit
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void render() {
|
unsigned long last_game_over_time = millis();
|
||||||
dma_display->clearScreen();
|
int restart_time = 2000;
|
||||||
if (player.alive) {
|
void checkCollisions()
|
||||||
dma_display->drawRect(player.x, player.y, PLAYER_WIDTH, PLAYER_HEIGHT, COLOR_GREEN);
|
{
|
||||||
}
|
// Check collision between bullet and enemies
|
||||||
|
for (int i = 0; i < MAX_BULLETS; ++i)
|
||||||
for (const auto& enemy : enemies) {
|
{
|
||||||
if (enemy.alive) {
|
if (bullets[i].active)
|
||||||
dma_display->drawRect(enemy.x, enemy.y, ENEMY_WIDTH, ENEMY_HEIGHT, COLOR_RED);
|
{
|
||||||
|
for (auto &enemy : enemies)
|
||||||
|
{
|
||||||
|
if (enemy.alive &&
|
||||||
|
bullets[i].x < enemy.x + ENEMY_WIDTH &&
|
||||||
|
bullets[i].x + BULLET_WIDTH > enemy.x &&
|
||||||
|
bullets[i].y < enemy.y + ENEMY_HEIGHT &&
|
||||||
|
bullets[i].y + BULLET_HEIGHT > enemy.y)
|
||||||
|
{
|
||||||
|
enemy.alive = false;
|
||||||
|
bullets[i].active = false;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (bullet.active) {
|
// Check collision between enemies and player
|
||||||
dma_display->drawRect(bullet.x, bullet.y, BULLET_WIDTH, BULLET_HEIGHT, COLOR_WHITE);
|
for (auto &enemy : enemies)
|
||||||
|
{
|
||||||
|
if (enemy.alive &&
|
||||||
|
player.x < enemy.x + ENEMY_WIDTH &&
|
||||||
|
player.x + PLAYER_WIDTH > enemy.x &&
|
||||||
|
player.y < enemy.y + ENEMY_HEIGHT &&
|
||||||
|
player.y + PLAYER_HEIGHT > enemy.y)
|
||||||
|
{
|
||||||
|
player.alive = false; // Player is hit
|
||||||
|
last_game_over_time = millis();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unsigned long last_render_time = millis();
|
||||||
|
int render_rate = 20; // Frame rate in frames per second
|
||||||
|
|
||||||
|
|
||||||
|
void render()
|
||||||
|
{
|
||||||
|
unsigned long now = millis();
|
||||||
|
if (now - last_render_time < 1000 / render_rate)
|
||||||
|
return;
|
||||||
|
last_render_time = now;
|
||||||
|
dma_display->clearScreen();
|
||||||
|
if (player.alive)
|
||||||
|
{
|
||||||
|
int x = player.x;
|
||||||
|
int y = player.y;
|
||||||
|
if (y > 64)
|
||||||
|
{
|
||||||
|
y = y - 64;
|
||||||
|
x = x + 128;
|
||||||
|
}
|
||||||
|
dma_display->drawRect(x, y, PLAYER_WIDTH, PLAYER_HEIGHT, COLOR_GREEN);
|
||||||
|
}
|
||||||
|
for (auto &enemy : enemies)
|
||||||
|
{
|
||||||
|
if (enemy.alive)
|
||||||
|
{
|
||||||
|
int x = enemy.x;
|
||||||
|
int y = enemy.y;
|
||||||
|
if (y > 64)
|
||||||
|
{
|
||||||
|
y = y - 64;
|
||||||
|
x = x + 128;
|
||||||
|
}
|
||||||
|
dma_display->drawRect(x, y, ENEMY_WIDTH, ENEMY_HEIGHT, COLOR_RED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (int i = 0; i < MAX_BULLETS; ++i)
|
||||||
|
{
|
||||||
|
if (bullets[i].active)
|
||||||
|
{
|
||||||
|
int x = bullets[i].x;
|
||||||
|
int y = bullets[i].y;
|
||||||
|
if (y > 64)
|
||||||
|
{
|
||||||
|
y = y - 64;
|
||||||
|
x = x + 128;
|
||||||
|
}
|
||||||
|
dma_display->drawRect(x, y, BULLET_WIDTH, BULLET_HEIGHT, COLOR_WHITE);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long period_time = millis();
|
unsigned long period_time = millis();
|
||||||
bool set_FPS(int rate){
|
bool set_FPS(int rate)
|
||||||
|
{
|
||||||
unsigned long now = millis();
|
unsigned long now = millis();
|
||||||
int elapsed = 1000/rate;
|
int elapsed = 1000 / rate;
|
||||||
if(now - period_time >=elapsed){
|
if (now - period_time >= elapsed)
|
||||||
|
{
|
||||||
period_time = now;
|
period_time = now;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else return false;
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const char *text = "Game Over";
|
||||||
|
bool game_over = false;
|
||||||
|
|
||||||
|
void Game_Over()
|
||||||
|
{
|
||||||
|
if(!game_over){
|
||||||
|
game_over = true;
|
||||||
|
last_game_over_time = millis();
|
||||||
|
}
|
||||||
|
// Font metrics
|
||||||
|
int textWidth = 0;
|
||||||
|
int textHeight = 0;
|
||||||
|
int cursorX = 0;
|
||||||
|
int cursorY = 0;
|
||||||
|
|
||||||
|
// Calculate text dimensions (approximated for example)
|
||||||
|
textWidth = strlen(text) * 11; // Assuming each character is approximately 6 pixels wide
|
||||||
|
textHeight = 8; // Assuming font height is 8 pixels
|
||||||
|
|
||||||
|
// Compute the center position
|
||||||
|
cursorX = (128 - textWidth) / 2;
|
||||||
|
cursorY = (64 + textHeight) / 2;
|
||||||
|
|
||||||
|
// Set the cursor position
|
||||||
|
dma_display->setCursor(cursorX, cursorY);
|
||||||
|
|
||||||
|
// Print text on the matrix
|
||||||
|
dma_display->print(text);
|
||||||
}
|
}
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
|
@ -189,12 +314,15 @@ void setup()
|
||||||
dma_display->begin(); // setup the LED matrix
|
dma_display->begin(); // setup the LED matrix
|
||||||
dma_display->setBrightness8(200); // 0-255
|
dma_display->setBrightness8(200); // 0-255
|
||||||
dma_display->clearScreen();
|
dma_display->clearScreen();
|
||||||
|
dma_display->setTextColor(dma_display->color333(7, 7, 7)); //)
|
||||||
|
dma_display->setTextSize(1);
|
||||||
|
dma_display->setFont(&FreeMono9pt7b);
|
||||||
|
Initialize_State();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
// server.handleClient();
|
|
||||||
|
|
||||||
#pragma region Serial processing
|
#pragma region Serial processing
|
||||||
while (Serial.available() > 0)
|
while (Serial.available() > 0)
|
||||||
{
|
{
|
||||||
|
@ -221,8 +349,6 @@ void loop()
|
||||||
int expectedSize = numRows * numCols * floatSize;
|
int expectedSize = numRows * numCols * floatSize;
|
||||||
if (bufferIndex >= (2 * sizeof(int) + expectedSize))
|
if (bufferIndex >= (2 * sizeof(int) + expectedSize))
|
||||||
{
|
{
|
||||||
//dma_display->clearScreen();
|
|
||||||
|
|
||||||
for (int row = 0; row < numRows; ++row)
|
for (int row = 0; row < numRows; ++row)
|
||||||
{
|
{
|
||||||
for (int col = 0; col < numCols; ++col)
|
for (int col = 0; col < numCols; ++col)
|
||||||
|
@ -238,18 +364,29 @@ void loop()
|
||||||
if (player.alive)
|
if (player.alive)
|
||||||
{
|
{
|
||||||
int x = (int)data[0][0];
|
int x = (int)data[0][0];
|
||||||
|
int f = (int)data[0][2];
|
||||||
updatePlayer(x);
|
updatePlayer(x);
|
||||||
updateEnemies();
|
if (f == 1)
|
||||||
updateBullet();
|
fireBullet();
|
||||||
checkCollisions();
|
}
|
||||||
render();
|
else
|
||||||
|
{
|
||||||
|
//Game_Over();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset chỉ số chỉ mục sau khi xử lý
|
// Reset chỉ số chỉ mục sau khi xử lý
|
||||||
}
|
}
|
||||||
bufferIndex = 0;
|
bufferIndex = 0;
|
||||||
}
|
}
|
||||||
|
if(!player.alive) Game_Over();
|
||||||
|
unsigned long now = millis();
|
||||||
|
if(now-last_game_over_time >= restart_time && !player.alive){
|
||||||
|
Initialize_State();
|
||||||
|
}
|
||||||
|
//if(game_over) return;
|
||||||
|
updateEnemies();
|
||||||
|
updateBullets();
|
||||||
|
checkCollisions();
|
||||||
|
render();
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue