Patch Requests
- SodiumtheGlitcher
- Vortininja
- Posts: 133
- Joined: Wed Oct 16, 2024 0:24
- Location: Impossible Bulleting out of Keen 6 and Geometry Dashin' both at the same time
Multiple Patch Requests
First, I'd like a patch that changes the file extension for the config and savegame files, because you can't use the same commands as you can for the audio, egagraph, egahead, gamemaps, and maphead files.
This second one is a LOT bigger. Szemi requested on K:M one time for tile-based gems of 4 other colors, but he never got it. I'd like this patch for Keen 5. The gems and gem holders can be put in an empty space in the tileset. I can send someone my 5TIL0001.BMP file for a place to put the gems. If this is not possible, oh well. It would be nice, but it sounds extremely complicated.
Thanks,
-SodiumtheGlitcher
This second one is a LOT bigger. Szemi requested on K:M one time for tile-based gems of 4 other colors, but he never got it. I'd like this patch for Keen 5. The gems and gem holders can be put in an empty space in the tileset. I can send someone my 5TIL0001.BMP file for a place to put the gems. If this is not possible, oh well. It would be nice, but it sounds extremely complicated.
Thanks,
-SodiumtheGlitcher
Put me in a room full of chlorine. Results: I die and turn into a pillar of salt and a very buggy Keen 6.
IMPOSSIBLE BULLET FOR LIFE!!!!!!!!!!!!!
IMPOSSIBLE BULLET FOR LIFE!!!!!!!!!!!!!
- SodiumtheGlitcher
- Vortininja
- Posts: 133
- Joined: Wed Oct 16, 2024 0:24
- Location: Impossible Bulleting out of Keen 6 and Geometry Dashin' both at the same time
Re: Patch Requests
I'd like a patch for Keen 5 that makes the gun shooter sprites use the same frames as Keen's Neural Stunner shots (5SPR0051.BMP to 5SPR0056.BMP), and stun Keen if he hits them (Stun frame is 5SPR0040.BMP). This doesn't sound too hard to implement, but I wouldn't know.
Put me in a room full of chlorine. Results: I die and turn into a pillar of salt and a very buggy Keen 6.
IMPOSSIBLE BULLET FOR LIFE!!!!!!!!!!!!!
IMPOSSIBLE BULLET FOR LIFE!!!!!!!!!!!!!
Re: Patch Requests
Please try these patches:
Code: Select all
# ($A701): New tile interaction function for Keen "Stunned"
# ($A701): state. This is required for correct handling of
# ($A701): the case when Keen is shot while jumping
%patch $A701 $56 $8B $76 $06 $31 $D2 $8B $44 $36 $0B $44 $3A $74 $03 $89 $54
$18 $8B $44 $38 $0B $44 $3C $74 $03 $89 $54 $16 $EA $0AAF1AA6RL
# ($10FB5): Modified cannon shot sprite interaction function. Shots no longer
# ($10FB5): kill Keen. Instead, they change Keen's state to a Keen 6-like
# ($10FB5): stunned state. A "shot hit" sound is also played.
# ($10FB5): Note that the new code for the function is longer than the
# ($10FB5): original. Therefore, the start address of the next function must
# ($10FB5): be also modified.
# ($10FD6): New start of the cannon shot tile interaction function. Its start
# ($10FD6): offset was moved and was made slightly more compact.
%patch $10FB4 $E9 $B8 $1EB2W $50 $FF $76 $06 $9A $090B1242RL $83 $C4 $04 $B8
$1ED0W $50 $56 $9A $090B1242RL $83 $C4 $04 $B8 $001EW $EB $BF $55 $8B $EC
$56 $8B $76 $06 $8B $44 $36 $0B $44 $38 $0B $44 $3A $0B $44 $3C
# ($3217A): Modified "cannon shot" object states, use
# ($3217A): Keen stunner shot sprites.
%patch $3217A $0099W $0099W
%patch $32192 $0F9216B6RL $1E58W $009AW $009AW
%patch $321B0 $0F9216B6RL $1E76W $009BW $009BW
%patch $321CE $0F9216B6RL $1E94W $009CW $009CW
# ($321F2): The second "destroyed" state of Cannon shots
# ($321F2): is now the same as the 2nd such state of Keen's
# ($321F2): shot. As a result, it can be re-used for a
# ($321F2): "Keen stunned" state. Side effect: The destroyed
# ($321F2): shot sprites remain visible slightly longer until
# ($321F2): they are completely deleted.
%patch $321EC $0F9216B6RL $1E3AW $009DW $009DW
%patch $321FC $000CW
# ($32210): The new "Keen stunned" object state, based
# ($32210): on Keen 6. It uses a "Landing" tile interaction
# ($32210): function so that "hit in air" will be handled
# ($32210): correctly
%patch $3220E $1598W $008EW $008EW $0003W
%patch $3221A $003CW
%patch $32220 $090B1710RL $0AAF1597RL $090B164ERL $0888W
- SodiumtheGlitcher
- Vortininja
- Posts: 133
- Joined: Wed Oct 16, 2024 0:24
- Location: Impossible Bulleting out of Keen 6 and Geometry Dashin' both at the same time
Re: Patch Requests
Thanks! This is fun watching Keen slide around the level while stunned lol
Put me in a room full of chlorine. Results: I die and turn into a pillar of salt and a very buggy Keen 6.
IMPOSSIBLE BULLET FOR LIFE!!!!!!!!!!!!!
IMPOSSIBLE BULLET FOR LIFE!!!!!!!!!!!!!
Re: Patch Requests
Here is another version which corrects "sliding":
Code: Select all
# ($A701): New tile interaction function for Keen "Stunned"
# ($A701): state. This is required for correct handling of
# ($A701): the case when Keen is shot while jumping. "x speed"
# ($A701): is set to 0 when Keen hits ground.
%patch $A701 $56 $8B $76 $06 $31 $D2 $8B $44 $36 $0B $44 $3A $74 $05 $89 $54
$18 $EB $08 $8B $44 $38 $0B $44 $3C $74 $03 $89 $54 $16 $EA $0AAF1AA6RL
# ($10FB5): Modified cannon shot sprite interaction function. Shots no longer
# ($10FB5): kill Keen. Instead, they change Keen's state to a Keen 6-like
# ($10FB5): stunned state. A "shot hit" sound is also played.
# ($10FB5): Note that the new code for the function is longer than the
# ($10FB5): original. Therefore, the start address of the next function must
# ($10FB5): be also modified.
# ($10FD6): New start of the cannon shot tile interaction function. Its start
# ($10FD6): offset was moved and was made slightly more compact.
%patch $10FB4 $E9 $B8 $1EB2W $50 $FF $76 $06 $9A $090B1242RL $83 $C4 $04 $B8
$1ED0W $50 $56 $9A $090B1242RL $83 $C4 $04 $B8 $001EW $EB $BF $55 $8B $EC
$56 $8B $76 $06 $8B $44 $36 $0B $44 $38 $0B $44 $3A $0B $44 $3C
# ($3217A): Modified "cannon shot" object states, use
# ($3217A): Keen stunner shot sprites.
%patch $3217A $0099W $0099W
%patch $32192 $0F9216B6RL $1E58W $009AW $009AW
%patch $321B0 $0F9216B6RL $1E76W $009BW $009BW
%patch $321CE $0F9216B6RL $1E94W $009CW $009CW
# ($321F2): The second "destroyed" state of Cannon shots
# ($321F2): is now the same as the 2nd such state of Keen's
# ($321F2): shot. As a result, it can be re-used for a
# ($321F2): "Keen stunned" state. Side effect: The destroyed
# ($321F2): shot sprites remain visible slightly longer until
# ($321F2): they are completely deleted.
%patch $321EC $0F9216B6RL $1E3AW $009DW $009DW
%patch $321FC $000CW
# ($32210): The new "Keen stunned" object state, based
# ($32210): on Keen 6. It uses a "Landing" tile interaction
# ($32210): function so that "hit in air" will be handled
# ($32210): correctly
%patch $3220E $1598W $008EW $008EW $0003W
%patch $3221A $003CW
%patch $32220 $090B1710RL $0AAF1597RL $090B164ERL $0888W
- SodiumtheGlitcher
- Vortininja
- Posts: 133
- Joined: Wed Oct 16, 2024 0:24
- Location: Impossible Bulleting out of Keen 6 and Geometry Dashin' both at the same time
Re: Patch Requests
I found a SERIOUS error with these patches!!!!!!
If a gun stuns you while you're on a pole or ledgegripping, you fall off the pole or ledge, and fall through everything and die at the bottom of the level like noclip was activated!!!!!!!!! Please fix this problem as I do not want that happening!!!
If a gun stuns you while you're on a pole or ledgegripping, you fall off the pole or ledge, and fall through everything and die at the bottom of the level like noclip was activated!!!!!!!!! Please fix this problem as I do not want that happening!!!
Put me in a room full of chlorine. Results: I die and turn into a pillar of salt and a very buggy Keen 6.
IMPOSSIBLE BULLET FOR LIFE!!!!!!!!!!!!!
IMPOSSIBLE BULLET FOR LIFE!!!!!!!!!!!!!
Re: Patch Requests
Try this version.
Code: Select all
# ($A701): New tile interaction function for Keen "Stunned"
# ($A701): state. This is required for correct handling of
# ($A701): the case when Keen is shot while jumping. "x speed"
# ($A701): is set to 0 when Keen hits ground.
%patch $A701 $56 $8B $76 $06 $31 $D2 $8B $44 $36 $0B $44 $3A $74 $05 $89 $54
$18 $EB $08 $8B $44 $38 $0B $44 $3C $74 $03 $89 $54 $16 $EA $0AAF1AA6RL
# ($10FB5): Modified cannon shot sprite interaction function. Shots no longer
# ($10FB5): kill Keen. Instead, they change Keen's state to a Keen 6-like
# ($10FB5): stunned state. A "shot hit" sound is also played. The code
# ($10FB5): restores clipping and priority to avoid issues when he was
# ($10FB5): shot in a "pole climbing" or "ledge grabbing" state
# ($10FB5): Note that the new code for the function is longer than the
# ($10FB5): original. Therefore, the start address of the next function must
# ($10FB5): be also modified.
# ($10FE0): New start of the cannon shot tile interaction function.
%patch $10FB4 $E9 $B8 $1EB2W $50 $FF $76 $06 $9A $090B1242RL $83 $C4 $04 $B8
$0001W $89 $44 $06 $89 $44 $20 $B8 $1ED0W $50 $56 $9A $090B1242RL $83 $C4
$04 $B8 $001EW $50 $EB $B6 $55 $8B $EC $56 $8B $76 $06 $8B $44 $36 $0B $44
$38 $0B $44 $3A $0B $44 $3C $74 $1B $90 $90
%patch $11004 $B8 $001EW $50 $9A $196E09EFRL $83 $C4 $02 $E9 $EA06W
# ($3217A): Modified "cannon shot" object states, use
# ($3217A): Keen stunner shot sprites.
%patch $3217A $0099W $0099W
%patch $32192 $0F9216C0RL $1E58W $009AW $009AW
%patch $321B0 $0F9216C0RL $1E76W $009BW $009BW
%patch $321CE $0F9216C0RL $1E94W $009CW $009CW
# ($321F2): The second "destroyed" state of Cannon shots
# ($321F2): is now the same as the 2nd such state of Keen's
# ($321F2): shot. As a result, it can be re-used for a
# ($321F2): "Keen stunned" state. Side effect: The destroyed
# ($321F2): shot sprites remain visible slightly longer until
# ($321F2): they are completely deleted.
%patch $321EC $0F9216C0RL $1E3AW $009DW $009DW
%patch $321FC $000CW
# ($32210): The new "Keen stunned" object state, based
# ($32210): on Keen 6. It uses a "Landing" tile interaction
# ($32210): function so that "hit in air" will be handled
# ($32210): correctly
%patch $3220E $1598W $008EW $008EW $0003W
%patch $3221A $003CW
%patch $32220 $090B1710RL $0AAF1597RL $090B164ERL $0888W
- SodiumtheGlitcher
- Vortininja
- Posts: 133
- Joined: Wed Oct 16, 2024 0:24
- Location: Impossible Bulleting out of Keen 6 and Geometry Dashin' both at the same time
Re: Patch Requests
So there's this enemy I'm working on for my Keen 5 mod that I'd like ability patches for. The sprite frames moving right are 5SPR0166-67, moving left are 5SPR0168-69, and stun frame is 5SPR0170. These frames take up the unused flipping flag animation. Frames moving right and left are a size of 64 pixels wide by 49 pixels high for the enemy, and the hitboxes are the same size with the red starting 16 pixels in from the left for moving right, and 16 pixels in on the right for moving left. Stun frame is 40 pixels wide by 49 pixels high, and the hitbox for that is the same size. The enemy kills Keen, moves at the same speed as the Ampton, has no sound, and takes 3 shots to kills. This enemy does not replace any other enemies, and can be coded into Abiathar covering up the first 3 yellow platform/slope thingies in the infoplane as I don't think those do anything, so please include the code for that. If I didn't explain enough, please elaborate.
Just making you aware of this patch. Hopefully all these patches aren't bugging you.
Put me in a room full of chlorine. Results: I die and turn into a pillar of salt and a very buggy Keen 6.
IMPOSSIBLE BULLET FOR LIFE!!!!!!!!!!!!!
IMPOSSIBLE BULLET FOR LIFE!!!!!!!!!!!!!
Re: Patch Requests
Here is my first attempt to implement the new enemy you requested.
The 3 "yellow platform/slope" tiles you mentioned are actually the lines drawn on the top of the tiles by the F10+Y cheat. The corresponding infoplane numbers can be used for new enemies,
- The vertical position of the sprite may need some tweaking. Without the sprites, I cannot test whether its position is correct relative to the floor.
- There may be incompatibilities with other patches, so please test.
Code: Select all
# ($3E78): Disable "CheckCutFile" function call to avoid problems.
%patch $3E78 $90 $90 $90 $90
# ($A724): Spawning code for the new creature.
# ($A724): The patch is by design compatible with the
# ($A724): "Keen stunned by cannon shots" patches.
# ($A746): Set health to 3
%patch $A724 $55 $8B $EC $31 $C0 $50 $9A $06B91DCDRL $83 $C4 $02 $31 $C0 $8B
$1E $9E40W $89 $47 $20 $40 $89 $47 $02 $89 $47 $10 $B0 $09 $89 $07 $B0 $03
$89 $47 $40 $30 $C0 $8A $66 $06 $89 $47 $0A $8A $66 $08 $2D $0210W $89 $47
$0C $53 $9A $1DFB0036RL $5B $B9 $0001W $3C $80 $72 $02 $F7 $D9 $89 $4F $0E
$B8 $00E6W $50 $53 $0E $E8 $FAFCW $83 $C4 $04
# ($F197): Spawn the new creature depending on difficulty level
# ($F197): (Easy/Normal/Hard)
%patch $F195 $EB $D3 $83 $3E $6F6CW $03 $7C $F1 $83 $3E $6F6CW $02 $7C $EA
$EB $1B
# ($F1C2): Spawn the new creature and cache its sprites
%patch $F1C0 $EB $A8 $57 $56 $9A $090B1674RL $83 $C4 $04 $C6 $06 $C2ABW $01
%patch $F1EB $EB $D3
%patch $F59C $0472W $044EW $0447W
# ($13046): Slight modifications in the Shikadi think
# ($13046): function to make it re-usable for the new
# ($13046): creature. Has no effect on the behavior of
# ($13046): the Shikadi.
%patch $13046 $BA $2E3CW $56 $57 $8B $76 $06 $8B $7E $08 $83 $3D $02 $74 $21
$90 $90
%patch $13062 $31 $C0 $89 $44 $16 $89 $44 $18 $52 $57 $56 $9A $090B16CDRL $83
$C4 $06 $EB $1A $9A $0AAF1517RL $EB $DA
%patch $13113 $E9 $FF1BW $55 $8B $EC $BA $0122W $E9 $FF2AW
# ($13A5F): New behavior: Only turn towards Keen if their
# ($13A5F): vertical position does not differ too much.
# ($13A5F): Overwrites two unused "debug" functions in the
# ($13A5F): ID_CA segment.
%patch $13A5F $56 $8B $76 $06 $8B $1E $9E3EW $8B $47 $0C $2B $44 $0C $79 $02
$F7 $D8 $3D $0200W $7D $10 $BA $FFFFW $8B $47 $0A $3B $44 $0A $7E $02 $F7
$DA $89 $54 $0E $5E $5D $CB
# ($30426): New sprite states for the creature. It has two
# ($30426): "moving" states and one stunned state.
# ($30426): It overwrites the strings for the CheckCutFile
# ($30426): function, which is not used in mods. Note that
# ($30426): this space in the data segment may be used by
# ($30426): other patches, so compatibility check is needed.
# ($3043E): The creature uses the unmodified Shikadi
# ($3043E): tile interaction function which implements
# ($3043E): "flashing" when it is shot.
%patch $30426 $010EW $010CW $0000W $0000W $0001W $0008W $0080W $0000W
$13A0005CRL $11C414D6RL $11C41538RL $0104W $010FW $010DW $0000W $0000W
$0001W $0008W $0080W $0000W $13A0005CRL $11C414D6RL $11C41538RL $00E6W
$0110W $0110W $0002W $0000W $0000W $0000W $0000W $0000W $090B1710RL
$00000000L $090B195ARL $0000W
# ($31A58): Start of sprite cache for the new creature.
# ($31A58): There is space for no less than 4 new
# ($31A58): sprite caches in the "lump start/lump end/
# ($31A58): /lump needed" arrays in Keen 5.
%patch $31A58 $010CW
# ($31AAC): Last sprite number for the new creature to cache.
%patch $31AAC $0110W
- SodiumtheGlitcher
- Vortininja
- Posts: 133
- Joined: Wed Oct 16, 2024 0:24
- Location: Impossible Bulleting out of Keen 6 and Geometry Dashin' both at the same time
Re: Patch Requests
First problem: The enemy spawns one pixel too low. What value in the patch do I need to change, and to what? If it requires sending another patch, please do.
Second problem: The stun frame falls into the ground.
Second problem: The stun frame falls into the ground.
Put me in a room full of chlorine. Results: I die and turn into a pillar of salt and a very buggy Keen 6.
IMPOSSIBLE BULLET FOR LIFE!!!!!!!!!!!!!
IMPOSSIBLE BULLET FOR LIFE!!!!!!!!!!!!!
Re: Patch Requests
I have marked the value in the sprite spawning path that sets its "y" coordinate. The value is in hexadecimal and the game uses a scale where $10 (16 in decimal) corresponds to one pixel and $100 (256) corresponds to one tile. The marked value is subtracted (not added), therefore to move the sprite one pixel upwards it must be changed from $0210 to $0220.
The stun frame behaves in the same way as other stunned sprites. There is no positioning code in the patch. if the bottom of the sprite is positioned below the floor, then the origin or the hitbox size of the sprite needs to be changed.
Code: Select all
%patch $A724 $55 $8B $EC $31 $C0 $50 $9A $06B91DCDRL $83 $C4 $02 $31 $C0 $8B
$1E $9E40W $89 $47 $20 $40 $89 $47 $02 $89 $47 $10 $B0 $09 $89 $07 $B0 $03
$89 $47 $40 $30 $C0 $8A $66 $06 $89 $47 $0A $8A $66 $08 $2D *$0210W $89 $47
$0C $53 $9A $1DFB0036RL $5B $B9 $0001W $3C $80 $72 $02 $F7 $D9 $89 $4F $0E
$B8 $00E6W $50 $53 $0E $E8 $FAFCW $83
- SodiumtheGlitcher
- Vortininja
- Posts: 133
- Joined: Wed Oct 16, 2024 0:24
- Location: Impossible Bulleting out of Keen 6 and Geometry Dashin' both at the same time
Re: Patch Requests
Changing the value didn't work, so it's something else. I'll send you a copy of the game via PM.
Put me in a room full of chlorine. Results: I die and turn into a pillar of salt and a very buggy Keen 6.
IMPOSSIBLE BULLET FOR LIFE!!!!!!!!!!!!!
IMPOSSIBLE BULLET FOR LIFE!!!!!!!!!!!!!