Public Access
Add four animated KonoSuba ESPHome pages
Megumin's daily explosion, the Adventurers' Guild quest board (agenda, weather, solar), Megumin's adventurer card and a party battle against a giant toad with a live-data battle log. Original 1-bit pixel art lives in tools/konosuba_sprites.py, which generates konosuba_sprites.h and can render a preview PNG. Home data and drawing helpers shared by the themed pages move to el512_pages.h; the display gains dither_mask() for a dissolve-in intro. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
50ee17b3f6
commit
e9b91c5628
11 files changed
+1655
-61
No files matched your search
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "cyberpunk.h"
|
||||
#include "el512_helpers.h"
|
||||
#include "konosuba.h"
|
||||
#include "el512_panel.h"
|
||||
#include "esphome/components/display/display_buffer.h"
|
||||
#include "esphome/core/component.h"
|
||||
@@ -66,6 +67,9 @@ class EL512Display : public display::DisplayBuffer {
|
||||
// y..y+height-1 right by dx pixels (wrapping around), invert a rectangle.
|
||||
void shift_rows(int y, int height, int dx);
|
||||
void invert_rect(int x, int y, int width, int height);
|
||||
// Keep only the pixels whose 4x4 Bayer threshold is below level (0..16):
|
||||
// 0 clears everything, 16 keeps everything. Steps of it dissolve a page in.
|
||||
void dither_mask(int level);
|
||||
|
||||
protected:
|
||||
void draw_absolute_pixel_internal(int x, int y, Color color) override;
|
||||
|
||||
Reference in new issue
Block a user