// Pixel art for the KonoSuba pages, generated by tools/konosuba_sprites.py; // edit the art there. Original 1-bit fan art, '#' = lit pixel. #pragma once #include namespace esphome::el512::konosuba { struct Sprite { uint8_t w, h; const char *const *rows; }; static const char *const MEGUMIN_ROWS[] = { "...............####.........", "..............######........", ".............###...##.......", "............####.....#......", "...........#####............", "..........######............", "..........#######...........", ".........########...........", ".........#########..........", "........##########..........", "........#.........#.........", "........###########.........", "##########################..", ".########################...", ".....###############........", ".....##.#.##..#.#.##........", ".....#.............#........", ".....#..##....####.#........", ".....#..##....####.#........", ".....#.........#...#........", ".....##.............#.......", "......#.....##.....#........", ".....###..........###.......", "....####.##....##.####......", "...######.######.######.....", "..#######..####..#######....", "..######...####...#######...", ".#######...#..#...#######...", ".######....#..#....######...", ".######...#....#...######...", "#######...#....#...#######..", "######...#......#...######..", "######..##########..######..", "#####...#........#...#####..", "#####..#..........#..#####..", "####...############...####..", "........#......#............", "........#......#............", "........#......#............", "........#......#............", ".......###....###...........", ".......####...####..........", }; static constexpr Sprite MEGUMIN{28, 42, MEGUMIN_ROWS}; static const char *const STAFF_ROWS[] = { "..#####..", ".#.....#.", "#..###..#", "#.#####.#", "#.#####.#", "#..###..#", ".#.....#.", "..#...#..", "...#.#...", "....#....", "....#....", "...##....", "....#....", "....#....", "....#....", "....##...", "....#....", "....#....", "....#....", "....#....", "...##....", "....#....", "....#....", "....#....", "....#....", "....#....", "....##...", "....#....", "....#....", "....#....", "....#....", "....#....", "....#....", "....#....", "....#....", "....#....", "....#....", "....#....", "....#....", "....#....", "....#....", "....#....", }; static constexpr Sprite STAFF{9, 42, STAFF_ROWS}; static const char *const MEGUMIN_DOWN_ROWS[] = { "....###......................................................", "...#####.....................................................", "..######.....................................................", "..#######....................................................", ".########.##.................................................", ".#########..##.........#######...............................", "###########...##.....###########.............................", "#.........#.....#...##.#.#.#.#.##..#####################.....", "###########......#..#.#.#.#.#.#.#.########################...", "...................##############.###########.##########.###.", "....................############..#####...........######...##", "......................########....####.............####......", }; static constexpr Sprite MEGUMIN_DOWN{61, 12, MEGUMIN_DOWN_ROWS}; static const char *const KAZUMA_ROWS[] = { "....######......", "...########.....", "..##########....", "..#.#.##.#.#....", "..#........#....", "..#..#..#..#....", "..#........#....", "...#..##..#.....", "....######......", "..##########....", ".###.####.###...", ".##..#..#..##...", ".##..#..#..##.#.", ".##..####..##.#.", ".##..#..#..##.#.", "..#..#..#..#.###", "....#....#....#.", "....#....#......", "...##....##.....", }; static constexpr Sprite KAZUMA{16, 19, KAZUMA_ROWS}; static const char *const AQUA_ROWS[] = { ".....####.......", "....#....#......", ".....####.......", "....######......", "...########.....", "..##########....", "..#........#....", "..#..#..#..#....", "..#........#....", "..##..##..##....", "..###....###....", ".####.##.####...", ".##..####..##...", ".##.#....#.##...", ".#.#......#.#...", ".#.#......#.#...", "...########.....", "....#....#......", "....#....#......", "...##....##.....", }; static constexpr Sprite AQUA{16, 20, AQUA_ROWS}; static const char *const MEGUMIN_S_ROWS[] = { ".......##.......", "......####......", ".....######.....", "....########....", "....#......#....", "################", "...##########...", "...#........#...", "...#.#...##.#...", "...#........#...", "....#..##..#....", ".....######.....", "...##########...", "..############..", "..###.####.###..", "..##..#..#..##..", "..##..####..##..", "..############..", ".....#....#.....", ".....#....#.....", "....##....##....", }; static constexpr Sprite MEGUMIN_S{16, 21, MEGUMIN_S_ROWS}; static const char *const DARKNESS_ROWS[] = { "....######......", "...########.###.", "..##########.##.", "..#.##..##.#..#.", "..#........#....", "..#..#..#..#....", "..#........#....", "...#..##..#.....", "....######......", "############....", "##.########.##..", "#..#.#..#.#..#..", "...#.####.#.....", "...#.#..#.#.....", "...#.####.#.....", "...########.....", "....#....#......", "....##...##.....", "...###...###....", }; static constexpr Sprite DARKNESS{16, 19, DARKNESS_ROWS}; static const char *const TOAD_ROWS[] = { "......####............####......", ".....#....#..........#....#.....", "....#..##..#........#..##..#....", "....#..##..##########..##..#....", "...##.....#..........#.....##...", "..#..........................#..", ".#....#..........#.......#....#.", "#..............................#", "#.....##....#.........##...#...#", "#..............................#", "#..####################........#", "#......................#.......#", ".#........#.......#...........#.", "..#..##..................##..#..", "...##..#................#..##...", "..#.....#..............#.....#..", ".#..###..#............#..###..#.", "##########............##########", }; static constexpr Sprite TOAD{32, 18, TOAD_ROWS}; static const char *const TOAD_TONGUE_ROWS[] = { "......####............####......", ".....#....#..........#....#.....", "....#..##..#........#..##..#....", "....#..##..##########..##..#....", "...##.....#..........#.....##...", "..#..........................#..", ".#....#..........#.......#....#.", "#..............................#", "#.....##....#.........##...#...#", "#..............................#", "#..####################........#", "#...#..................#.......#", ".#...#....#.......#...........#.", "..#...#..##..............##..#..", "...##..#.##.............#..##...", "..#.....####...........#.....#..", ".#..###..##...........#..###..#.", "##########............##########", }; static constexpr Sprite TOAD_TONGUE{32, 18, TOAD_TONGUE_ROWS}; static const char *const CABBAGE_A_ROWS[] = { "#..............#", "##...######...##", ".##.#..#...#.##.", "..##.#.#..#.##..", "...#..###...#...", "...#.#.#.#..#...", "....#..#...#....", ".....######.....", }; static constexpr Sprite CABBAGE_A{16, 8, CABBAGE_A_ROWS}; static const char *const CABBAGE_B_ROWS[] = { "................", ".....######.....", "....#..#...#....", "...#.#.#..#.#...", "####..###...####", "##.#.#.#.#..#.##", "#...#..#...#...#", ".....######.....", }; static constexpr Sprite CABBAGE_B{16, 8, CABBAGE_B_ROWS}; static const char *const MEGUMIN_BLINK_ROWS[] = { "...............####.........", "..............######........", ".............###...##.......", "............####.....#......", "...........#####............", "..........######............", "..........#######...........", ".........########...........", ".........#########..........", "........##########..........", "........#.........#.........", "........###########.........", "##########################..", ".########################...", ".....###############........", ".....##.#.##..#.#.##........", ".....#.............#........", ".....#........####.#........", ".....#..##....####.#........", ".....#.........#...#........", ".....##.............#.......", "......#.....##.....#........", ".....###..........###.......", "....####.##....##.####......", "...######.######.######.....", "..#######..####..#######....", "..######...####...#######...", ".#######...#..#...#######...", ".######....#..#....######...", ".######...#....#...######...", "#######...#....#...#######..", "######...#......#...######..", "######..##########..######..", "#####...#........#...#####..", "#####..#..........#..#####..", "####...############...####..", "........#......#............", "........#......#............", "........#......#............", "........#......#............", ".......###....###...........", ".......####...####..........", }; static constexpr Sprite MEGUMIN_BLINK{28, 42, MEGUMIN_BLINK_ROWS}; } // namespace esphome::el512::konosuba