Code: Select all
#3-up spawn code = $037D0526RL
%patch $3CF6 $55 $8B $EC $33 $C0 $50 $9A $06BD1E11RL $83 $C4 $02 $8B $1E
$D8 $A7 $C7 $07 $0001W $C7 $47 $06 $0000W $C7 $47 $20 $0000W
$8B $46 $06 $B1 $08 $D3 $E0 $89 $47 $0A $8B $46 $08 $05 $FFFDW
$D3 $E0 $89 $47 $0C $B8 $3908W $50 $53 $9A $09DC118CRL $83
$C4 $04 $5D $CB
#3-up sprite collision (With Keen gives 3 lives, play 1-Up sound $11) = $037D056ARL
%patch $3D3A $55 $8B $EC $56 $57 $8B $76 $06 $8B $7E $08 $83 $3D $02 $75 $20
$83 $06 $7A6AW $03 $C7 $44 $20 $0003w $C7 $44 $1C $011FW $C7
$44 $10 $FFFFW $B8 $0011W $50 $9A $187409F1RL $83 $C4 $02
$5F $5E $5D $CB
I have made it into Struct1 in my test run and I found yet another thing to complain about: You are using the light/energy beam tiles in that level to create something similar to the zip paths in Atroxian Realm. I'm not a fan of this mechanic, since it's just exploiting a quirk in the engine's tile collision detection code. And as it turns out, this quirk depends on the frame rate (see this thread) and low frame rates tend to break the "intended" behavior. Using this quirk was fine in Atroxian Realm, since it only appeared in the optional levels. But in your game (or at least the current demo) they're not optional and therefore could make the level/game impossible to finish on some systems.
If your mod absolutely needs to use this "feature", you should limit the game's ability to adjust to low frame rates. That means the level will no longer depend too much on the CPU speed (which is good), but the game will run in slow motion if the CPU is not fast enough (but at least the levels are beatable). Use this patch:
Code: Select all
# -= for Keen 4 EGA v1.4 =-
#limit minimum frame rate to 23.333... fps instead of 14 fps:
%patch $17810 $03
%patch $17817 $0003w
%patch $17826 $0003w