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

Improve better song of double time experience #963

Merged
merged 6 commits into from
Jan 27, 2025

Conversation

Archez
Copy link
Contributor

@Archez Archez commented Jan 22, 2025

This makes a few significant updates to the Better Song of Double Time enhancement:

  • Selecting your time no longer actors the actors and scene on the fly, instead the final time will only be applied after selecting your time.
  • Selecting your time will queue up the Song of Double Time cutscene (pressing A can skip it as usual)
  • To ensure that actors aren't processed early on the new time, we force a respawn in-place to reload the scene with the new time applied. This covers use cases like trying to use BSoDT to "cheat" the Aliens minigame, but also other cases of actor quirks that we might not know of.
  • The arrows/control stick indicators now animate just like they would in shops.
  • Analog stick support for adjusting the time with more precision
  • DPad support for adjusting the time in repeated amounts. Repeat behavior is similar to cursor movement on kaleido.
  • Added holding R to speed up time adjustments along side the existing holding Z to slow down
  • Added visual indicators for Z and R
  • Added a HUD override-override system so that we can temporarily force the clock into is vanilla position/scale when using BSoDT
  • Added Before/After hooks for clock drawing to facilitate hijacking the time values so that all clock draw reflects the selected time without the game state changing.
  • Added checks for 0th day and 4th to prevent using SoDT similar to vanilla (on vanilla SoDT softlocks), which reuses existing text IDs. This is a compromise, because although we could maybe "support" 0th/4th, there aren't good ways to visualize that, and we'd have to prevent going from 0th/4th to normal days.
  • The A button is shown on HUD with DECIDE
new-bsodt.mp4

Build Artifacts

@SuperBro64
Copy link

DPad support for adjusting the time in singular amounts

By that, do you mean one in-game minute at a time?

@Archez
Copy link
Contributor Author

Archez commented Jan 22, 2025

DPad support for adjusting the time in singular amounts

By that, do you mean one in-game minute at a time?

DPad would be 30 minutes, same as maximum analog stick. Singular just means its not repeated if you held the DPad.
Holding Z makes that 5 minutes, and holding R makes that 1 hour.

I don't think having anything less than 5 minutes is really needed considering how fast a minute is in-game.

@Archez
Copy link
Contributor Author

Archez commented Jan 23, 2025

Updated so that now the DPad movement can be repeated if held. It will first move once, then wait some time before moving once more, and then wait a shorter amount of time, on repeat. This is ripped from how kaleido does repeated cursor movement.

Also made it so the A button is shown on the HUD with DECIDE

@Archez Archez force-pushed the improve-better-sodt branch from 3948bca to f544978 Compare January 24, 2025 15:20
Copy link
Contributor

@garrettjoecox garrettjoecox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As per our discussion, we should either get a SodT cutscene skip into this PR or a very quick follow up, as people who have gotten used to the cutscene skip on the current iteration won't love randomly starting to see it again

@Archez Archez merged commit cb94159 into HarbourMasters:develop Jan 27, 2025
5 checks passed
@Archez Archez deleted the improve-better-sodt branch January 27, 2025 01:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants