From d2e9e6ea456aad0672dc4b4556f3e274824addb6 Mon Sep 17 00:00:00 2001 From: Matt Dallmeyer Date: Wed, 8 Apr 2026 09:36:22 -0700 Subject: [PATCH] [jak2/jak3] Check target state != target-continue, instead of = target-stance, for speedrun post-init things (#4193) Without this change, in hero mode speedruns you aren't given jetboard, guns, etc if you are immediately moving when the game starts (left side has these changes, right side does not) https://github.com/user-attachments/assets/d581ca13-3734-4389-9986-0f815c76e906 --- goal_src/jak2/pc/features/speedruns.gc | 2 +- goal_src/jak3/pc/features/speedruns.gc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/goal_src/jak2/pc/features/speedruns.gc b/goal_src/jak2/pc/features/speedruns.gc index 792a763b22..e37b2b5dd9 100644 --- a/goal_src/jak2/pc/features/speedruns.gc +++ b/goal_src/jak2/pc/features/speedruns.gc @@ -89,7 +89,7 @@ (if (string= *temp-string* "") (initialize! *game-info* 'game (the-as game-save #f) "game-start") (initialize! *game-info* 'game (the-as game-save #f) *temp-string*)) - (until (and *target* (= (-> *target* next-state name) 'target-stance)) + (until (and *target* (!= (-> *target* next-state name) 'target-continue)) (suspend)) (when (nonzero? (-> *speedrun-info* active-custom-category completed-task)) (task-resolution-close! (-> *speedrun-info* active-custom-category completed-task))))))) diff --git a/goal_src/jak3/pc/features/speedruns.gc b/goal_src/jak3/pc/features/speedruns.gc index 304025ce45..fc566eb90c 100644 --- a/goal_src/jak3/pc/features/speedruns.gc +++ b/goal_src/jak3/pc/features/speedruns.gc @@ -173,7 +173,7 @@ (logior! (-> *game-info* purchase-secrets) (game-secrets hero-mode)) (start 'play (get-continue-by-name *game-info* "wasstada-jump-training")) (play-task (game-task arena-training-1) 'debug #f) - (until (and *target* (= (-> *target* next-state name) 'target-stance)) + (until (and *target* (!= (-> *target* next-state name) 'target-continue)) (suspend)) (send-event *target* 'get-pickup (pickup-type gem) 1000.0) (set! (-> *game-info* secrets) HERO_MODE_SECRETS) @@ -195,7 +195,7 @@ (if (string= *temp-string* EMPTY_STRING) (initialize! *game-info* 'game (the game-save #f) "intro-start" (the resetter-spec #f)) (initialize! *game-info* 'game (the game-save #f) *temp-string* (the resetter-spec #f))) - (until (and *target* (= (-> *target* next-state name) 'target-stance)) + (until (and *target* (!= (-> *target* next-state name) 'target-continue)) (suspend)) (when (nonzero? (-> *speedrun-info* active-custom-category completed-task)) (task-resolution-close! (-> *speedrun-info* active-custom-category completed-task)))))))