From 075f434997f01b709493ad1a636c1f6e01d6d5e8 Mon Sep 17 00:00:00 2001 From: Fabian Schlenz Date: Wed, 25 Sep 2019 20:05:18 +0200 Subject: [PATCH] Small fixes and tweaks to blur2d, clock and firework. --- src/effect_blur2d.cpp | 22 +++++++++++----------- src/effect_clock.cpp | 4 ++-- src/effect_firework.cpp | 22 +++++++++++----------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/effect_blur2d.cpp b/src/effect_blur2d.cpp index 6e756f1..bb02a21 100644 --- a/src/effect_blur2d.cpp +++ b/src/effect_blur2d.cpp @@ -5,18 +5,18 @@ boolean Blur2DEffect::can_be_shown_with_clock() { } void Blur2DEffect::loop() { - uint8_t blur_amount = dim8_raw(beatsin8(3, 64, 192)); + uint8_t blur_amount = dim8_raw(beatsin8(3, 128, 224)); window->blur(blur_amount); - - uint8_t x1 = beatsin8(5, 0, window->width-1); - uint8_t y1 = beatsin8(8, 0, window->height-1); - - uint8_t x2 = beatsin8(8, 0, window->width-1); - uint8_t y2 = beatsin8(3, 0, window->height-1); - - uint8_t x3 = beatsin8(4, 0, window->width-1); - uint8_t y3 = beatsin8(7, 0, window->height-1); - + + uint8_t x1 = beatsin8(7, 0, window->width-1); + uint8_t y1 = beatsin8(11, 0, window->height-1); + + uint8_t x2 = beatsin8(13, 0, window->width-1); + uint8_t y2 = beatsin8(8, 0, window->height-1); + + uint8_t x3 = beatsin8(11, 0, window->width-1); + uint8_t y3 = beatsin8(13, 0, window->height-1); + uint16_t ms = millis(); CRGB c1 = CHSV(ms / 29, 200, 255); CRGB c2 = CHSV(ms / 41, 200, 255); diff --git a/src/effect_clock.cpp b/src/effect_clock.cpp index adaadbd..9bb8474 100644 --- a/src/effect_clock.cpp +++ b/src/effect_clock.cpp @@ -13,7 +13,7 @@ void NightClockEffect::loop() { //uint8_t y = minutes % ((window->height - 5) * 2 - 2); //if (y > window->height - 5) y = 2*window->height - 2*y; uint8_t y = minutes % 10; - ClockEffect::loop(false, CRGB(0x880000), CRGB(0x000000), y); + ClockEffect::loop(false, CRGB(0x200000), CRGB(0x000000), y); } void ClockEffect::loop() { @@ -34,7 +34,7 @@ void ClockEffect::loop(boolean invert, CRGB fg_color, CRGB bg_color, uint8_t yPo // Manually clear the needed parts for(int y=0; y<6; y++) { window->setPixel(3, yPos+y, &bg_color); - if (y!=2 && y!=4) { + if (y!=1 && y!=3) { window->setPixel(7, yPos+y, &bg_color); } window->setPixel(8, yPos+y, &bg_color); diff --git a/src/effect_firework.cpp b/src/effect_firework.cpp index 72430dc..9acb901 100644 --- a/src/effect_firework.cpp +++ b/src/effect_firework.cpp @@ -7,7 +7,7 @@ FireworkEffectDot::FireworkEffectDot(Window* w, FireworkEffect* e) { show = 0; type = FIREWORK_DOT_NONE; _x = 0; - _y = 0; + _y = _window->height - 1; _xv = 0; _yv = 0; _r = 0; @@ -35,7 +35,7 @@ void FireworkEffectDot::draw() { _screenscale(_y, _window->height, iy, ye); xc = 255 - xe; yc = 255 - ye; - + CRGB c00 = CRGB(dim8_video( scale8( scale8( _color.r, yc), xc)), dim8_video( scale8( scale8( _color.g, yc), xc)), dim8_video( scale8( scale8( _color.b, yc), xc))); @@ -59,8 +59,8 @@ void FireworkEffectDot::move() { _yv -= EFFECT_FIREWORK_GRAVITY; _xv = _scale15by8_local(_xv, EFFECT_FIREWORK_DRAG); _yv = _scale15by8_local(_yv, EFFECT_FIREWORK_DRAG); - - if (type == FIREWORK_DOT_SPARK) { + + if (type == FIREWORK_DOT_SPARK) { _xv = _scale15by8_local(_xv, EFFECT_FIREWORK_DRAG); _yv = _scale15by8_local(_yv, EFFECT_FIREWORK_DRAG); _color.nscale8(255); @@ -68,9 +68,9 @@ void FireworkEffectDot::move() { show = 0; } } - + // Bounce if we hit the ground - if (_xv < 0 && _y < (-_yv)) { + if (_xv < 0 && _y - _window->height < (-_yv)) { if (type == FIREWORK_DOT_SPARK) { show = 0; } else { @@ -81,10 +81,10 @@ void FireworkEffectDot::move() { } } } - + if (_yv < 300) { if (type == FIREWORK_DOT_SHELL) { - if (_y > (uint16_t)0x8000) { + if (_y < (uint16_t)0x8000) { // boom CRGB white(0xFFFFFF); _window->clear(&white); @@ -93,7 +93,7 @@ void FireworkEffectDot::move() { _main->skyburst(_x, _y, _xv, _yv, _color); } } - + if (type == FIREWORK_DOT_SPARK) { if ((_xv > 0 && _x>_xv) || (_xv < 0 && _x<(0xFFFF+_xv))) { _x += _xv; @@ -103,7 +103,7 @@ void FireworkEffectDot::move() { } else { _x += _xv; } - _y += _yv; + _y -= _yv; } void FireworkEffectDot::ground_launch() { @@ -157,7 +157,7 @@ void FireworkEffect::loop() { launch_countdown--; } } - + if (_skyburst) { int nsparks = random8(EFFECT_FIREWORK_SPARKS / 2, EFFECT_FIREWORK_SPARKS + 1); for (int i=0; i