Keen 4 has two different endings

Request patches for Keens 4-6.
Post Reply
Bubbbatom
Posts: 10
Joined: Thu Dec 28, 2017 8:40 am

Keen 4 has two different endings

Post by Bubbbatom » Fri Mar 29, 2019 7:17 am

Hi there,

If it's at all possible I'm after a patch that enables Keen 4 to have two endings triggered by separate events. One ending would be triggered when Keen rescues all of the council members. The second ending would be triggered when Keen completes a particular level.

I was thinking the second ending could use the "About iD" section of the F1 help screen. If this were the case then I would like it so that the "About iD" section was not accessable in the F1 help screen as it would be one of the endings.

Hopefully this request is somewhat realistic!

User avatar
Nisaba
Posts: 310
Joined: Fri Jan 01, 2016 11:15 pm
Location: patch.pat
Contact:

Re: Keen 4 has two different endings

Post by Nisaba » Fri Mar 29, 2019 10:06 pm

Bubbbatom wrote:
Fri Mar 29, 2019 7:17 am
so, this is just a proof of concept that it is possible to have two endings triggered by separate events.

what you can see below is a patch that triggers an alternative message which gets displayed before entering a certain level. afterwards the game skips the official ending sequence and jumps right into the high scores.
to make this compatible with your mod, we need to adjust the jump condition of your BwB level and add an extra (blank) level which needs to be the last level of your game. this level will trigger the alternative ending message.

I assume your BwB level is level #18, right? this patch defines infinite replays of exactly one level:

Code: Select all

# BwB: Level 18 only 
%patch $60FD $12 $74
And this patch displays the demo text whilst Keen enters level #19. this text sheet can get adjusted to your liking. afterwards the game jumps into the high score section. if needed you can mute the music by deleting the last section of this patch.

Code: Select all

# What to display with nonexistent levels
%patch $9CB8 $1288W #Text
%patch $9CC4 $9FFDW #Memory variable 1
%patch $9D7D $9FFDW #Memory variable 2
%patch $9CDA $90 $90 $90 $90 $90

# Level state for entering nonexistent levels - Display image, go directly to the high scores
%patch $6BCD $0EB2W #Got Foot state ($08)
%patch $6BCF $0F $54 

# Trigger message for levels equal or above 19
%patch $DF7C $83 $3E $7A68W  $13 $72 $05 $83 $06 $7A70W  $05

# Don't stop music during message
%patch $9153 $90 $90 $90 $90
%patch $9CDA $90 $90 $90 $90 $90
what I can't get to work yet is to alter this code when Keen completes a particular level. I tried to solve this issue by connecting two levels, which wasn't successful. both patches seem to be conflicting one another.
unfortunately I'm not even close to Levellass' patching skills, so I need to go on and do some good old trail & error with absolutely no guarantee of success...

that said: I haven't seen your patch-file so I don't know whether or not other patches might not like these things above. I guess you just have to test it.
but I think we can call it a solid starting point. pros: you don't have to mess with the F1 help text sheets. And hey, nearly all specifications fulfilled...

Post Reply