From 381628aea040f001fc2701000e15a085107d82ed Mon Sep 17 00:00:00 2001 From: roy rocket Date: Fri, 5 Aug 2011 10:33:09 +0200 Subject: [PATCH] Multiple Speed Options --- firmware/l0dable/nick_life.c | 73 +++++++++++++----------------------- 1 file changed, 26 insertions(+), 47 deletions(-) diff --git a/firmware/l0dable/nick_life.c b/firmware/l0dable/nick_life.c index f3e5457..45676e1 100644 --- a/firmware/l0dable/nick_life.c +++ b/firmware/l0dable/nick_life.c @@ -2,13 +2,12 @@ #include "basic/basic.h" +#include "lcd/print.h" #include "lcd/render.h" #include "lcd/display.h" #include "basic/config.h" -// #include "lcd/allfonts.h" - #include "usetable.h" #define BITSET_X (RESX+2) @@ -30,8 +29,6 @@ typedef uint8_t uchar; int pattern=0; #define PATTERNCOUNT 3 -#define LCDSHIFTX_EVERY_N 2 -#define LCDSHIFTY_EVERY_N 2 uchar stepmode=0; uchar randdensity=0; @@ -54,13 +51,17 @@ void ram(void) { signed char movy=1; static int nickwidth,nickheight; static int nickoff=10; + static char delay=10; + static char speedmode=0; + static char LCDSHIFTX_EVERY_N=2; + static char LCDSHIFTY_EVERY_N=2; + static char ITER_EVERY_N=1; + lcdClear(); setExtFont(GLOBAL(nickfont)); - // font = &Font_Ubuntu36pt; nickwidth=DoString(nickx,nicky,GLOBAL(nickname)); if(nickwidth<50)nickoff=30; - // nickwidth=DoString(nickx,nicky,"RAY"); nickheight=getFontHeight(); char stepmode=0; @@ -69,13 +70,13 @@ void ram(void) { lcdDisplay(); lcdClear(); // draw_area(); // xor life pattern again to restore original display content + // Old shift code. Can't handle longer Nicks... // if(iter%LCDSHIFT_EVERY_N==0) lcdShift(1,-2,1); // if(iter%LCDSHIFT_EVERY_N==0) { nickx=(nickx+1)%100-nickwidth; nicky=(nicky+1)%50;} if(iter%LCDSHIFTX_EVERY_N==0) { nickx--; if(nickx<(-1*nickwidth-nickoff))nickx=0; } if(iter%LCDSHIFTY_EVERY_N==0) { nicky+=movy; if(nicky<1 || nicky>RESY-nickheight) movy*=-1; } - // DoString(nickx,nicky,GLOBAL(nickname)); DoString(nickx,nicky,GLOBAL(nickname)); DoString(nickx+nickwidth+nickoff,nicky,GLOBAL(nickname)); if(nickwidth