Patch:Keen on Platforms
This page deals with patches relating to Keen standing on Platforms. In most games Keen can stand on certain sprites as if they were solid ground, however in Keen 5 there is a special action for when Keen is standing on Platform type sprites. Most of the patches on this page relate to this special case.
Keen's ability to stand on platforms is controlled by his sprite collision and is thus covered on the various Keen pages for each episode. This page deals only with the special case in Keen 5.
Sprite actions
The 'Keen on Platforms' action is but a single action. It loops to itself so Keen will continue in that action once he has started. The action responds to the usual keypresses so that Keen can stop standing on Platforms in the same way he can stop standing still.
There are two checks that transform a standing Keen into a Platform standing Keen; the first is part of Keen's 'stand on ground' code, the second part of his 'stand still' code. In both cases once it is detected that Keen is in contact with a Platform the game will check to see if he is already using the special action, and if not will transform him.
Actions: $08A6W #Keen on platforms
Keen 5
#Keen on ground
%patch $AE2B [$08A6W] #If not this...
%patch $AE32 [$08A6W] #...become this
#Keen still
%patch $AF6D [$08A6W] #If not this...
%patch $AF74 [$08A6W] #...become this
#Stand on Platforms loop
%patch $30C02 [$08A6W]
Keen doesn't use the special action
This patch overrides both checks meaning that while Keen can stand on Platforms as if they were solid ground, he does not use the special action and animation.
Keen 5
#Keen doesn't use special 'stand on Platforms' action
%patch $AE2D $EB
%patch $AF6F $EB
Sprite Behavior
When on Platforms Keen uses a unique behavior, one that is a subset of Keen's standing behavior, 'GroundInput'. This means that it largely behaves the way Keen does when standing still and cannot do anything different or new.
Sprite behavior
#Stand on Platforms
%patch $30BF6 $0AAF032BRL
Speed and Jump Height
On platforms Keen does have a downwards speed. This combined with his animation and 'stick to ground' variables means he is constantly pushing down into the ground and will fall if said ground is removed.
Sprite speed
#Stand on Platforms
%patch $30BF2 [$0000W $0020W]
Sprite Collision
Keen uses his usual sprite collision when riding platforms.
Sprite collision
#Stand on Platforms
%patch $30BFA $0AAF1597RL
Animations
Keen has a unique platform-riding animation which is one of the few thins that sets it apart from his standing state.
Sprite animation
#Stand on Platforms
%patch $30BE6 $008BW $008BW
%patch $30BF0 $0004W #Animation speed
Sprite-tile interaction
Keen uses his 'stand on ground' tile interaction when on platforms.
Sprite tile interaction
#Stand on Platforms
%patch $30BFE $0AAF1AC6RL
Action type
As Keen must move smoothly react quickly and animate his action is type 3.
Sprite action type
#Stand on Platforms
%patch $30BEA [$0003W]
Deprotect and stick to ground
In order to properly fall if the ground vanishes Keen needs to use the 'stick to ground' variable for this action.
Sprite deprotect, stick
#Stand on Platforms
%patch $30BEC [$0000W $0001W]