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

Speed running level reset code #417

Open
wants to merge 5 commits into
base: nightly
Choose a base branch
from

Conversation

ineedhelpbad
Copy link
Contributor

Work in progress

@s4Ys369
Copy link
Contributor

s4Ys369 commented Sep 6, 2020

Make it a patch

Fixed bug when reseting with a dialog box onscreen.
Added seperate timer for speedruns / Fixed conflict with in-game timer.
Added feature to store last warp to use when reseting.(L+R)
Changed reset to Z+R to prevet conflicts with Better Camera.
@ineedhelpbad ineedhelpbad marked this pull request as ready for review September 6, 2020 19:32
@fgsfdsfgs
Copy link
Collaborator

Hey, how's this different from #402?

@ineedhelpbad
Copy link
Contributor Author

  1. Add level reset cheat #402's Level reset doesn't quite reset everything correctly. Go into BoB and reset a few times and the chain chomp will stop spawning. Also he changes the object handling code to make objects always respawn whether you reset or not. I suspect this can cause objects to respawn during normal play when they wouldn't otherwise. My implementation uses the change level warp instead of change area. This resets more of the level to its initial state, however it also triggers the act selection screen. My code stores the selected act and automatically bypasses the act selection screen during resets, but functions normally during painting warps.

  2. 402's Level reset doesn't have a timer for speed runs. My code implements a separate timer that doesn't interfere with the in-game timer used during the princess slide or koopa racing stars.

  3. My code allows you to store the last used warp (L+R) and use that for a reset from anywhere else in the game, e.g. you could store the warp that happens when you exit a painting and practice running to the next painting. This acts like a quasi save state allowing you to pick a warp as a starting point for you to practice.

@io12
Copy link

io12 commented Sep 15, 2020

I fixed the issues with my PR. #402

@io12
Copy link

io12 commented Sep 15, 2020

PR #402 is designed to perfectly replicate the behavior of the GameShark code (although it has a fix to crash less frequently). It doesn't have the object respawn issue anymore, and it doesn't have a timer because the timer is implemented with a separate GameShark code. (The timer could be added as a separate cheat for configurability, if #402 ends up being the PR that gets merged).

Save/restore for warps does sound like a really cool feature, though.

@Hri7566
Copy link

Hri7566 commented Oct 13, 2020

Instead of merging this into the main sm64ex repo, could there be a separate one for something like a recreation of or combination of this and usamune? I feel like if someone were to add something for speedrunners, a new project or branch or something should be used instead of the main sm64ex project.

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.

5 participants