Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split pause menu dungeon info into 3 menus and include total small key count #1563

Merged
merged 10 commits into from
Jun 15, 2022

Conversation

fenhl
Copy link
Collaborator

@fenhl fenhl commented Apr 21, 2022

The total number of small keys collected for a dungeon is included in the dungeon info the randomizer displays on the inventory screen of the pause menu. Unlike the existing “current small keys” count, this new number does not decrease when a key is used on a door. The counts are displayed as current(total), e.g. 2(3) means you've found 3 keys for this dungeon but have already used one of them so you have 2 remaining.

The number of collected small keys is stored in the unused field of the dungeon's scene flags. If this PR is merged at the same time as #1535, those docs should be updated to reflect this.

This number is also displayed in the get item text boxes for small keys. Since I don't know how to add a new dynamic text component similar to the vanilla one that displays skull count, I had to add 61 different textboxes for these messages. This implementation may have to be revisited in the future, since it seems we're almost out of text boxes. I also had to change small keys to be capped at their maximum number, which can spoil whether a dungeon is MQ in plentiful if you find all its keys including the spare key. This change was reverted for now due to #1572.

To reduce clutter and avoid potential issues with overscan mentioned in #1508, the dungeon info screen is split into 3 screens, activated using the D-pad instead of A:

  • D-down displays dungeon rewards (now including the free one)
  • D-right displays current and total small keys, boss keys, and the Gerudo card
  • D-left displays maps, compasses, the skulltulas clear indicator, and MQ status

Splitting dungeon rewards from the remaining info also prepares for potential future features that would require this, namely mixed pools boss shuffle and dungeon reward shuffle.

The existing feature to equip or unequip boots using the D-pad is disabled on the inventory screen. It can still be used on the other 3 screens, while moving between screens, or while the animations of the pause menu opening or closing play.

The D-pad icon on the HUD has been fixed to not disappear when paused, and a minor inconsistency with the fade-in and fade-out animations has been fixed. On the inventory screen, it displays icons indicating the different dungeon info displays: The Zora sapphire on D-down, a small key on D-right, and a map on D-left. This makes these menus more discoverable.

Screenshots

image

D-down:
image

D-right:
image

D-left:
image

@ETR-BTF
Copy link

ETR-BTF commented Apr 21, 2022

How important the key/mq information is depends on which dungeons are required. So I think it'd be nicer to have the dungeon rewards info on all screens. The first screen would then also no longer be necessary (for now). If the first screen is kept, then it might be informative to add the free dungeon reward to that screen as well.

@fenhl
Copy link
Collaborator Author

fenhl commented Apr 21, 2022

I can see how that could be useful, but leaving it out has the benefits of being less redundant, working better with features I think are likely to be added in the future, and keeping more horizontal space on D-right available for silver rupee shuffle. Adding the free dungeon reward makes sense though.

@fenhl
Copy link
Collaborator Author

fenhl commented Apr 21, 2022

I managed to get key counts in item get text boxes to work by simply adding a separate text box for each one.

@cjohnson57 cjohnson57 added Component: ASM/C Changes some internals of the ASM/C libraries Status: Needs Review Someone should be looking at it Status: Needs Testing Probably should be tested Status: Under Consideration Developers are considering whether to accept or decline the feature described Component: Patching Affects the patching of the ROM labels Apr 22, 2022
@ETR-BTF
Copy link

ETR-BTF commented Apr 22, 2022

I quite like how you fixed the order of the dungeon rewards. It speeds up marking them on your tracker because you just have to remember the order of dungeons (words) and not the order of dungeon rewards (images). For my brain that's easier and faster at least.

@fenhl
Copy link
Collaborator Author

fenhl commented Apr 30, 2022

The patch to change the get item text box based on the number of keys collected currently doesn't apply to keys collected from gold skulltulas, because they use a separate code path. Need to figure out how to apply the patch there as well.

@fenhl
Copy link
Collaborator Author

fenhl commented May 2, 2022

Looks like the amount of extra text already causes gen failures in some situations. Marking as draft until that's resolved.

@fenhl
Copy link
Collaborator Author

fenhl commented May 18, 2022

Reverted the addition of extra text boxes. They can be added separately after #1572 is fixed.

@fenhl fenhl marked this pull request as ready for review May 18, 2022 01:05
@r0bd0g
Copy link

r0bd0g commented May 18, 2022

I don't like something about the way the dpad icons flash between icons while paused.

fenhl added a commit to fenhl/oottracker that referenced this pull request May 20, 2022
@mracsys
Copy link

mracsys commented May 24, 2022

Was overscan a problem with keeping the key counts and other info on one screen? I liked having it all in one place. I also preferred the dungeon order staying fixed instead of the dungeon rewards since the tracker I use cycles through rewards for a dungeon instead of the reverse.

@fenhl
Copy link
Collaborator Author

fenhl commented May 25, 2022

Yes, there are already minor issues with overscan without this PR.

The order being changed is one of those things that will have to be done anyway once mixed pools boss shuffle (or medallion shuffle) happens, so I figured it would be better to make the change now rather than potentially having the layout change in 2 successive versions.

@fenhl fenhl force-pushed the total-small-key-count branch from beeb6e7 to 48050a3 Compare June 1, 2022 10:31
@cjohnson57 cjohnson57 added Type: Enhancement New feature or request and removed Status: Needs Review Someone should be looking at it Status: Needs Testing Probably should be tested Status: Under Consideration Developers are considering whether to accept or decline the feature described labels Jun 15, 2022
@cjohnson57 cjohnson57 merged commit 36f011a into OoTRandomizer:Dev Jun 15, 2022
@fenhl fenhl deleted the total-small-key-count branch June 16, 2022 00:04
@fenhl fenhl mentioned this pull request Jun 16, 2022
@fenhl fenhl added this to the 7.0 milestone Apr 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: ASM/C Changes some internals of the ASM/C libraries Component: Patching Affects the patching of the ROM Type: Enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants