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
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_death, which are scheduled
for the appropriate outcomes of combat.