void encode(cell *c, state50 s, int mod, int spn) { /*int i = 0; i *= 16; i += s.color; i *= 16; i += s.color2; i *= 16; i += s.polarity1; i *= 16; i += s.polarity2; i *= 16; i += mod; i *= 16; i += spn; if(c->master->fiftyval) { printf("multiply 50val\n"); exit(1); } c->master->fiftyval = i; c->master->fiftyused = false; */ c->master->fiftyval = s.color + s.polarity1 * 8 + s.polarity2 * 16 + mod * 32; // s.color * 16 + (s.polarity1 ? 128 : 0) + (s.polarity2 ? 256 :0) + mod; saveCode(c); for(int i=0; i<7; i++) saveCode(createStep(c->master, i)->c7); /* for(int i=0; i<7; i++) if(c->master->move[i]) { saveCode(c->master, i, c->master->move[i]); saveCode(c->master->move[i], c->master->spin[i], c->master); } */ }
void Splash() { lcd_init(); struct animStep anim[16]; char name[3]; lcd_set_char(0,(unsigned char*)Aini0); lcd_set_char(1,(unsigned char*)Aini1); lcd_set_char(2,(unsigned char*)Aini2); lcd_set_char(3,(unsigned char*)Aini3); lcd_set_char(4,(unsigned char*)Aini4); lcd_set_char(5,(unsigned char*)Aini5); lcd_set_char(6,(unsigned char*)Aini6); lcd_set_char(7,(unsigned char*)Aini7); int animLength = 13; int i; anim[0] = createStep(6,8,2); anim[1] = createStep(6,8,2); anim[2] = createStep(0,8,2); anim[3] = createStep(1,8,2); anim[4] = createStep(2,8,2); anim[5] = createStep(3,8,2); anim[6] = createStep(4,9,2); anim[7] = createStep(3,10,2); anim[8] = createStep(4,11,2); anim[9] = createStep(3,12,2); anim[10] = createStep(1,12,2); anim[11] = createStep(0,12,2); anim[12] = createStep(7,12,2); name[0] = 'D'; name[1] = 'L'; name[2] = 'L'; for(i = 0; i < animLength; i++) { if(i == 6) { lcd_gotoxy(i+2,2); _lcd_write_byte(5,1); } else if(i > 6 && i < 10) { lcd_gotoxy(i+2,2); _lcd_write_byte(6,1); lcd_gotoxy(i+2,1); _lcd_write_byte(name[i-7],1); } lcd_gotoxy(anim[i].posx,anim[i].posy); _lcd_write_byte(anim[i].sprite,1); _delay_ms(100); } _delay_ms(1000); lcd_clear(); }