diff options
Diffstat (limited to 'instructables/cube_pc/launch_effect.c')
-rw-r--r-- | instructables/cube_pc/launch_effect.c | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/instructables/cube_pc/launch_effect.c b/instructables/cube_pc/launch_effect.c new file mode 100644 index 0000000..b49b4af --- /dev/null +++ b/instructables/cube_pc/launch_effect.c @@ -0,0 +1,182 @@ +#include "launch_effect.h" +#include "effect.h" +#include "draw.h" +#include "gameoflife.h" + +void launch_effect (int effect) +{ + int i; + unsigned char ii; + + fill(0x00); + + switch (effect) + { + case 0x00: + effect_rain(100); + break; + + + case 1: + sendvoxels_rand_z(20,220,2000); + break; + + case 2: + effect_random_filler(5,1); + effect_random_filler(5,0); + effect_random_filler(5,1); + effect_random_filler(5,0); + break; + + case 3: + effect_z_updown(20,1000); + break; + + case 4: + effect_wormsqueeze (2, AXIS_Z, -1, 100, 1000); + break; + + case 5: + effect_blinky2(); + break; + + case 6: + for (ii=0;ii<8;ii++) + { + effect_box_shrink_grow (1, ii%4, ii & 0x04, 450); + } + + effect_box_woopwoop(800,0); + effect_box_woopwoop(800,1); + effect_box_woopwoop(800,0); + effect_box_woopwoop(800,1); + break; + + case 7: + effect_planboing (AXIS_Z, 400); + effect_planboing (AXIS_X, 400); + effect_planboing (AXIS_Y, 400); + effect_planboing (AXIS_Z, 400); + effect_planboing (AXIS_X, 400); + effect_planboing (AXIS_Y, 400); + fill(0x00); + break; + + case 8: + fill(0x00); + effect_telcstairs(0,800,0xff); + effect_telcstairs(0,800,0x00); + effect_telcstairs(1,800,0xff); + effect_telcstairs(1,800,0xff); + break; + + case 9: + effect_axis_updown_randsuspend(AXIS_Z, 550,5000,0); + effect_axis_updown_randsuspend(AXIS_Z, 550,5000,1); + effect_axis_updown_randsuspend(AXIS_Z, 550,5000,0); + effect_axis_updown_randsuspend(AXIS_Z, 550,5000,1); + effect_axis_updown_randsuspend(AXIS_X, 550,5000,0); + effect_axis_updown_randsuspend(AXIS_X, 550,5000,1); + effect_axis_updown_randsuspend(AXIS_Y, 550,5000,0); + effect_axis_updown_randsuspend(AXIS_Y, 550,5000,1); + break; + + case 10: + effect_loadbar(700); + break; + + case 11: + effect_wormsqueeze (1, AXIS_Z, 1, 100, 1000); + break; + + + case 12: + effect_stringfly2("Boo !!!!"); + break; + + case 13: + fill(0x00); + // Create a random starting point for the Game of Life effect. + for (i = 0; i < 20;i++) + { + setvoxel(rand()%4,rand()%4,rand()%4); + } + + gol_play(20, 400); + break; + + case 14: + effect_boxside_randsend_parallel (AXIS_Z, 0 , 200,1); + delay_ms(1500); + effect_boxside_randsend_parallel (AXIS_Z, 1 , 200,1); + delay_ms(1500); + + effect_boxside_randsend_parallel (AXIS_Z, 0 , 200,2); + delay_ms(1500); + effect_boxside_randsend_parallel (AXIS_Z, 1 , 200,2); + delay_ms(1500); + + effect_boxside_randsend_parallel (AXIS_Y, 0 , 200,1); + delay_ms(1500); + effect_boxside_randsend_parallel (AXIS_Y, 1 , 200,1); + delay_ms(1500); + break; + + case 15: + boingboing(250, 600, 0x01, 0x02); + break; + + case 16: + effect_smileyspin(2,1000,0); + break; + + case 17: + effect_pathspiral(100,500); + break; + + case 18: + effect_path_bitmap(700,2,3); + break; + + case 19: + effect_smileyspin(2,1000,1); + break; + + case 20: + effect_path_text(1000,"TG"); + break; + + case 21: + effect_rand_patharound(200,500); + break; + + case 22: + effect_wormsqueeze (1, AXIS_Z, -1, 100, 1000); + break; + + case 23: + effect_smileyspin(2,1000,2); + break; + + case 24: + effect_random_sparkle(); + break; + + case 25: + effect_wormsqueeze (1, AXIS_Z, -1, 100, 1000); + break; + + case 26: + boingboing(250, 600, 0x01, 0x03); + break; + + // In case the effect number is out of range: + default: + effect_stringfly2("FAIL"); + break; + + + + } +} + |