REQUEST: Turn butler bot into rideable platform

Request patches for Keens 1-3.
Post Reply
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

REQUEST: Turn butler bot into rideable platform

Post by CommanderSpleen »

At some point either levellass or lemm devised a patch for Retrosis to make ice cubes rideable:

Code: Select all

#keen rides cubes
%patch $467A $57 $56 $E8 $E9BDW $59 $59 $B8
             $0002W  #sound on contact
            #$EB $D  #to play sound
             $EB $13 #to not play sound (must include one of the $EB lines)
I'd like to adapt this to work with the butler bot instead.

Edit
Alright, so I changed the butler bot sprite type to the same as the ice cubes:

Code: Select all

#Butler Bot sprite type:
%patch $1782 $0F $00
Combined with the above patch, this has the intended effect of allowing Keen to ride on a butler bot's head while it's walking. That's probably sufficient for this project, but it would be neat to retain the normal "freezes Keen" sprite behaviour option as well.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Also, as given that patch will make your bots vanish when offscreen.


This is the most convenient to patch, it assumes you have no other patches using this code space though!

Code: Select all

#Keen can ride bots:
%patch $55EF $EB $4A     #Make space
%patch $55F1 $66 $8B $5D $10 $66 $8B $C3 $66 $05 $00 $EE $FF $FF $66 $89 $44
             $08 $66 $8B $C3 $66 $05 $00 $EF $FF $FF $66 $89 $44 $10 $66 $8B
             $C3 $66 $05 $00 $0B $00 $00 $66 $89 $44 $10 $66 $31 $C0 $66 $31
             $DB $89 $44 $1E $90 $90 $90 $89 $44 $22 $8B $45 $20 $89 $44 $20
%patch $5631 $E9 $F065W

#Here make this what the Cube does:
%patch $46A4 $55F1W
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

I tried that patch, and it only allowed you to float on the sprite for a second or two before sliding off, rather than working as a solid platform as per Keen 2 and 3.

There is also a patch used in Retrosis that makes icecubes continue to function and remain alive while offscreen. Using that, the bots work perfectly well as horizontal platforms.

Also I found the original thread for the patch I'm using: viewtopic.php?t=1334

It uses existing Keen 2 code (I assume they had a custom library that was linked into each EXE), as opposed to my original impression that it was overwriting the freezing code in the Keen sprite collision switch. If it's just a hijack jump/call from the ice cube entry, it should be possbile to squeeze it into the bot collision code, with the side effect of it also applying to the tank bot.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

I was trying to avoid that, but if it's acceptable then yes, it is easily done.
Post Reply