Patch:Ending sequence (Keen 6)
The ending sequence in Keen 6 occurs after Keen has saved Molly, the screen goes dark, the ending sequence of text and images plays, followed by the high scores level. The ending sequence is mostly due to a loaded text chunk that allows the game to load images and text in a defined sequence. This chunk is handled completely uniquely, not allowing the player just to scroll through it as fast as they wish, but making them wait until the page is 'ready.'
Keen 6 text chunk
This is the EGAGRAPH chunk used for the ending sequence. Everything that happens after Keen wins the game is dependent on this chunk. Note that when altering this value an associated variable has to be altered by twice the amount. (As an example, changing the chunk to $1286, or one less means changing the variable to $9FF9 or two less.)
Keen 6
#Ending sequence document
%patch $E31D $15AEW #Text
%patch $E329 $A185W #Memory variable 1
%patch $E3E2 $A185W #Memory variable 2
Ready for next page images
When the current page of graphics and text has loaded and is ready for the player to press a key to move to the next page, a flashing animation of two images appears int he lower right of the page indicating this. By default this animation is of a dark\light green arrow. Both of these images and their location can be altered.
Both images must be cached first before being displayed.
Ending sequence 'page ready' animation
#Cache images for display
%patch $E305 [$001CW] #Dark green arrow
%patch $E311 [$001BW] #Light green arrow
#Display dark green arrow at 184,298
%patch $E369 [$001BW] #Image
%patch $E36D [$00B8W] #Vertical location
%patch $E371 [$012AW] #Horizontal location
#Display light green arrow at 184,298
%patch $E39C [$001CW] #Image
%patch $E3A0 [$00B8W] #Vertical location
%patch $E3A4 [$012AW] #Horizontal location
Animation speed
The arrow switching speed can be controlled to an extent. By default it is the quickest it can be, and this can be doubled, tripled, etc. Doing this will create a slight lag between when a key can be pressed and when the page will change, but since this will generally only be a few cycles it will be unnoticeable unless the animation speed is lengthened to ridiculous levels.
In general the values given here are in seconds, so the default switch happens once every second for both arrows.
Arrow animation speed
#Seconds each arrow displays
%patch $E38A [$0001W] #Dark
%patch $E3BD [$0001W] #Light
Don't show animation
This patch stops both images being displayed when the page is ready. This can make it difficult for the player to tell when they can press a key, however in some situations it may be desirable. Using just one line of the patch will make only one image appear, which is more subtle.
Don't show ending sequence 'page ready' animation
#Don't show ending sequence 'page ready' animation
%patch $E374 $90 $90 $90 $90 $90
%patch $E3A7 $90 $90 $90 $90 $90
Ending sequence doesn't wait for keypresses
This patch skips the animation and waiting when a page has loaded. This means that the player can do nothing once the ending sequence starts except wait for it to end. However this can be easily altered to make the ending sequence 'automatic'. By the use of timed bitmaps and texts a page can be lingered on for any desired amount of time.
Ending sequence doesn't wait for keypresses
#Ending sequence doesn't wait for keypresses
%patch $E368 $EB $66
Music played during ending sequence
This is the song played in the ending sequence. Due to the way music works it is actually the level whose music is played. See Patch:Music.
Keen 6
#Ending Sequence (Faster)
%patch $E33C $0001W
Don't change music for ending sequence
This patch prevents the ending sequence having its own music.
Keen 6
#Don't change music for ending sequence
%patch $E33B $EB $0A