#include "../config.h" #include "../compat/pgmspace.h" #include "../random/prng.h" #include "../pixel.h" #include "../util.h" #define RANDOM8() (random8()) #ifdef ANIMATION_TESTS void test_level(unsigned char level){ for (unsigned char y=NUM_ROWS;y--;){ for (unsigned char x=NUM_COLS;x--;){ setpixel((pixel){x,y}, level); wait(5); } } wait(2000); } void test_palette(){ for (unsigned char y=NUM_ROWS;y--;){ for (unsigned char x=NUM_COLS;x--;){ setpixel((pixel){x,y}, y%4); // wait(1); } } wait(2000); } void test_palette2(){ for (unsigned char x=NUM_COLS;x--;){ for (unsigned char y=NUM_ROWS;y--;){ setpixel((pixel){x,y}, x%4); // wait(1); } } wait(1000); for (unsigned char x=NUM_COLS;x--;){ // shift image right shift_pixmap_l(); wait(30); } } #endif #ifdef ANIMATION_SPIRAL void spiral(int delay) { clear_screen(0); static signed char const PROGMEM delta[5] = { 0, -1, 0, 1, 0 }; unsigned char length[2] = { NUM_ROWS, NUM_COLS - 1 }; unsigned char x = NUM_COLS - 1, y = NUM_ROWS, i = 0; while (length[i & 0x01]) { for (unsigned char j = 0; j < length[i & 0x01]; ++j) { x += pgm_read_byte(&delta[i]); y += pgm_read_byte(&delta[i + 1]); setpixel((pixel){x, y}, NUMPLANE); wait(delay); } length[i++ & 0x01]--; i %= 4; } i = (i + 2u) % 4u; while (length[0] <= NUM_ROWS && length[1] < NUM_COLS) { for (unsigned char j = 0; j < length[i & 0x01]; ++j) { setpixel((pixel){x, y}, 0); x += pgm_read_byte(&delta[i]); y += pgm_read_byte(&delta[i + 1]); wait(delay); } length[(i += 3) & 0x01]++; i %= 4; } } #endif #ifdef ANIMATION_JOERN1 void joern1(){ unsigned char i, j, x; unsigned char rolr=0x01 , rol; clear_screen(3); for(i = 0; i< 80;i++){ rol = rolr; for(j = 0 ;j < NUM_ROWS; j++){ for(x=0;x> 5); } } wait(FIRE_DELAY); } } #endif #ifdef ANIMATION_RANDOM_BRIGHT /** * void random_bright(void) * by Daniel Otte */ void random_bright(unsigned int cycles) { while (cycles--) { for (unsigned char p = NUMPLANE; p--;) { for (unsigned char y = NUM_ROWS; y--;) { for (unsigned char x = LINEBYTES; x--;) { if (p < (NUMPLANE - 1)) { pixmap[p][y][x] |= pixmap[p + 1][y][x]; } pixmap[p][y][x] = random8(); } } } wait(200); } } #endif