Share

ATITD Pyrotechnics Simulator

File Release Notes and Changelog

Release Name: 0.8.8

Notes:
ATITD Fireworks Simulator README
--------------------------------

Notes:
  - There are a number of things this simulator doesn't do (yet):
    - Doesn't have some of the bugs in ATITD fireworks
    - Doesn't not have any bugs
    Keep these in mind when you're designing your firework. You'll certainly 
    want to test it in-game.
  - Special thanks to GarrettH, Yargh, ArmEagle, Ashmael, and Sord for their help.
  
  - Please submit bug reports to the SourceForge project at 
    http://www.sourceforge.net/projects/atitdpyrosim - be as descriptive as
    you can, and if possible, please include the design file you were working
    on. Any suggestions or questions are welcome as well.

Windows installation:
  - Copy pyrosim.exe and *.txt files to a directory of your choice.
  - Copy glut32.dll to your Windows\system directory.

Windows execution:
  - Give pyrosim.exe a filename that specifies the firework's design. 
    See file format below.
  - Dragging a file onto the executable also works.
  
Linux installation:
  - To be completed. Please post on the atitd.info forum if you need assistance.

View controls:
  Click and hold right mouse to rotate camera.
  Click and hold middle mouse to zoom.
  Alternatively, click and hold right and left mouse to zoom.
  Hold shift while clicking to speed camera movement.
  Hold control while clicking to slow camera movement.
  c		- resets the camera
  left		- moves west
  right		- moves east
  up		- moves north
  down		- moves south
  a		- restricts camera movement to horizontal/vertical/no 
		  restriction
  e		- restricts camera movement to [0, 90] degrees elevation 
		  (between on the ground and directly above)

Display controls:
  space		- starts/pauses the firework
  page down	- take a single step in the current speed
  r		- resets the firework
  f		- reloads the firework from the file and resets
  1-4		- simulation speed
  7		- select 3D arrow model
  8		- select 2D arrow model
  9		- select star model
  0		- select sphere model
  t		- toggles timer
  l		- toggles stage number labels
  n		- toggles northward pointing arrow
  g		- toggles ground
  m		- toggles model type - cycles through: 3D arrow, 2D arrow, 
		  star, sphere (glower model to be added in the future)
  \		- toggles randomness in launches, and resets fireworkn
  p		- toggles auto repeat
  v		- shows current version
  F1		- toggles fullscreen

Other:
escape	- exit


Design file format:

Each stage is defined on one line by:
  <duration> <initial speed> <thrust> <rotation rate> <rotation direction> <color> <parent stage> <launch type> <rockets> <repetitions> <offset>	  

Where:
  - rotation direction is one of right|left|up|down
  - color is one of none|blue|cyan|green|magenta|orange|red|strange|violet|white|yellow
  - launch type is one of right|left|up|down|forward|ring|funnel|omni|random
  - duration, initial speed, thrust, rotation rate, and offset are positive real numbers
  - parent stage is an integer between 1 and 20
  - rockets and repetitions are positive integers

- Upward, downward, leftward, rightward are accepted as well.
- Nonglowing is accepted as well.
- Parent, launch direction, rockets, repetitions, and offset are ignored for
  stage 1, and may be omitted. 
- Lines beginning with either a percent sign (%), a pound sign (#), or two forward slashes (//) are considered comments and are ignored.
- Blank lines count as a stage (eg. if the 5th line of the file is blank, that
  stage will have default values and won't launch). Comments are not considered blank stages. 
- Any text after the 20th line (not including comments) is ignored.

Some sample design files are included. These files are tab delimited. Tip from
Yargh: use a spreadsheet application such as Microsoft Excel to edit the files 
and save in tab-delimited format.

Changes: VERSIONS 0.8.8 - 5/4/04 * Fixed a bug that was squishing random launches into a small range for Linux compiles * Fixed a bug that would leave stages in the simulator design that were deleted from the file design when the file was reloaded ('f' key) 0.8.7 - 5/2/04 * Fixed up/down/left/right lauches from vertical rockets pointing skyward. Need to test in game to see if vertical ground pointing rockets are also correct or flipped. * Fixed downward vertical up/down/left/right launch & rotation issues. Basic launches and rotations are now believed to match the game. * Fixed a bug in 0.8.6 where a non-vertical parent launching a vertical child that's not moving in the XZ plane & is rotating up/down wasn't rotating correctly. - up_xz vector wasn't being set back to the default. * Added new model type DIRECTED_3D_MODEL, a 3D arrow that can be view from any angle and includes a thrust tail (pink if rocket has thrust, grey if not). * Added new model type STAR_MODEL, a star shape that's much easier on the renderer than the sphere. * Added new model selection keys (7, 8, 9, 0) * Rotated environment to match North being directly away (and the north arrow). * Modified randomness and the movement threshold to closer match the game settings (based only on general observation, could still use improvement). 0.8.6 - 4/28/04 * Fixed a small bug in launch directions. Seen in 0.8.5 in snake.txt. * Made changes based on RedStorm's Linux version. This code should compile under whatever conditions RedStorm compiled under. More info to be added about compiling in Linux. 0.8.5 - 4/26/04 * Many physics changes done by Sord: * Up/down/left/right launches should work correctly for non-vertical parent stages. They /may/ be right for vertical parents. * Up/down rotations should work correctly * Omnis are implemented, but are not completely accurate. 4, 6, and 8 are close to in game. 7, 9, and 11+ use random values. * Random launches with N rockets launch N rockets per repetition * Small amount of randomness added to launches * Fireworks will load slower (upon application start and firework resets/reloads), particularly on large designs. This is due to some new precalculations. * The full extent of the changes has not yet been documented in code. * Added '\' key to toggle randomness; off by default. Toggling this option will cause the firework to reload. (A GUI is coming soon, I promise.) * Moved futureRocket to its own file at suggestion of Ashmael for std::list compatibility with older compilers * SSE code (non-working anyway) in this version has been removed. It'll be added back in by next release, with #ifdefs to disable it if not compiler-supported. 0.8 - 4/16/2004 * Swapped left and right launch directions * Changed launch code so that rotations are now consistent among different launch directions. Before, up and down launches would rotate downward differently. * Made a temporary change to rotations so that left/right rotation is applied in a different order than up/down * Added 'page down' key to take a step forward in time if simulation is paused, using current speed * Made the brown more bearable...color settings on my devel machine were funky. * Holding left and right mouse buttons acts as middle mouse button (zooms) * Change file format slightly to be more flexible - accepts -ward suffixes now, and is case insensitive * Added # and // as valid beginning of line comment markers * Partially implemented resource costs; does not display yet * Various speed fixes and optimizations * Began to enhance math library; having issues with SSE intrinsics 0.7b - 3/16/2004 * Change the color of the blue and violet glowers to the same brightness as the other glowers * Increased the sphere size again - is it big enough yet? * Fixed the timing again. Really, it's fixed this time! * Repetitions using offset are changed. I was using an incorrect formula to calculate the times. Thanks to ArmEagle on this one. * Added 'p' key to toggle auto repeat of firework. If it's on, your firework will loop back to the beginning after all the rockets have expired. 0.7a - 3/15/2004 * Fixed timing in slower speeds * Smoothed animation in slower speeds * Fixed 1/10 speed launching problem * Made nonglowing glowers smaller when using the sphere model, made other glowers a little larger * Modified default design slightly * Added 'v' key to show current version * Stages with less than 0.01 seconds duration specified in the design are interpreted as 0.01 seconds duration * Fixed a small bug with rotation that was flipping up and down, but did not fix the overall disparity with Egypt 0.7 - 2/29/2004 * Initial release * Added 'g' key to toggle the ground * Added arrow keys to move the viewpoint * Added '+' and '-' keys to raise and lower the viewpoint * Added F1 key to toggle fullscreen mode * Added mouse modifiers - pressing shift when clicking right/middle mouse speeds movement by 3; pressing control slows movement by 1/3 * Better method for getting status and timer text to stay in place * Moved initial camera position to point north * Changed the default camera settings to make better use of the screen * Changed square model to a circle * Finally fixed depth testing (note to future self: call glEnable(DEPTH_TEST) in the display function also, but why?! gr.) * Added random launches * Fixed the bug that occasionally launched extra rockets - pesky bug to find! * Made out-of-order launch sequences work, though they may not work in ATITD (eg. stage 5 launches from stage 10 which launches from stage 1) 0.6 - 2/25/2004 * Added 'f' key to reload from file and reset firework * Added comment character '%' to file format * Corrected up/down rotations; were previously swapped * Right directional rotations rotate correctly; previously rotated downward 0.5 - 2/23/2004 * Initial controlled release