aboutsummaryrefslogtreecommitdiffstats
path: root/instructables/cube8/launch_effect.c
diff options
context:
space:
mode:
Diffstat (limited to 'instructables/cube8/launch_effect.c')
-rw-r--r--instructables/cube8/launch_effect.c182
1 files changed, 182 insertions, 0 deletions
diff --git a/instructables/cube8/launch_effect.c b/instructables/cube8/launch_effect.c
new file mode 100644
index 0000000..01b56c6
--- /dev/null
+++ b/instructables/cube8/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("INSTRUCTABLES");
+ 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;
+
+
+
+ }
+}
+