Patch:Keens Left Window

From KeenWiki
Jump to navigation Jump to search

The Keens left window appears when the player loads a game or dies in Keen Vorticons. It is a small window that appears when the map is loaded along with a sound. Its purpose is to inform the player of how many lives they have remaining. It contains a line of text and some sprite images. Related patches are Patch:Extra Keen At, Patch:Lives and Patch:Game over.

Due to programming the value of the sprite image shown is the sprite image * 4 (The game stores four copies of each sprite to use when showing sprite movement.)


Keens left box

There are several variables that can be altered. The first two are the box's height and width in 8x8 tiles. The next is the text pointer (its value is the text's location less $13050) This is followed by the sprite number and its vertical location from the window top. After that is the sound played when the window appears. The last variable is the sound played when the window appears. Finally there is the 'pause length' or how long the window appears onscreen before Keen can move around on the map. By default this is 1. 0 is no pause, 2 doubles the length and so on.

Keen 1

#Lives left box:
%patch $8F2E [$0004W] #Height
%patch $8F32 [$0010W] #Width
%patch $8F42 [$2E88W] #Text read from
%patch $8F5B [$0090W] #The sprite used for keens
%patch $8F68 [$000BW] #Sprite image y position from top of box in pixels
%patch $8F82 [$0029W] #Window appearance sound
%patch $7EB9 [$0001W] #Window pause length

#Text
%patch $15ED8 "Keens left" $00

Keen 2

#Lives left box:
%patch $89BC [$0004W] #Height
%patch $89C0 [$0010W] #Width
%patch $89D0 [$2F2BW] #Text read from
%patch $89E9 [$0090W] #The sprite used for keens
%patch $89F6 [$000BW] #Sprite image y position from top of box in pixels
%patch $8A10 [$0029W] #Window appearance sound
%patch $82BB [$0001W] #Window pause length

#Text
%patch $1A6AE "Keens left" $00

Keen 3

#Lives left box:
%patch $9813 [$0004W] #Height
%patch $9817 [$0010W] #Width
%patch $9826 [$2FA7W] #Text read from
%patch $983E [$008CW] #The sprite used for keens
%patch $984B [$000BW] #Sprite image y position from top of box in pixels
%patch $9865 [$0029W] #Window appearance sound
%patch $8C5E [$0001W] #Window pause length

#Text
%patch $1C7CA "Keens left" $00


Don't display Keens Left window

This patch skips the Keen's left box when Keen appears on the map. The first line stops the box itself appearing, the second line stops the pause. The first line requires the second to be useful (Or you get a window that is instantly gone.) but the second line by itself causes the map to pause (without map Keen) a short while after Keen arrives on it.

Keen 1

#Skip keens left
%patch $7E99 $90 $90 $90 #Don't display box
%patch $7EBC $90 $90 $90 #Don't pause

Keen 2

#Skip keens left
%patch $82A1 $90 $90 $90 #Don't display box
%patch $82BE $90 $90 $90 #Don't pause

Keen 3

#Skip keens left
%patch $8C44 $90 $90 $90 #Don't display box
%patch $8C61 $90 $90 $90 #Don't pause


Don't display lives in Keens Left window

These patches stop the lives being displayed in the keen's left window, making it text only.

Keen 1

#Don't display lives in Keens Left window (Frees $8F4C-$8F7B)
%patch $8F4A $EB $30

Keen 2

#Don't display lives in Keens Left window (Frees $89EA-$8A09)
%patch $89E8 $EB $20

Keen 3

#Don't display lives in Keens Left window (Frees $983F-$985E)
%patch $983D $EB $20


Don't play sound when window appears

These patches stop a sound playing when the window appears, instead Keen's entrance onto the map will be silent.

Keen 1

#Don't play window sound
%patch $8F81 $EB $07

Keen 2

#Don't play window sound
%patch $8A0F $EB $07

Keen 3

#Don't play window sound
%patch $9864 $EB $06