update boots ui fix to support split speed. - #364
Conversation
|
Just had a quick look over this today. It works fine as is for split/vanilla speed but the way it is written it will always loop over the sparkbooster/bluebooster table even with vanilla speedbooster. Not that it should ever be able to match on those item bits. But if ever you use the same item bits for another new item (which wouldn't' be able to used together with split speed) then it might generate a false positive? It might be a better approach to specify the loop size as 0006 like vanilla code and overwrite that value with 000a in the rust when the split speed patch is applied? That way this rewrite will always use the new boots table, just it will never get to the split speed items unless its a split speed seed. |
|
It seems fine to me. I don't think we would reuse the same item bits for a different item. If we someday add so many new items that they don't all fit in the existing item word, I imagine we would use some new storage for the additional items. |
I put a fix in a while ago for the reserve icon being displayed without reserve tanks if you only have something in the boots section acquired.
This is due to a missing conditional branch in the vanilla code after a bit check.
https://patrickjohnston.org/bank/82#ABFD <- you can see it here.
I noticed the bug re-appeared today when playing a split-speed seed and the first item was blue-booster.
I've updated the code to check for spark-booster/blue-booster and branch to the appropriate menu item.
I found an unused vanilla instruction in the same bank that I moved the code too, there is still 20-30 bytes free there so if another "boots" menu item is developed then there is sufficient space available here to handle that too.
The gfx bug. [boots only item is failed to be selected and reserve icon is visible due to the original lookup table not accounting for the split speed items[
After the fix with the new table.