Add a autosplit-flag-task-complete! macro (#2317)

Cuts out a little bit of repetition in the autosplit code. Also adds
some labels to the VS configurations.


090c497799/goal_src/jak1/pc/features/autosplit-h.gc (L167-L169)
This commit is contained in:
ZedB0T 2023-03-14 17:56:58 -04:00 committed by GitHub
parent 5b8644ea20
commit 9a28cc5a79
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 120 additions and 110 deletions

View file

@ -100,15 +100,15 @@
"type": "default",
"project": "CMakeLists.txt",
"projectTarget": "gk.exe (bin\\gk.exe)",
"name": "Game - Runtime",
"args": ["-v", "--", "-fakeiso", "-debug"]
"name": "Game - Jak 1 - Runtime",
"args": ["-v", "--game", "jak1", "--", "-fakeiso", "-debug"]
},
{
"type": "default",
"project": "CMakeLists.txt",
"projectTarget": "gk.exe (bin\\gk.exe)",
"name": "Game - Runtime (boot)",
"args": ["-v", "--", "-boot", "-fakeiso", "-debug"]
"name": "Game - Jak 1 - Runtime (boot)",
"args": ["-v", "--game", "jak1", "--", "-boot", "-fakeiso", "-debug"]
},
{
"type": "default",
@ -124,6 +124,13 @@
"name": "REPL",
"args": ["--user-auto"]
},
{
"type": "default",
"project": "CMakeLists.txt",
"projectTarget": "goalc.exe (bin\\goalc.exe)",
"name": "REPL - Jak 1",
"args": ["--user-auto", "--game", "jak1"]
},
{
"type": "default",
"project": "CMakeLists.txt",

View file

@ -164,6 +164,10 @@
;; end marker just to make things look nice in a memory view
(end-marker uint8 4)))
(defmacro autosplit-flag-task-complete! (field-name task-name)
"Given a field name in the autosplitter struct, and a [[game-task]] name to check, sets either a 0 or a 1"
`(set! (-> *autosplit-info-jak1* ,field-name) (if (task-complete? *game-info* (game-task ,task-name)) 1 0)))
(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

@ -54,112 +54,111 @@
(set! (-> *autosplit-info-jak1* in-cutscene?) (-> *pc-settings* movie?))
;; need resolution flags
;; TODO - a macro for this would be nice
(set! (-> *autosplit-info-jak1* res-training-gimmie) (if (task-closed? (game-task training-gimmie) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-training-door) (if (task-closed? (game-task training-door) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-training-climb) (if (task-closed? (game-task training-climb) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-training-buzzer) (if (task-closed? (game-task training-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-jungle-eggtop) (if (task-closed? (game-task jungle-eggtop) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-jungle-lurkerm) (if (task-closed? (game-task jungle-lurkerm) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-jungle-tower) (if (task-closed? (game-task jungle-tower) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-jungle-fishgame) (if (task-closed? (game-task jungle-fishgame) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-jungle-plant) (if (task-closed? (game-task jungle-plant) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-jungle-buzzer) (if (task-closed? (game-task jungle-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-jungle-canyon-end) (if (task-closed? (game-task jungle-canyon-end) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-jungle-temple-door) (if (task-closed? (game-task jungle-temple-door) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village1-yakow) (if (task-closed? (game-task village1-yakow) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village1-mayor-money) (if (task-closed? (game-task village1-mayor-money) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village1-uncle-money) (if (task-closed? (game-task village1-uncle-money) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village1-oracle-money1) (if (task-closed? (game-task village1-oracle-money1) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village1-oracle-money2) (if (task-closed? (game-task village1-oracle-money2) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village1-buzzer) (if (task-closed? (game-task village1-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-beach-ecorocks) (if (task-closed? (game-task beach-ecorocks) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-beach-pelican) (if (task-closed? (game-task beach-pelican) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-beach-flutflut) (if (task-closed? (game-task beach-flutflut) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-beach-seagull) (if (task-closed? (game-task beach-seagull) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-beach-cannon) (if (task-closed? (game-task beach-cannon) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-beach-buzzer) (if (task-closed? (game-task beach-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-beach-gimmie) (if (task-closed? (game-task beach-gimmie) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-beach-sentinel) (if (task-closed? (game-task beach-sentinel) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-misty-muse) (if (task-closed? (game-task misty-muse) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-misty-boat) (if (task-closed? (game-task misty-boat) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-misty-warehouse) (if (task-closed? (game-task misty-warehouse) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-misty-cannon) (if (task-closed? (game-task misty-cannon) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-misty-bike) (if (task-closed? (game-task misty-bike) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-misty-buzzer) (if (task-closed? (game-task misty-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-misty-bike-jump) (if (task-closed? (game-task misty-bike-jump) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-misty-eco-challenge) (if (task-closed? (game-task misty-eco-challenge) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village2-gambler-money) (if (task-closed? (game-task village2-gambler-money) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village2-geologist-money) (if (task-closed? (game-task village2-geologist-money) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village2-warrior-money) (if (task-closed? (game-task village2-warrior-money) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village2-oracle-money1) (if (task-closed? (game-task village2-oracle-money1) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village2-oracle-money2) (if (task-closed? (game-task village2-oracle-money2) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village2-buzzer) (if (task-closed? (game-task village2-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-swamp-billy) (if (task-closed? (game-task swamp-billy) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-swamp-flutflut) (if (task-closed? (game-task swamp-flutflut) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-swamp-battle) (if (task-closed? (game-task swamp-battle) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-swamp-tether-1) (if (task-closed? (game-task swamp-tether-1) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-swamp-tether-2) (if (task-closed? (game-task swamp-tether-2) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-swamp-tether-3) (if (task-closed? (game-task swamp-tether-3) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-swamp-tether-4) (if (task-closed? (game-task swamp-tether-4) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-swamp-buzzer) (if (task-closed? (game-task swamp-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-swamp-arm) (if (task-closed? (game-task swamp-arm) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-sunken-platforms) (if (task-closed? (game-task sunken-platforms) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-sunken-pipe) (if (task-closed? (game-task sunken-pipe) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-sunken-slide) (if (task-closed? (game-task sunken-slide) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-sunken-room) (if (task-closed? (game-task sunken-room) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-sunken-sharks) (if (task-closed? (game-task sunken-sharks) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-sunken-buzzer) (if (task-closed? (game-task sunken-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-sunken-top-of-helix) (if (task-closed? (game-task sunken-top-of-helix) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-sunken-spinning-room) (if (task-closed? (game-task sunken-spinning-room) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-rolling-race) (if (task-closed? (game-task rolling-race) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-rolling-robbers) (if (task-closed? (game-task rolling-robbers) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-rolling-moles) (if (task-closed? (game-task rolling-moles) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-rolling-plants) (if (task-closed? (game-task rolling-plants) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-rolling-lake) (if (task-closed? (game-task rolling-lake) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-rolling-buzzer) (if (task-closed? (game-task rolling-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-rolling-ring-chase-1) (if (task-closed? (game-task rolling-ring-chase-1) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-rolling-ring-chase-2) (if (task-closed? (game-task rolling-ring-chase-2) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-snow-eggtop) (if (task-closed? (game-task snow-eggtop) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-snow-ram) (if (task-closed? (game-task snow-ram) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-snow-fort) (if (task-closed? (game-task snow-fort) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-snow-ball) (if (task-closed? (game-task snow-ball) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-snow-bunnies) (if (task-closed? (game-task snow-bunnies) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-snow-buzzer) (if (task-closed? (game-task snow-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-snow-bumpers) (if (task-closed? (game-task snow-bumpers) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-snow-cage) (if (task-closed? (game-task snow-cage) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-red-eggtop) (if (task-closed? (game-task red-eggtop) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-firecanyon-buzzer) (if (task-closed? (game-task firecanyon-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-firecanyon-end) (if (task-closed? (game-task firecanyon-end) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-citadel-sage-green) (if (task-closed? (game-task citadel-sage-green) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-citadel-sage-blue) (if (task-closed? (game-task citadel-sage-blue) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-citadel-sage-red) (if (task-closed? (game-task citadel-sage-red) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-citadel-sage-yellow) (if (task-closed? (game-task citadel-sage-yellow) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-citadel-buzzer) (if (task-closed? (game-task citadel-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village3-extra1) (if (task-closed? (game-task village3-extra1) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village3-buzzer) (if (task-closed? (game-task village3-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village3-miner-money1) (if (task-closed? (game-task village3-miner-money1) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village3-miner-money2) (if (task-closed? (game-task village3-miner-money2) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village3-miner-money3) (if (task-closed? (game-task village3-miner-money3) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village3-miner-money4) (if (task-closed? (game-task village3-miner-money4) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village3-oracle-money1) (if (task-closed? (game-task village3-oracle-money1) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-village3-oracle-money2) (if (task-closed? (game-task village3-oracle-money2) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-cave-gnawers) (if (task-closed? (game-task cave-gnawers) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-cave-dark-crystals) (if (task-closed? (game-task cave-dark-crystals) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-cave-dark-climb) (if (task-closed? (game-task cave-dark-climb) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-cave-robot-climb) (if (task-closed? (game-task cave-robot-climb) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-cave-swing-poles) (if (task-closed? (game-task cave-swing-poles) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-cave-spider-tunnel) (if (task-closed? (game-task cave-spider-tunnel) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-cave-platforms) (if (task-closed? (game-task cave-platforms) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-cave-buzzer) (if (task-closed? (game-task cave-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-ogre-boss) (if (task-closed? (game-task ogre-boss) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-ogre-end) (if (task-closed? (game-task ogre-end) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-ogre-buzzer) (if (task-closed? (game-task ogre-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-ogre-secret) (if (task-closed? (game-task ogre-secret) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-lavatube-end) (if (task-closed? (game-task lavatube-end) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-lavatube-buzzer) (if (task-closed? (game-task lavatube-buzzer) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-lavatube-balls) (if (task-closed? (game-task lavatube-balls) (task-status need-resolution)) 1 0))
(set! (-> *autosplit-info-jak1* res-intro) (if (task-closed? (game-task intro) (task-status need-resolution)) 1 0))
(autosplit-flag-task-complete! res-training-gimmie training-gimmie)
(autosplit-flag-task-complete! res-training-door training-door)
(autosplit-flag-task-complete! res-training-climb training-climb)
(autosplit-flag-task-complete! res-training-buzzer training-buzzer)
(autosplit-flag-task-complete! res-jungle-eggtop jungle-eggtop)
(autosplit-flag-task-complete! res-jungle-lurkerm jungle-lurkerm)
(autosplit-flag-task-complete! res-jungle-tower jungle-tower)
(autosplit-flag-task-complete! res-jungle-fishgame jungle-fishgame)
(autosplit-flag-task-complete! res-jungle-plant jungle-plant)
(autosplit-flag-task-complete! res-jungle-buzzer jungle-buzzer)
(autosplit-flag-task-complete! res-jungle-canyon-end jungle-canyon-end)
(autosplit-flag-task-complete! res-jungle-temple-door jungle-temple-door)
(autosplit-flag-task-complete! res-village1-yakow village1-yakow)
(autosplit-flag-task-complete! res-village1-mayor-money village1-mayor-money)
(autosplit-flag-task-complete! res-village1-uncle-money village1-uncle-money)
(autosplit-flag-task-complete! res-village1-oracle-money1 village1-oracle-money1)
(autosplit-flag-task-complete! res-village1-oracle-money2 village1-oracle-money2)
(autosplit-flag-task-complete! res-village1-buzzer village1-buzzer)
(autosplit-flag-task-complete! res-beach-ecorocks beach-ecorocks)
(autosplit-flag-task-complete! res-beach-pelican beach-pelican)
(autosplit-flag-task-complete! res-beach-flutflut beach-flutflut)
(autosplit-flag-task-complete! res-beach-seagull beach-seagull)
(autosplit-flag-task-complete! res-beach-cannon beach-cannon)
(autosplit-flag-task-complete! res-beach-buzzer beach-buzzer)
(autosplit-flag-task-complete! res-beach-gimmie beach-gimmie)
(autosplit-flag-task-complete! res-beach-sentinel beach-sentinel)
(autosplit-flag-task-complete! res-misty-muse misty-muse)
(autosplit-flag-task-complete! res-misty-boat misty-boat)
(autosplit-flag-task-complete! res-misty-warehouse misty-warehouse)
(autosplit-flag-task-complete! res-misty-cannon misty-cannon)
(autosplit-flag-task-complete! res-misty-bike misty-bike)
(autosplit-flag-task-complete! res-misty-buzzer misty-buzzer)
(autosplit-flag-task-complete! res-misty-bike-jump misty-bike-jump)
(autosplit-flag-task-complete! res-misty-eco-challenge misty-eco-challenge)
(autosplit-flag-task-complete! res-village2-gambler-money village2-gambler-money)
(autosplit-flag-task-complete! res-village2-geologist-money village2-geologist-money)
(autosplit-flag-task-complete! res-village2-warrior-money village2-warrior-money)
(autosplit-flag-task-complete! res-village2-oracle-money1 village2-oracle-money1)
(autosplit-flag-task-complete! res-village2-oracle-money2 village2-oracle-money2)
(autosplit-flag-task-complete! res-village2-buzzer village2-buzzer)
(autosplit-flag-task-complete! res-swamp-billy swamp-billy)
(autosplit-flag-task-complete! res-swamp-flutflut swamp-flutflut)
(autosplit-flag-task-complete! res-swamp-battle swamp-battle)
(autosplit-flag-task-complete! res-swamp-tether-1 swamp-tether-1)
(autosplit-flag-task-complete! res-swamp-tether-2 swamp-tether-2)
(autosplit-flag-task-complete! res-swamp-tether-3 swamp-tether-3)
(autosplit-flag-task-complete! res-swamp-tether-4 swamp-tether-4)
(autosplit-flag-task-complete! res-swamp-buzzer swamp-buzzer)
(autosplit-flag-task-complete! res-swamp-arm swamp-arm)
(autosplit-flag-task-complete! res-sunken-platforms sunken-platforms)
(autosplit-flag-task-complete! res-sunken-pipe sunken-pipe)
(autosplit-flag-task-complete! res-sunken-slide sunken-slide)
(autosplit-flag-task-complete! res-sunken-room sunken-room)
(autosplit-flag-task-complete! res-sunken-sharks sunken-sharks)
(autosplit-flag-task-complete! res-sunken-buzzer sunken-buzzer)
(autosplit-flag-task-complete! res-sunken-top-of-helix sunken-top-of-helix)
(autosplit-flag-task-complete! res-sunken-spinning-room sunken-spinning-room)
(autosplit-flag-task-complete! res-rolling-race rolling-race)
(autosplit-flag-task-complete! res-rolling-robbers rolling-robbers)
(autosplit-flag-task-complete! res-rolling-moles rolling-moles)
(autosplit-flag-task-complete! res-rolling-plants rolling-plants)
(autosplit-flag-task-complete! res-rolling-lake rolling-lake)
(autosplit-flag-task-complete! res-rolling-buzzer rolling-buzzer)
(autosplit-flag-task-complete! res-rolling-ring-chase-1 rolling-ring-chase-1)
(autosplit-flag-task-complete! res-rolling-ring-chase-2 rolling-ring-chase-2)
(autosplit-flag-task-complete! res-snow-eggtop snow-eggtop)
(autosplit-flag-task-complete! res-snow-ram snow-ram)
(autosplit-flag-task-complete! res-snow-fort snow-fort)
(autosplit-flag-task-complete! res-snow-ball snow-ball)
(autosplit-flag-task-complete! res-snow-bunnies snow-bunnies)
(autosplit-flag-task-complete! res-snow-buzzer snow-buzzer)
(autosplit-flag-task-complete! res-snow-bumpers snow-bumpers)
(autosplit-flag-task-complete! res-snow-cage snow-cage)
(autosplit-flag-task-complete! res-red-eggtop red-eggtop)
(autosplit-flag-task-complete! res-firecanyon-buzzer firecanyon-buzzer)
(autosplit-flag-task-complete! res-firecanyon-end firecanyon-end)
(autosplit-flag-task-complete! res-citadel-sage-green citadel-sage-green)
(autosplit-flag-task-complete! res-citadel-sage-blue citadel-sage-blue)
(autosplit-flag-task-complete! res-citadel-sage-red citadel-sage-red)
(autosplit-flag-task-complete! res-citadel-sage-yellow citadel-sage-yellow)
(autosplit-flag-task-complete! res-citadel-buzzer citadel-buzzer)
(autosplit-flag-task-complete! res-village3-extra1 village3-extra1)
(autosplit-flag-task-complete! res-village3-buzzer village3-buzzer)
(autosplit-flag-task-complete! res-village3-miner-money1 village3-miner-money1)
(autosplit-flag-task-complete! res-village3-miner-money2 village3-miner-money2)
(autosplit-flag-task-complete! res-village3-miner-money3 village3-miner-money3)
(autosplit-flag-task-complete! res-village3-miner-money4 village3-miner-money4)
(autosplit-flag-task-complete! res-village3-oracle-money1 village3-oracle-money1)
(autosplit-flag-task-complete! res-village3-oracle-money2 village3-oracle-money2)
(autosplit-flag-task-complete! res-cave-gnawers cave-gnawers)
(autosplit-flag-task-complete! res-cave-dark-crystals cave-dark-crystals)
(autosplit-flag-task-complete! res-cave-dark-climb cave-dark-climb)
(autosplit-flag-task-complete! res-cave-robot-climb cave-robot-climb)
(autosplit-flag-task-complete! res-cave-swing-poles cave-swing-poles)
(autosplit-flag-task-complete! res-cave-spider-tunnel cave-spider-tunnel)
(autosplit-flag-task-complete! res-cave-platforms cave-platforms)
(autosplit-flag-task-complete! res-cave-buzzer cave-buzzer)
(autosplit-flag-task-complete! res-ogre-boss ogre-boss)
(autosplit-flag-task-complete! res-ogre-end ogre-end)
(autosplit-flag-task-complete! res-ogre-buzzer ogre-buzzer)
(autosplit-flag-task-complete! res-ogre-secret ogre-secret)
(autosplit-flag-task-complete! res-lavatube-end lavatube-end)
(autosplit-flag-task-complete! res-lavatube-buzzer lavatube-buzzer)
(autosplit-flag-task-complete! res-lavatube-balls lavatube-balls)
(autosplit-flag-task-complete! res-intro intro)
;; other misc tasks
(set! (-> *autosplit-info-jak1* int-finalboss-movies) (if (task-closed? (game-task finalboss-movies) (task-status need-introduction)) 1 0))