From 761e85023c9f78f5c8cf0ee00b0022ee12d5540c Mon Sep 17 00:00:00 2001 From: CalisJI Date: Fri, 16 Aug 2024 17:57:26 +0700 Subject: [PATCH] add animation --- src/gif_frames.h | 457 +++++++++++++++++++++++++++++++++++++++++++++++ src/main.cpp | 166 ++++++++++++++++- 2 files changed, 621 insertions(+), 2 deletions(-) create mode 100644 src/gif_frames.h diff --git a/src/gif_frames.h b/src/gif_frames.h new file mode 100644 index 0000000..3f8d716 --- /dev/null +++ b/src/gif_frames.h @@ -0,0 +1,457 @@ +#include + +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, 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, 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, 0x4A8A, 0x73CF, 0x73AE, 0x4A49, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x5AEC, 0x73AE, 0x73AE, 0x5ACB, 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, 0x6B4D, +0x530E, 0x530E, 0x6B4D, 0x4229, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x3A08, 0x4249, 0x52AB, 0x6B6D, 0x5B0C, +0x5AEC, 0x4B71, 0x5D9A, 0x5D9A, 0x4B71, 0x5AEC, 0x5B0C, 0x6B6D, +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, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 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[] = { +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 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, +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, 0x18E3, 0x52AA, 0x4A69, 0x18E3, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x2965, 0x52AA, 0x528A, 0x2945, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31A6, 0x528A, 0x4A69, +0x3186, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x39E7, +0x39E7, 0x39E7, 0x39E7, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0841, 0x0020, +0x2124, 0x4A49, 0x39C7, 0x39C7, 0x4A49, 0x2124, 0x0020, 0x0841, +0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2104, 0x2945, 0x39C7, +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, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +}; + +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, 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, +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, 0x4229, 0x73CF, 0x738E, 0x4208, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x52EB, 0x73CF, 0x73AE, 0x52AA, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5AEC, 0x738E, 0x738E, +0x5AEB, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39C7, 0x630C, +0x630C, 0x630C, 0x630C, 0x39C7, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2145, 0x39C7, 0x2986, +0x4A6A, 0x6B6E, 0x4B2F, 0x4B2F, 0x6B6E, 0x4A6A, 0x2986, 0x39C7, +0x2145, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4A6A, 0x528B, 0x5B0C, +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, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +}; + +const uint16_t gif_frame_3[] = { +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +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; diff --git a/src/main.cpp b/src/main.cpp index c8cdef7..47c92a3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #pragma region Matrix Config #define R1_PIN 4 #define G1_PIN 5 @@ -435,7 +436,7 @@ bool mode = false; int reset_stickman = 2000; bool Mode_game = true; int width = 26; -int height = 26; +int height = 27; int X_craft = 0; int Y_craft = 0; bool exist = false; @@ -628,7 +629,166 @@ void draw_spacecraft(int x, int y = 100) } } } + exist = true; + // draw_rocket(x,y); +} +int frame_count = num_frames; +unsigned long last_frame_time = millis(); +int frame_rate = 100; +void S_frame_0(int x, int y = 100) +{ + for (int i = 0; i < width; i++) + { + for (int j = 0; j < height; j++) + { + uint16_t color = gif_frame_0[j * width + i]; + if (color == 0xFFFF || color == 0xFFDF || color == 0xFFFE || color == 0xFFBD || color == 0xFFBF) + color = 0x0000; + int _x = x + i; + int _y = y + j; + if (_y <= 64) + { + dma_display->drawPixel(_x, _y, color); + } + else + { + _y = _y - 64; + _x = _x + 128; + + dma_display->drawPixel(_x, _y, color); + } + } + } +} +void S_frame_1(int x, int y = 100) +{ + for (int i = 0; i < width; i++) + { + for (int j = 0; j < height; j++) + { + uint16_t color = gif_frame_1[j * width + i]; + if (color == 0xFFFF || color == 0xFFDF || color == 0xFFFE || color == 0xFFBD || color == 0xFFBF) + color = 0x0000; + int _x = x + i; + int _y = y + j; + if (_y <= 64) + { + dma_display->drawPixel(_x, _y, color); + } + else + { + _y = _y - 64; + _x = _x + 128; + + dma_display->drawPixel(_x, _y, color); + } + } + } +} +void S_frame_2(int x, int y = 100) +{ + for (int i = 0; i < width; i++) + { + for (int j = 0; j < height; j++) + { + uint16_t color = gif_frame_2[j * width + i]; + if (color == 0xFFFF || color == 0xFFDF || color == 0xFFFE || color == 0xFFBD || color == 0xFFBF) + color = 0x0000; + int _x = x + i; + int _y = y + j; + if (_y <= 64) + { + dma_display->drawPixel(_x, _y, color); + } + else + { + _y = _y - 64; + _x = _x + 128; + + dma_display->drawPixel(_x, _y, color); + } + } + } +} +void S_frame_3(int x, int y = 100) +{ + for (int i = 0; i < width; i++) + { + for (int j = 0; j < height; j++) + { + uint16_t color = gif_frame_3[j * width + i]; + if (color == 0xFFFF || color == 0xFFDF || color == 0xFFFE || color == 0xFFBD || color == 0xFFBF) + color = 0x0000; + int _x = x + i; + int _y = y + j; + if (_y <= 64) + { + dma_display->drawPixel(_x, _y, color); + } + else + { + _y = _y - 64; + _x = _x + 128; + + dma_display->drawPixel(_x, _y, color); + } + } + } +} +void S_frame_4(int x, int y = 100) +{ + for (int i = 0; i < width; i++) + { + for (int j = 0; j < height; j++) + { + uint16_t color = gif_frame_4[j * width + i]; + if (color == 0xFFFF || color == 0xFFDF || color == 0xFFFE || color == 0xFFBD || color == 0xFFBF) + color = 0x0000; + int _x = x + i; + int _y = y + j; + if (_y <= 64) + { + dma_display->drawPixel(_x, _y, color); + } + else + { + _y = _y - 64; + _x = _x + 128; + + dma_display->drawPixel(_x, _y, color); + } + } + } +} +void draw_spacecraft_2(int x, int y = 100) +{ + unsigned long now = millis(); + if(now - last_frame_time >= frame_rate){ + frame_count --; + last_frame_time = now; + switch (frame_count){ + case 0: + S_frame_0(x, y); + break; + case 1: + S_frame_1(x, y); + break; + case 2: + S_frame_2(x, y); + break; + case 3: + S_frame_3(x, y); + break; + case 4: + S_frame_4(x, y); + break; + default: + frame_count = num_frames; + break; + } + if(frame_count == 0) frame_count = num_frames; + } exist = true; // draw_rocket(x,y); } @@ -712,7 +872,8 @@ void loop() else { X_craft = int(data[0][0]); - draw_spacecraft(X_craft); + //draw_spacecraft(X_craft); + draw_spacecraft_2(X_craft); draw_rocket(X_craft); } @@ -725,6 +886,7 @@ void loop() { if (exist) { + draw_spacecraft_2(X_craft); draw_rocket(X_craft); if (live_enemies <= 0) {