Fix minor issues related to the speedrunner mode menu, also stop saving the pc-settings every frame when sr mode is on (#3413)

Fixes #3209
This commit is contained in:
Tyler Wilding 2024-03-09 14:45:49 -05:00 committed by GitHub
parent 390a511055
commit 62fa9d80e1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 11 additions and 5 deletions

View file

@ -18,7 +18,7 @@
(defmethod update! ((this autosplit-info))
;; general statistics
;; when we are blacked out in loads the value of these are temporarily 0, and that messes with the auto splitter.
;; when we are blacked out in loads the value of these are temporarily 0, and that messes with the auto splitter.
(let ((in-blackout? (>= (-> *game-info* blackout-time) (current-time))))
(when (not in-blackout?)
(set! (-> this num-orbs) (the int (-> *game-info* skill-total)))

View file

@ -492,6 +492,9 @@
(none)))
(defmethod draw-menu ((this speedrun-manager))
;; don't allow the menu to open during blackouts, apparently causes bugs
(when (>= (-> *game-info* blackout-time) (current-time))
(return 0))
;; handle opening and closing the menu
(cond
((!= (-> *pc-settings* speedrunner-mode-custom-bind) 0)

View file

@ -674,10 +674,13 @@
)
)))
(when (or (!= old (-> *pc-settings* cheats))
(!= old-unlocked (-> *pc-settings* cheats-unlocked))
(!= old-purchased (-> *pc-settings* cheats-purchased))
(!= old-revealed (-> *pc-settings* cheats-revealed)))
;; when speedrunning...the cheats are manually modified to facilitate the chosen category
;; don't persist these and don't spam the pc-settings saving routine every frame.
(when (and (not (-> *pc-settings* speedrunner-mode?))
(or (!= old (-> *pc-settings* cheats))
(!= old-unlocked (-> *pc-settings* cheats-unlocked))
(!= old-purchased (-> *pc-settings* cheats-purchased))
(!= old-revealed (-> *pc-settings* cheats-revealed))))
;; save pc-settings if we made new progress
(pc-settings-save)))