\r
\r
void\r
+fadeOffHalf(word fade, byte *palette) {\r
+ fadePaletteHalf(fade, 0, 64/fade+1, palette);\r
+}\r
+\r
+\r
+void\r
flashOn(word fade, byte *palette) {\r
fadePalette(fade, -64, 64/fade+1, palette);\r
}\r
}\r
}\r
\r
+static void\r
+fadePaletteHalf(byte fade, byte start, word iter, byte *palette) {\r
+ word i;\r
+ byte dim = start;\r
+\r
+ /* handle the case where we just update */\r
+ if(iter == 0) {\r
+ palUpdate(palette);\r
+ return;\r
+ }\r
+\r
+ while(iter > iter/2) { /* FadeLoop */\r
+ for(i=0; i<PAL_SIZE; i++) { /* loadpal_loop */\r
+ tmppal[i] = palette[i] - dim;\r
+ if(tmppal[i] > 127) {\r
+ tmppal[i] = 0;\r
+ } else if(tmppal[i] > 63) {\r
+ tmppal[i] = 63;\r
+ }\r
+ }\r
+ palUpdate(tmppal);\r
+ iter--;\r
+ dim += fade;\r
+ }\r
+}\r
\r
/* save and load */\r
void\r