Go to the first, previous, next, last section, table of contents.

## Animation

In addition to basic imaging, you can also support requests for the playing of animations or movies.

The kernel just calls `schedule_movie` to create one, and then `play_movies` when it is time to run all the movies that have been scheduled. It is up to the interface to do something useful. Note that the kernel is not aware of the movies' timing, so it is better not to call `run_game` until all the movies have finished playing (although the kernel doesn't care, the display might end up looking screwy when detonations happen in just-vacated cells.)

- `schedule_movie(side, movie_type, args...)` The kernel calls this to request that the given type of movie be displayed to the given side, with the given args to describe it. If the interfaces supports this, it must arrange its own storage and handling of movie data.
- `play_movies(sidemask)` The kernel calls to request that all previously-scheduled movies be run, for the sides enabled in the side mask. It is allowable for the interface not to act on any user input while these are playing.

Several types of movies are predefined, so your interface can recognize them specially. These include `movie_miss`, `movie_hit`, `movie_death`, which are scheduled for the appropriate outcomes of combat.

Go to the first, previous, next, last section, table of contents.