FireWorks! by K. Sean Dempsey INTRODUCTION: I went to our Terre Haute, IN fireworks display last July 4th, and was deeply disappointed. Fissss BOOM!...wait...Fissss BOOM!...wait... etc. "Hell!" I thought. "I can do better than that!" Thus FireWorks! was born. FireWorks! is not much more than a screen hack, but I learned quite a bit about programming in BlitzBasic2 during the process and am quite willing to share my knowledge with other programmers who use this incredibly fast and versatile, if under-supported, basic compiler language. OPERATION: FireWorks! is totally configurable, and can be run from the workbench if you use an IconX-driven cli script. From the cli, cd to the directory all of the fireworks files are in and type: fw ? to get a list of all of your options. These options are: sp=Maximum speed of boom ldl=Launch dot stream length fs=Maximum # of streamers in a boom sm=Minimum # of streamers in a boom od=Total number of allowable lit dots tf=Total possible booms ml=Maximum length (in total dots per stream) of a boom mnl=Minimum length of a boom Just typing "fw" will run a fireworks display with all of the above default values. The "sp" option actually refers to the maximum amount of space between each lit dot of a streamer. Changing this is a way to change the size of a boom. The "ldl" length refers to the minimum length of the streamer that follows the launched rocket into the air. The number of streamers in a boom is a random number between "fs" and "sm". The total number of allowable lit dots on the screen is figured automatically by FireWorks! as "fs*ml*tf/4". I find this looks about the best on average. However, if you enter your own "od" number, FireWorks! will use that number. You may not enter a formula, just a number. The "tf" option is pretty self explanatory. You can have as many fireworks on the screen as you have memory for, but keep in mind, IT CAN GET SLOW! The number of dots in a streamer is a random number between "ml" & "mnl". Use them in conjunction with "sp" to adjust the size of your fireworks. To enter your options, type "fw" followed by a space, followed by your options & number values with spaces in between. The following line: fw tf 5 ldl 70 sm 39 will keep five fireworks on the screen at a time, launched rockets will have a 70 dot length minimum, and streamers will always be 39 or 40 dots in length (40 is the default maximum). Experiment! This is a neat one to try: fw sp 10 tf 1 ml 20 mnl 19 fs 70 sm 65 To quit the program, press the left mouse button until the fireworks begin to clear off the screen. SOUND FX: What is a fireworks display without the "foomp" of a launch, the "Boom!" of the explosion, the whistle of falling streamers, and the "ooh, ahh" of the crowd? Pump up the volume! All sounds were recorded with Perfect Sound software and hardware at 10,000 cyc/sec. Fireworks that are very large (within 10 percent of maximum size of ml and fs) will whistle, others near the center of the screen will get an "ooh, ahh." COLORS: Fireworks! uses the pallet and color cycling information contained in the IFF file "firepal". If you want to change the palette or cycling speed, feel free to do so, but keep a backup copy of "firepal" just in case. I used Delux Paint IV to create "firepal". BUGS AND OBSERVATIONS: There are no real bugs I have found, let me know if you find any. If you have large "ldl" and "tf" numbers, you might notice that when a launch goes up by itself, it has an exceptionally long stream. This is because the "ldl" number you enter is multiplied by the "tf" number. All those dots are divided between whatever rockets are on the screen at the time. FEEDBACK: I put some effort into this. It may not seem like it, but I did. I have always hated when authors of programs release a "demo" version and expect fifteen bucks in exchange for the "real" version. The authors that distribute a fully functional program and ask for donations I always considered a little illogical. Now that I'm programming, I find myself in the same situation. I spent quite a few hours of my life doing this! Do I get nothing in return? I could distribute FireWorks! in a form where only the default values worked, and demand five bucks for the configurable version. No, no, I've always hated that. -- See my problem? Here's the deal. If you like FireWorks! and want to donate something to me out of the goodness of your heart for all my work, if you send me 5 bucks I'll make sure you get an upgrade if there are any (I've been thinking about making it a screen blanker...). My address is, K. Sean Dempsey 1421 S. 9th Terre Haute, IN 47802 If you have ANY suggestions, comments, or insect sightings (bug reports), my GEnie address is K.DEMPSEY or KSD on the local board TeleRap at (812) 235-6869. I am totally willing to add a feature and re-release FireWorks! if somebody has a good suggestion. SHAMELESS PLUGS: I have some hi-res art you might want to download; I put a lot of work into each picture, and they're rather good if I do say so myself. Be warned, two are rated R and the other PG13. Just type in K.DEMPSEY at the uploader address prompt during a search. Also, I'm working on a game based on the Robotech cartoon series. It will feature digitized frames from the series, digitized sound effects, great graphics because I'm digitizing robots and jets and stuff, and fast, exciting game play with music from the series. EXTRAS: I included a couple of extra programs, just for fun. "Lines" and "Two Lines" use "pal" for their colors.