





What each object does with the timing funcs
+++++++++++++++++++++++++++++++++++++++++++

Timing func description layout:

STi. sync_tick_func

To. tock_func

Ti. tick_func

*ALL*

Ti. Draw object(s) on screen

*Ball*

STi. Adjust ball's position and velocity according to physics model
(i.e. Position affected by velocity, velocity affected by
acceleration) and collision mode (if ball is a launch ball, bounce off
walls and stop when hit another ball or ceiling, if popped ball, keep
going by missing everything until wholly off the screen.)

*Ambient_Effects_Manager*

STi. Update effects according to physics and collision model and
interpolation (colour change, size, etc.)

To. Change effects states according to tocks passed (i.e. bg moves
this fast after this many tocks, explosions start after this many
tocks, sphere starts spinning the other way after so-and-so tocks,
etc.)

Ti. Draw the effects

*Popped_Balls_Manager*

STi. foreach ball *Ball*->Sti

To. Create balls that are falling / exploding off the grid

Ti. Draw falling balls on screen

*Grid_Shaker*

To. Adjust shake amount

Ti. Translate grid by shake amount

*Player_Score*

To. Adjust score value according to game rules

*Timeout_Meter*

STi. Update time counter colour/transformation

To. Update time counter value and substate (normal [yellow] or flashing
[red] )

*Launched_Ball_Manager*

STi. current ball *Ball*->Sti

To. Check ball state (i.e. ball still moving, or has stopped)

*Launcher*

To. Start/stop sounds when users moves/stops moving launcher.  Inc/dec
launcher angle depending on which way user pushed joystick
(i.e. time-based launcher movement)

*Ball_Chooser*

To. Choose next ball.  Start next ball animation.

Ti. Update next ball animation based on time passed.  Set 'animation
stopped' flag at end of animation

*Game*

STi. current_state->STi

To. current_state->To

Ti. current_state->Ti



See paper docs for ordered layout of Game func layouts


*** Local Variables: ***
*** mode: text ***
*** mode: auto-fill ***
*** End: ***

