Jump to content
Jet Set Willy & Manic Miner Community

'Don't Mind Your Head (While Walking Left)' Bug Fix for JSW


IRF

Recommended Posts

There is a residual problem with the Bug Fix.

 

I was thinking that a bit of code in the Main Loop might fix it, as follows:

 

Load up the Airborne Status Indicator at #85D1.

Check: is it '1' (meaning that 'Willy is jumping')?

If not, then reset the Jumping Animation Counter at #85D5 to zero.

(But if the Airborne Status Indicator does have a value of 1, then the command which resets the Jump Counter to zero is bypassed via a relative jump.)

 

I have inserted the above (11 bytes) into the Main Loop (replacing the redundant 'Screen Flash Counter' code in the attached file), which has resolved the last remaining 'structural' problem with the patch.  There is still plenty of scope for the patch to be made more byte-efficient, though.  Or indeed, other options considered (such as Andrew Broad's suggestion).

New Bug Fix Final.z80

Edited by IRF
Link to comment
Share on other sites

Scenario 1b is actually present in original JSW in The Forgotten Abbey (jumping from the top of the ramp), and allows Willy to subsequently walk through head-height Earth cells and exit directly onto the conveyor in The Wine Cellar. However, if he doesn't keep the left key pressed until he is clear of the Earth cells on the right-hand edge of The Wine Cellar, then he can get stuck (because of the conveyor and the Earth cells above him), meaning the player has to abandon the game!

 

So it's definitely a bug that's worth fixing - at least in terms of preventing him walking leftwards through Earth cells (a bug which also allows Willy to get stuck in the Dr Jones elephant's head in the original game!)

Edited by IRF
Link to comment
Share on other sites

I've also tested jumping over the Barrel Guardian in 'Ballroom East', and crossing 'The Banyan Tree'

 

Another observation: In the original game [and with Andrew Broad's suggested alternative patch], both of those routes (when going leftwards) are made considerably easier because the ILB code rapidly speeds up Willy's descent as soon as his head becomes aligned with the Earth cell that sits above the two-cell Air gap into which he is jumping.

 

With my version of the patch in place, the timing of either jump is much more critical, as Willy has to fall at 'normal speed' until he is almost aligned with the gap, before he can proceed forward to land on the 'ledge'.

 

Banyan Tree is particularly difficult (jumping from the ledge between the Cyan Computer Chip and Magenta Gremlin), as he has to 'step back' above the Chip and jump left whilst the Gremlin is still quite high up in the intermediate cavity, in order to safely jump into the gap.

Edited by IRF
Link to comment
Share on other sites

I think it would be better to check for Earth cells at head height when walking, but not when jumping, as this would retain a spectacular class of quirky features.

So the following features would be removed...

  • walking left through Earth cells at head height;
  • walking up through overhead Earth cells on
Edited by IRF
Link to comment
Share on other sites

One other point in relation to this Bug Fix - my variant means that Willy is safe from hitting a Fire cell that is embedded between Earth cells above and below it; whilst Andrew Broad's variant means it is possible for Willy to hit such a Fire cell if he jumps from a certain animation-frame.

 

(I've got Hornet's Nest in TNE particularly in mind here, given that the whole screen is a 'honeycomb' of Fire and Earth cells!)

Link to comment
Share on other sites

I've implemented the 'Andrew Broad variant' of the 'Don't Mind Your Head Bug Fix', and noticed some other interesting elements of it.

 

Before I go into detail, you might like to try out the following mini-challenge - load up the attached file, then try to collect all the Bathroom taps and exit to Top Landing (without losing any lives).

New Bug Fix Andrew variant.z80

Edited by IRF
Link to comment
Share on other sites

The attached rzx demonstrates the problems with the 'Andrew Broad variant' of the Bug Fix - if Willy is underneath Earth blocks, and walking towards a head-height Earth block, if he holds the Jump key down then he can pass through the latter!  It also removes his ability to stand adjacent to a head-height Earth block and jump up onto it - instead, he jumps through it (in either direction)!

 

So I've come up with a 'hybrid' solution which resolves the above, but which retains [for moving left - and adds in the case of rightwards movement] Willy's ability to jump onto ledges underneath Earth blocks, or to quirkily jump through overhead Earth blocks.  This was achieved by inserting the following checks when Willy is trying to pass left or right through a cell boundary:

 

(1) firstly, is Willy jumping (is the Airborne Status Indicator at #85D1 set to a value of 01)?  If not, check for Earth blocks at head-height (in either direction), and block his progress (or not) accordingly;

(2) secondly, has Willy only just started his jump (is the Jumping Animation Counter at #85D5 reset to a value of 00)?  If so, check for Earth blocks at head-height (in either direction), and block his progress (or not) accordingly;

(3) in all other circumstances, the check for head-height Earth blocks is bypassed.

 

I have implemented the above in the attached 'hybrid fix' Z80 file (the relevant code once again starts at #9700).  Starting point set to The Bathroom, with the same layout as in the previous file - you will see that the original Bathroom tap in this test file is now uncollectable!

 

I think we've cracked it this time!!  (Except that there is plenty of scope for code optimisation!)

New Bug Fix Andrew variant.rzx

New Bug Fix Hybrid.z80

Edited by IRF
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.