Could you stop fiddling with the "L" tile before someone gets hurt? It is important for timing the split scrolling.
I don't wanna get hurt.
For the "L" tile, I realize its importance. I even remember you telling me about it back in the day when working on Shadow of Night. However, couldn't another tile in the HUD take the role for the timing of the split scrolling? Is this what allows the HUD to remain stationary, right? As long something has collision with sprite zero, everything runs as normal. I don't fully understand, but in all my tests I've never seen anything out of the ordinary.
February 12, 2019, 04:31:07 am - (Auto Merged - Double Posts are not allowed before 7 days.)
I made the hearts into 1/4 hearts, as suggested by Shadic.
The tiles that were used for the extra hearts were the "-" and "x" so if you want to keep those, you'll have to get creative and find other tiles to replace. I just went with these to make it simple, and honestly, the "NEXT" and "LEVEL" in the HUD don't look too bad without the "-" or triangle shape you made. Just a thought.
Anyway, here is a screenshot showing where I put the new heart tiles:
You can ignore the magic meter, I was doing some tests with it, to see if I could find a way to remove the "M" and still hide the sliding white tile. Nothing yet...
Here is the code for the new 1/4 heart gauge. There is a lot more code, but luckily there is plenty of free space!
First, go to 0x1D4E2 and replace 65 05 with 74 07. This is the low health beeping, so were pointing to Link's health at RAM address $774. If you want to remove the health beeping, you could always point this to a location in RAM that is a constant FF, or just use a NOP.
Next, at 0x17AC, you will find the following code:
AD 74 07 8D 65 05 4A 4A 4A 4A 4A 85 00 C6 00 30 09 A9 C7 99 09 03 C8 4C A9 97
Replace it with:20 00 B0
EA 20 00 B1
EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA
This time there are only 2 jsr. One for hearts 1-4 and one for hearts 5-6. They both work differently, so it was just easier to keep them separate.
At 0x3010, paste this code:
At 0x3110, paste this code:
That's it! Another solution to hiding the sliding health tile is to place it behind the "M" on the magic meter. Now that it no longer functions, it will just sit there, hidden.
While using the quarter heart hack, bits and bots will deal 1/2 a heart in damage at life level 1. At life level 5, they will deal 1/4 heart of damage. At life level 8, it will take two hits for bits and bots to deal 1/4 heart of damage. As I said before, the health system still functions the same way. Nothing has been change with how much damage Link receives, or how strong enemies are. This is just an aesthetic hack.
Hope you like it! So you have a choice of either 1/2 heart gauge, or 1/4 heart gauge - with the 1/4 hearts more accurately displaying your health.Edit:
One thing we forgot to consider, when replacing the "-" tile is that it's used by the register name alphabet. Simple solution is to just change its value to something else, like the "/" character. It could be any tile, really, even a heart if you want to let players put a heart in their name, ha ha. For quick reference, CE = / and F8 = heart.
Here is some data on this:
0x17D4B - tile displayed for "-" in aplhabet selection.
0x17D4D - tile displayed for "." in aplhabet selection.
0x17D9F - real value of "-" in alphabet selection.
0x17DA0 - real value of "." in aplhabet selection.
I'm currently looking into the file selection movement. Hopefully it's not too troublesome to get that up direction working.
Like njosro mentioned before, I think this would be more trouble than it's worth, and if it's just a partial implementation, it'd be better to not have it at all, just to retain consistency. Still, though, I'll see if I can figure anything out.