/* fireworks.c Firework definition code Copyright (c) 1998-1999, Mike Oliphant and Rob Clark */ #include #include "pyro.h" FW_Template fw_white={ "white", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .05,.01, /* launchvel,dev */ .04, /* sidevel */ 0.0, /* dyexplode */ 300, /* numparts */ 1, /* numkinds */ 0, /* flags */ {&pt_white,NULL,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_rednwhite={ "rednwhite", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .05,.01, /* launchvel,dev */ .04, /* sidevel */ 0.0, /* dyexplode */ 300, /* numparts */ 2, /* numkinds */ 0, /* flags */ {&pt_white,&pt_red,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_innout={ "innout", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .06,.01, /* launchvel,dev */ .03, /* sidevel */ 0.0, /* dyexplode */ 400, /* numparts */ 2, /* numkinds */ 0, /* flags */ {&pt_inside,&pt_outside,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_spray={ "spray", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .1,.005, /* launchvel,dev */ .15, /* sidevel */ 0.1, /* dyexplode */ 100, /* numparts */ 1, /* numkinds */ 0, /* flags */ {&pt_purple,NULL,NULL,NULL,NULL}, /*ptemplates */ }; FW_Template fw_xz_wobble={ "xzwobble", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .06,.02, /* launchvel,dev */ .04, /* sidevel */ 0.0, /* dyexplode */ 100, /* numparts */ 1, /* numkinds */ 0, /* flags */ {&pt_xz_wobble,NULL,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_rg={ "rg", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .05,.02, /* launchvel,dev */ .04, /* sidevel */ 0.0, /* dyexplode */ 300, /* numparts */ 1, /* numkinds */ 0, /* flags */ {&pt_rg,NULL,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_rb={ "rbwhoosh", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .06,.02, /* launchvel,dev */ .02, /* sidevel */ -0.03, /* dyexplode */ 300, /* numparts */ 1, /* numkinds */ 0, /* flags */ {&pt_rb,NULL,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_lilyel={ "lilyel", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .06,.01, /* launchvel,dev */ .04, /* sidevel */ 0.03, /* dyexplode */ 50, /* numparts */ 1, /* numkinds */ 0, /* flags */ {&pt_lilyel,NULL,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_purple={ "purple", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .05,.02, /* launchvel,dev */ .05, /* sidevel */ 0.0, /* dyexplode */ 300, /* numparts */ 1, /* numkinds */ 0, /* flags */ {&pt_purple,NULL,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_cyan={ "cyan", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .05,.02, /* launchvel,dev */ .05, /* sidevel */ 0.0, /* dyexplode */ 200, /* numparts */ 1, /* numkinds */ 0, /* flags */ {&pt_cyan,NULL,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_yellow={ "yellow", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .05,.02, /* launchvel,dev */ .05, /* sidevel */ 0.0, /* dyexplode */ 300, /* numparts */ 1, /* numkinds */ 0, /* flags */ {&pt_yellow,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_ring={ "ring", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .055,.01, /* launchvel,dev */ .04, /* sidevel */ 0.0, /* dyexplode */ 600, /* numparts */ 2, /* numkinds */ 0, /* flags */ {&pt_red,&pt_cyanring,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_yellgrn={ "yellgrn", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .055,.01, /* launchvel,dev */ .04, /* sidevel */ 0.0, /* dyexplode */ 300, /* numparts */ 1, /* numkinds */ 0, /* flags */ {&pt_yellgrn,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_purpblue={ "purpblue", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .055,.01, /* launchvel,dev */ .04, /* sidevel */ 0.0, /* dyexplode */ 300, /* numparts */ 1, /* numkinds */ 0, /* flags */ {&pt_purpblue,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_cross={ "cross", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .055,.01, /* launchvel,dev */ .04, /* sidevel */ 0.0, /* dyexplode */ 600, /* numparts */ 4, /* numkinds */ 0, /* flags */ {&pt_white,&pt_bluexline,&pt_blueyline,&pt_bluezline,NULL}, /* ptemplates */ }; FW_Template fw_whitespark={ "whitespark", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .05,.03, /* launchvel,dev */ .07, /* sidevel */ 0.0, /* dyexplode */ 200, /* numparts */ 1, /* numkinds */ WORK_SPARKLER, /* flags */ {&pt_whitespark,NULL,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_goldenspark={ "goldenspark", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .05,.03, /* launchvel,dev */ .07, /* sidevel */ 0.0, /* dyexplode */ 200, /* numparts */ 1, /* numkinds */ WORK_SPARKLER, /* flags */ {&pt_goldenspark,NULL,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_rgspark={ "rgspark", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .05,.03, /* launchvel,dev */ .07, /* sidevel */ 0.0, /* dyexplode */ 200, /* numparts */ 1, /* numkinds */ WORK_SPARKLER, /* flags */ {&pt_rgspark,NULL,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_vertring={ "vertring", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .055,.01, /* launchvel,dev */ .04, /* sidevel */ 0.0, /* dyexplode */ 300, /* numparts */ 1, /* numkinds */ 0, /* flags */ {&pt_cyanvertring,NULL,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template fw_rbspark={ "rbspark", /* name */ 0.0,-2.0,0.0, /* x,y,z */ .05,.03, /* launchvel,dev */ .07, /* sidevel */ 0.0, /* dyexplode */ 200, /* numparts */ 1, /* numkinds */ WORK_SPARKLER, /* flags */ {&pt_rbspark,NULL,NULL,NULL,NULL}, /* ptemplates */ }; FW_Template *Fireworks[NUMWORKS]={ &fw_rb, &fw_lilyel, &fw_rg, &fw_xz_wobble, &fw_spray, &fw_rednwhite, &fw_innout, &fw_white, &fw_purple, &fw_cyan, &fw_yellow, &fw_ring, &fw_yellgrn, &fw_purpblue, &fw_cross, &fw_whitespark, &fw_goldenspark, &fw_rgspark, &fw_rbspark, &fw_vertring };