mirror of
https://github.com/open-goal/jak-project
synced 2026-08-17 13:40:39 -04:00
Fix (-> *autosplit-info-jak1* training-num-orbs) when blacked out (#3297)
When loading a save, these values are temporarily 0, and it messes with the autosplitter so we want to ignore them then.
This commit is contained in:
@@ -19,40 +19,43 @@
|
||||
(set! (-> *autosplit-info-jak1* num-scout-flies) (the int (-> *game-info* buzzer-total)))
|
||||
|
||||
;; per-level orb/fly counts
|
||||
(set! (-> *autosplit-info-jak1* training-num-orbs) (-> *game-info* money-per-level (level-task-data-index training)))
|
||||
(set! (-> *autosplit-info-jak1* village1-num-orbs) (-> *game-info* money-per-level (level-task-data-index village1)))
|
||||
(set! (-> *autosplit-info-jak1* beach-num-orbs) (-> *game-info* money-per-level (level-task-data-index beach)))
|
||||
(set! (-> *autosplit-info-jak1* jungle-num-orbs) (-> *game-info* money-per-level (level-task-data-index jungle)))
|
||||
(set! (-> *autosplit-info-jak1* misty-num-orbs) (-> *game-info* money-per-level (level-task-data-index misty)))
|
||||
(set! (-> *autosplit-info-jak1* firecanyon-num-orbs) (-> *game-info* money-per-level (level-task-data-index firecanyon)))
|
||||
(set! (-> *autosplit-info-jak1* village2-num-orbs) (-> *game-info* money-per-level (level-task-data-index village2)))
|
||||
(set! (-> *autosplit-info-jak1* sunken-num-orbs) (-> *game-info* money-per-level (level-task-data-index sunken)))
|
||||
(set! (-> *autosplit-info-jak1* swamp-num-orbs) (-> *game-info* money-per-level (level-task-data-index swamp)))
|
||||
(set! (-> *autosplit-info-jak1* rolling-num-orbs) (-> *game-info* money-per-level (level-task-data-index rolling)))
|
||||
(set! (-> *autosplit-info-jak1* ogre-num-orbs) (-> *game-info* money-per-level (level-task-data-index ogre)))
|
||||
(set! (-> *autosplit-info-jak1* village3-num-orbs) (-> *game-info* money-per-level (level-task-data-index village3)))
|
||||
(set! (-> *autosplit-info-jak1* snow-num-orbs) (-> *game-info* money-per-level (level-task-data-index snow)))
|
||||
(set! (-> *autosplit-info-jak1* cave-num-orbs) (-> *game-info* money-per-level (level-task-data-index cave)))
|
||||
(set! (-> *autosplit-info-jak1* lavatube-num-orbs) (-> *game-info* money-per-level (level-task-data-index lavatube)))
|
||||
(set! (-> *autosplit-info-jak1* citadel-num-orbs) (-> *game-info* money-per-level (level-task-data-index citadel)))
|
||||
|
||||
(set! (-> *autosplit-info-jak1* training-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index training) task-info (-> *level-task-data* (level-task-data-index training) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* village1-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index village1) task-info (-> *level-task-data* (level-task-data-index village1) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* beach-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index beach) task-info (-> *level-task-data* (level-task-data-index beach) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* jungle-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index jungle) task-info (-> *level-task-data* (level-task-data-index jungle) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* misty-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index misty) task-info (-> *level-task-data* (level-task-data-index misty) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* firecanyon-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index firecanyon) task-info (-> *level-task-data* (level-task-data-index firecanyon) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* village2-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index village2) task-info (-> *level-task-data* (level-task-data-index village2) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* sunken-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index sunken) task-info (-> *level-task-data* (level-task-data-index sunken) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* swamp-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index swamp) task-info (-> *level-task-data* (level-task-data-index swamp) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* rolling-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index rolling) task-info (-> *level-task-data* (level-task-data-index rolling) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* ogre-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index ogre) task-info (-> *level-task-data* (level-task-data-index ogre) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* village3-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index village3) task-info (-> *level-task-data* (level-task-data-index village3) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* snow-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index snow) task-info (-> *level-task-data* (level-task-data-index snow) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* cave-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index cave) task-info (-> *level-task-data* (level-task-data-index cave) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* lavatube-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index lavatube) task-info (-> *level-task-data* (level-task-data-index lavatube) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* citadel-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index citadel) task-info (-> *level-task-data* (level-task-data-index citadel) buzzer-task-index) task-id)))
|
||||
;; 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! (-> *autosplit-info-jak1* training-num-orbs) (-> *game-info* money-per-level (level-task-data-index training)))
|
||||
(set! (-> *autosplit-info-jak1* village1-num-orbs) (-> *game-info* money-per-level (level-task-data-index village1)))
|
||||
(set! (-> *autosplit-info-jak1* beach-num-orbs) (-> *game-info* money-per-level (level-task-data-index beach)))
|
||||
(set! (-> *autosplit-info-jak1* jungle-num-orbs) (-> *game-info* money-per-level (level-task-data-index jungle)))
|
||||
(set! (-> *autosplit-info-jak1* misty-num-orbs) (-> *game-info* money-per-level (level-task-data-index misty)))
|
||||
(set! (-> *autosplit-info-jak1* firecanyon-num-orbs) (-> *game-info* money-per-level (level-task-data-index firecanyon)))
|
||||
(set! (-> *autosplit-info-jak1* village2-num-orbs) (-> *game-info* money-per-level (level-task-data-index village2)))
|
||||
(set! (-> *autosplit-info-jak1* sunken-num-orbs) (-> *game-info* money-per-level (level-task-data-index sunken)))
|
||||
(set! (-> *autosplit-info-jak1* swamp-num-orbs) (-> *game-info* money-per-level (level-task-data-index swamp)))
|
||||
(set! (-> *autosplit-info-jak1* rolling-num-orbs) (-> *game-info* money-per-level (level-task-data-index rolling)))
|
||||
(set! (-> *autosplit-info-jak1* ogre-num-orbs) (-> *game-info* money-per-level (level-task-data-index ogre)))
|
||||
(set! (-> *autosplit-info-jak1* village3-num-orbs) (-> *game-info* money-per-level (level-task-data-index village3)))
|
||||
(set! (-> *autosplit-info-jak1* snow-num-orbs) (-> *game-info* money-per-level (level-task-data-index snow)))
|
||||
(set! (-> *autosplit-info-jak1* cave-num-orbs) (-> *game-info* money-per-level (level-task-data-index cave)))
|
||||
(set! (-> *autosplit-info-jak1* lavatube-num-orbs) (-> *game-info* money-per-level (level-task-data-index lavatube)))
|
||||
(set! (-> *autosplit-info-jak1* citadel-num-orbs) (-> *game-info* money-per-level (level-task-data-index citadel)))
|
||||
|
||||
(set! (-> *autosplit-info-jak1* training-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index training) task-info (-> *level-task-data* (level-task-data-index training) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* village1-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index village1) task-info (-> *level-task-data* (level-task-data-index village1) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* beach-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index beach) task-info (-> *level-task-data* (level-task-data-index beach) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* jungle-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index jungle) task-info (-> *level-task-data* (level-task-data-index jungle) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* misty-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index misty) task-info (-> *level-task-data* (level-task-data-index misty) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* firecanyon-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index firecanyon) task-info (-> *level-task-data* (level-task-data-index firecanyon) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* village2-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index village2) task-info (-> *level-task-data* (level-task-data-index village2) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* sunken-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index sunken) task-info (-> *level-task-data* (level-task-data-index sunken) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* swamp-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index swamp) task-info (-> *level-task-data* (level-task-data-index swamp) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* rolling-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index rolling) task-info (-> *level-task-data* (level-task-data-index rolling) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* ogre-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index ogre) task-info (-> *level-task-data* (level-task-data-index ogre) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* village3-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index village3) task-info (-> *level-task-data* (level-task-data-index village3) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* snow-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index snow) task-info (-> *level-task-data* (level-task-data-index snow) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* cave-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index cave) task-info (-> *level-task-data* (level-task-data-index cave) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* lavatube-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index lavatube) task-info (-> *level-task-data* (level-task-data-index lavatube) buzzer-task-index) task-id)))
|
||||
(set! (-> *autosplit-info-jak1* citadel-num-scout-flies) (buzzer-count *game-info* (-> *level-task-data* (level-task-data-index citadel) task-info (-> *level-task-data* (level-task-data-index citadel) buzzer-task-index) task-id))))
|
||||
)
|
||||
;; loading/cutscene related flags
|
||||
(set! (-> *autosplit-info-jak1* in-cutscene?) (real-movie?))
|
||||
|
||||
|
||||
@@ -18,16 +18,20 @@
|
||||
|
||||
(defmethod update! ((this autosplit-info))
|
||||
;; general statistics
|
||||
(set! (-> this num-orbs) (the int (-> *game-info* skill-total)))
|
||||
(set! (-> this num-skullgems) (the int (-> *game-info* gem-total)))
|
||||
;; ending conditions
|
||||
;; all collectables
|
||||
;; - check for all orbs (which require all missions conveniently)
|
||||
;; - also check for all darkjak powers
|
||||
(set! (-> this all-collectables-acquired?)
|
||||
(if (and (logtest? (-> *game-info* features) (game-feature darkjak-giant))
|
||||
(>= (-> this num-orbs) 286))
|
||||
1 0))
|
||||
;; 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)))
|
||||
(set! (-> this num-skullgems) (the int (-> *game-info* gem-total)))
|
||||
;; ending conditions
|
||||
;; all collectables
|
||||
;; - check for all orbs (which require all missions conveniently)
|
||||
;; - also check for all darkjak powers
|
||||
(set! (-> this all-collectables-acquired?)
|
||||
(if (and (logtest? (-> *game-info* features) (game-feature darkjak-giant))
|
||||
(>= (-> this num-orbs) 286))
|
||||
1 0)))
|
||||
)
|
||||
;; loading/cutscene related flags
|
||||
(set! (-> this in-cutscene?) (if (movie?) 1 0))
|
||||
;; need resolution flags
|
||||
|
||||
Reference in New Issue
Block a user