Keen 1 patch requests

Request patches for Keens 1-3.
Post Reply
Shikaddi
Posts: 4
Joined: Sun Nov 02, 2014 5:19 pm

Keen 1 patch requests

Post by Shikaddi »

Which of the following is possible?

-make keen stand on Butler robots.

-keen is invincible while frozen.
-keen unfreezes when he hits a wall (while frozen).

-chain moves horizontally till it hits a wall, then turns.
-change chain collision with keen to kill/block/freeze (done)
-chain is invincible/not affected by shot/shot passes through it/anything else with the same effect. (done)
Last edited by Shikaddi on Tue Nov 04, 2014 8:41 pm, edited 1 time in total.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

All are possible at least in theory; the question is of how easy they are to do. A lot of these will require a good sit down to get going.


The easiest is the invincible chain patch:

Code: Select all

#Chain is invincible:
%patch $1916 $3360W
This however causes Keen's shots to still hit it. (And the Tank's too I believe.) There is a patch to stop THAT but it then stops the Chain blocking, killing or freezing Keen.

The next easiest patch is the block-freeze-kill one. You'll have to pick one:

Code: Select all

#The chain...
%patch $46AA $4662W #Kills
%patch $46AA $4646W #Blocks
%patch $46AA $467AW #Freezes
Once that is done it may be possible to combine that with a 'shots pass through' patch. This too is easy but can't be done until you make your choice. (For one thing it will affect the Chain patches above for... reasons.)

After that, we'll see.
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

For riding butler bots, in KeenDroid I used lemm's ice cube platform patch and then applied that sprite value to the butler bot. But the side effect is that ice cubes are no longer useable as such (though maybe you change their property to a tank bot bullet or something?)

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)

#Butler Bot sprite type:
%patch $1782 $0F $00
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Indeed; and that will be part of the 'shot passes through' patch I mentioned above. Once a decision is made on the chain collision other things can be worked out.
Shikaddi
Posts: 4
Joined: Sun Nov 02, 2014 5:19 pm

Post by Shikaddi »

invincible chain is good enough, i just meant either one of them, whichever is easiest.
shots don't have to pass through if its invincible. it's just an alternative.

the butler robot patch seems to make butler robots disappear when they go to far offscreen
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

That's a side effect of using the ice type. As I said, tell me what you want the Chain to do when Keen touches it and I can work around all those bugs.
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

Ah, yes. This is the other part of that patch:

Code: Select all

#Existing ice cubes continue flight even offscreen
%patch $3340 $83 $3E $20 $82 $09 $7C $13 $83 $3E $20 $82 $0F $74 $0C $90
Also

Code: Select all

#Cubes don't interact with any other sprite
%patch $213E $2045W 
Shikaddi
Posts: 4
Joined: Sun Nov 02, 2014 5:19 pm

Post by Shikaddi »

a freezing chain is the most interesting if it makes keen slide left or right.

Code: Select all

#The chain... 
%patch $46AA $467AW #Freezes
causes the chain to block without pushing, instead of freezing.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Ok, so this is what I have so far. TAKE NOTE; these patches all work together; they override ALL the patches above so you must DELETE THEM from your patchfile or they will sit around making trouble. (Just want to be clear on that. If you get a problem like 'The game crashes when I touch an ice cube!' it will probably be because you left old patches in.)

This covers nearly everything you want. The Chain cannot be destroyed. On contact it freezes Keen like an Icecube. Icecubes also freeze Keen.

While frozen Keen has God mode. When not frozen he doesn't. This does interfere with the cheat but if you want a cheat exception things get Lemm-level tricky. When frozen Keen hits a wall he unfreezes. He is still immortal while unfreezing.

Keen can ride on the Butler Robots but not the Tank Robots. The Butler Bots push sideways too, like moving Platforms in Keen 3.

Code: Select all

#Chain is invincible:
%patch $1916 $3360W

#Cubes and Chain Freeze Keen
%patch $46AA $6884W #Chain
%patch $46B8 $6884W #Cubes

#New freezing code; makes Keen immortal
%patch $6884 $C7 $44 $32 $68ADW  $8B $45 $20 $89 $44 $20 $8B $45 $22 $89 $44
             $22 $C7 $44 $2A $0320W  $B8 $0028W  $50 $E8 $5652W  $44 $44 $C7
             $06 $5DAAW  $0001W  $5F $5E $5D $C3

#New frozen behavior, mortalize on recovery, smash when hitting walls
%patch $68AD $55 $8B $EC $56 $A1 $5135W  $B1 $05 $D3 $E8 $25 $01 $00 $05 $001CW
             $A3 $8248W  $A1 $824AW  $2B $06 $14 $5B $A3 $824AW  $0B $C0 $7D
             $19 $C7 $06 $48 $82 $001FW  $83 $3E $4A $82 $CE $7D $0C $C7 $06 
             $8252W  $3867W  $C7 $06 $5DAAW  $0000W  $E8 $C33FW  $E8 $C37FW
             $8B $F0 $A9 $04 $00 $75 $06 $F7 $C6 $01 $00 $74 $06 $C7 $06 $824AW
             $0002W  $E8 $CA61W  $5E $5D $C3

#Butler bots point to stand code
%patch $46A4 $6907W

#Keen can stand on Butler Bots code
%patch $6907 $57 $56 $E8 $C730W $59 $59 $5F $5E $5D $C3

These patches won't work with the original graphics of Keen 1. How do you want the Chain to work? I'm assuming it just bounces back and forth off of walls, it doesn't need a turning animation. Will it animate at all?

The Butler Robots can be made to fly through the air too.
Shikaddi
Posts: 4
Joined: Sun Nov 02, 2014 5:19 pm

Post by Shikaddi »

animating is not needed for its idea, so i am not going to bother you with it. so it just bounces of walls, doesn't need any animation. the moving of the chain is so keen doesn't fall straight down.

i would rather not have flying butler robots.

all patches work perfectly, thank you so much.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Once again this overrides all the above patches. (You will notice it's mostly the same as the above anyway.) The Chain falls and moves back and forth without animating. It also walks off of edges. This causes problems for me as the Chain freezes Keen and pushes him along, keeping him frozen forever. You may want the Chain to fly like a platform so Keen can be frozen then fall down out of the way. To do this replace $E8 $08F0W in the last section with $90 $90 $90.

The speeds of the Chain are $005AW (Right) and $FFC4W (left) Change these to speed or slow it.

I think this is everything. It leaves a lot of patch space open for more fancy stuff.

Code: Select all

#Cubes and Chain Freeze Keen
%patch $46AA $6884W #Chain
%patch $46B8 $6884W #Cubes

#New freezing code; makes Keen immortal
%patch $6884 $C7 $44 $32 $68ADW  $8B $45 $20 $89 $44 $20 $8B $45 $22 $89 $44
             $22 $C7 $44 $2A $0320W  $B8 $0028W  $50 $E8 $5652W  $44 $44 $C7
             $06 $5DAAW  $0001W  $5F $5E $5D $C3

#New frozen behavior, mortalize on recovery, smash when hitting walls
%patch $68AD $55 $8B $EC $56 $A1 $5135W  $B1 $05 $D3 $E8 $25 $01 $00 $05 $001CW
             $A3 $8248W  $A1 $824AW  $2B $06 $14 $5B $A3 $824AW  $0B $C0 $7D
             $19 $C7 $06 $48 $82 $001FW  $83 $3E $4A $82 $CE $7D $0C $C7 $06 
             $8252W  $3867W  $C7 $06 $5DAAW  $0000W  $E8 $C33FW  $E8 $C37FW
             $8B $F0 $A9 $04 $00 $75 $06 $F7 $C6 $01 $00 $74 $06 $C7 $06 $824AW
             $0002W  $E8 $CA61W  $5E $5D $C3

#Butler bots point to stand code
%patch $46A4 $6907W

#Keen can stand on Butler Bots code
%patch $6907 $57 $56 $E8 $C730W $59 $59 $5F $5E $5D $C3

#Chain uses new spawn (Goes to Falling block (Code at $16C1 + $BF5 + $5 = $22BB))
%patch $16C1 $57 $56 $E8 $0BF5W  $83 $C4 $04 $EB $24

#New chain spawn; sets speed, invincible
%patch $22BB $55 $8B $EC $56 $E8 $0673W  $8B $F0 $C7 $04 $0008W  $8B $46 $04 #Sprite type = 5
             $99 $B1 $0C $E8 $BE80W  $89 $44 $04 $89 $54 $06 $8B $46 $06 $99
             $B1 $0C $E8 $BE71W  $89 $44 $08 $89 $54 $0A $C7 $44 $20 $005AW  #Start speed = $5A
             $8B $44 $06 $8B $54 $04 $3B $06 $E0 $6E $7F $10 $7C $06 $3B $16
             $DE $6E $73 $08 $8B $44 $20 $F7 $D8 $89 $44 $20 $C7 $44 $32
         $2319W  $C7 $44 $34 $3360W  $C7 $44 $28 $0072W  $5E $5D $C3

#Chain behavior, move, turn at walls
%patch $2319 $55 $8B $EC $56 $C7 $06 $48 $82 $0072W  $A1 $5135W
             $B1 $04 $D3 $E8 $25 $0000W  $8B $16 $48 $82 $03 $D0 $89 $16
             $48 $82 $E8 $08F0W  $E8 $0930W  $8B $F0 $A9 $0004W  $74 $06 $C7
             $06 $40 $82 $FFC4W  $F7 $C6 $0001W  $74 $06 $C7 $06 $40 $82 $003CW
                 $5E $5D $C3
Post Reply