Jak1: Add Autosplitting options for tasks completed in one level and turned in in another (#3595)

For the FJ Mirrors, Muse, Lightning Moles, and Gambler's race the tasks
are completed in one level, then turned in at the hub. This presents a
spot of confusion for new players with the autosplitter and requires
hacky workarounds for those who want to split on these conditions. This
pull request adds in the necessary code to the autosplit-h.gc and
autosplit.gc files so that the autosplitter can identify these events,
similar to the talk to fisherman and catch fish options in the current
autosplitter.
This commit is contained in:
zakfaulk 2024-07-26 22:12:30 -05:00 committed by GitHub
parent 82a23c747e
commit a7c9151c6c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 16 additions and 3 deletions

View file

@ -1,7 +1,9 @@
;;-*-Lisp-*-
(in-package goal)
(require "kernel-defs.gc")
;; LiveSplit ASL requires all settings to initalized _before_ you connect the process
;; Therefore everything has to be laid out in a predictable fashion before hand
;; So this is a lot of hard-coding, but not too bad when just copied from the debug menu code
@ -165,11 +167,13 @@
(int-finalboss-movies uint8)
(unk-finalboss-movies uint8)
(int-jungle-fishgame uint8)
(com-jungle-lurkerm uint8)
(com-misty-muse uint8)
(com-rolling-moles uint8)
(com-rolling-race uint8)
;; end marker just to make things look nice in a memory view
(end-marker uint8 4)))
(define-extern *autosplit-info-jak1* autosplit-info-jak1)
(define-extern update-autosplit-info-jak1 (function none))
(define-extern update-autosplit-jak1-new-game (function none))

View file

@ -269,6 +269,15 @@
(if (task-closed? (game-task finalboss-movies) (task-status unknown)) 1 0))
(set! (-> *autosplit-info-jak1* int-jungle-fishgame)
(if (task-closed? (game-task jungle-fishgame) (task-status need-introduction)) 1 0))
(set! (-> *autosplit-info-jak1* com-jungle-lurkerm)
(if (task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) 1 0))
(set! (-> *autosplit-info-jak1* com-misty-muse)
(if (task-closed? (game-task misty-muse) (task-status need-reminder)) 1 0))
(set! (-> *autosplit-info-jak1* com-rolling-moles)
(if (task-closed? (game-task rolling-moles) (task-status need-reminder)) 1 0))
(set! (-> *autosplit-info-jak1* com-rolling-race)
(if (task-closed? (game-task rolling-race) (task-status need-reminder)) 1 0))
;; end
(none))