mirror of
https://github.com/open-goal/jak-project.git
synced 2024-11-27 16:31:14 +00:00
decomp: finish mistycannon
(#1009)
* stuck: a bit more progress in `snow-ball` * decomp: finish `mistycannon` * address feedback
This commit is contained in:
parent
604a8630f3
commit
574a61e02a
@ -977,6 +977,7 @@
|
||||
|
||||
(daxter-screaming-jump #x290)
|
||||
(daxter-wahoo-jump #x291)
|
||||
(daxter-get-some #x292)
|
||||
|
||||
(collectables-scout-flies-red-boxes #x295)
|
||||
(found-all-scout-flies #x296)
|
||||
@ -23625,6 +23626,10 @@
|
||||
(:methods
|
||||
(spawn-part (_type_) none 20)
|
||||
)
|
||||
(:states
|
||||
mistycannon-missile-idle
|
||||
mistycannon-missile-explode
|
||||
mistycannon-missile-in-water)
|
||||
)
|
||||
|
||||
(deftype mistycannon-init-data (structure)
|
||||
@ -23669,9 +23674,15 @@
|
||||
(:methods
|
||||
(rotate! (_type_ float) none 20)
|
||||
(tilt! (_type_ float) none 21)
|
||||
(dummy-22 (_type_ float float float) none 22)
|
||||
(dummy-22 (_type_ float float float) none 22) ;; can return a #f is postbindinfo-ok is false
|
||||
(dummy-23 (_type_) none 23)
|
||||
)
|
||||
(:states
|
||||
mistycannon-idle
|
||||
mistycannon-waiting-for-player
|
||||
mistycannon-waiting-for-player-to-fuck-off
|
||||
mistycannon-aim-at-player
|
||||
mistycannon-player-control)
|
||||
)
|
||||
|
||||
(deftype quadratic-solution (structure)
|
||||
@ -23698,12 +23709,12 @@
|
||||
|
||||
;; - Functions
|
||||
|
||||
(define-extern mistycannon-prebind-function (function mistycannon object))
|
||||
(define-extern mistycannon-prebind-function (function mistycannon int mistycannon none))
|
||||
(define-extern mistycannon-postbind-function (function mistycannon none))
|
||||
(define-extern angle-tracker-init-range! (function angle-tracker float float float none))
|
||||
(define-extern mistycannon-pick-random-target-point (function float :behavior mistycannon))
|
||||
(define-extern angle-tracker-seek! (function angle-tracker float symbol))
|
||||
(define-extern mistycannon-do-aim (function vector vector none :behavior mistycannon))
|
||||
(define-extern mistycannon-do-aim (function vector vector none :behavior mistycannon)) ;; can return a #f is postbindinfo-ok is false
|
||||
(define-extern mistycannon-find-trajectory (function trajectory-params none :behavior mistycannon))
|
||||
(define-extern solve-missile-velocity (function trajectory-params float none))
|
||||
(define-extern spawn-mistycannon-missile (function process-tree vector vector float float float float entity none))
|
||||
@ -23712,22 +23723,14 @@
|
||||
(define-extern mistycannon-collision-reaction (function collide-shape-moving collide-shape-intersect none))
|
||||
(define-extern angle-tracker-get-value (function angle-tracker float))
|
||||
(define-extern angle-tracker-set-value (function angle-tracker float float))
|
||||
(define-extern solve-missile-tilt (function trajectory-params float float float float symbol))
|
||||
(define-extern mistycannon-find-best-solution (function quadratic-solution none :behavior mistycannon))
|
||||
(define-extern solve-missile-tilt (function quadratic-solution float float float float symbol))
|
||||
(define-extern mistycannon-find-best-solution (function quadratic-solution int :behavior mistycannon))
|
||||
|
||||
;; - Unknowns
|
||||
|
||||
(define-extern *mistycannon-sg* skeleton-group)
|
||||
(define-extern mistycannon-idle (state mistycannon)) ;; unknown type
|
||||
(define-extern mistycannon-waiting-for-player (state mistycannon)) ;; unknown type
|
||||
(define-extern cam-mistycannon (state camera-slave)) ;; unknown type
|
||||
(define-extern mistycannon-waiting-for-player-to-fuck-off (state mistycannon)) ;; unknown type
|
||||
(define-extern mistycannon-aim-at-player (state mistycannon)) ;; unknown type
|
||||
(define-extern mistycannon-player-control (state mistycannon)) ;; unknown type
|
||||
(define-extern *mistycannon-missile-sg* skeleton-group)
|
||||
(define-extern mistycannon-missile-idle (state mistycannon-missile)) ;; unknown type
|
||||
(define-extern mistycannon-missile-explode (state mistycannon-missile)) ;; unknown type
|
||||
(define-extern mistycannon-missile-in-water (state mistycannon-missile)) ;; unknown type
|
||||
|
||||
|
||||
;; ----------------------
|
||||
@ -35232,7 +35235,8 @@
|
||||
)
|
||||
|
||||
(deftype snow-ball (process)
|
||||
((state-time uint64 :offset-assert 112)
|
||||
((child-override (pointer snow-ball-roller) :score 100 :offset 20)
|
||||
(state-time uint64 :offset-assert 112)
|
||||
(last-path-picked int32 :offset-assert 120)
|
||||
(same-path-picked-count int32 :offset-assert 124)
|
||||
(delay-til-next int32 :offset-assert 128)
|
||||
@ -35243,8 +35247,8 @@
|
||||
:heap-base #x20
|
||||
:flag-assert #x100020008c
|
||||
(:methods
|
||||
(dummy-14 (_type_ vector float int) none 14) ;; TODO - im pretty sure the 2nd arg is snow-ball-junction related!
|
||||
(dummy-15 (_type_ vector int) none 15) ;; TODO - same type as above
|
||||
(dummy-14 (_type_ (inline-array snow-ball-junction) float int) symbol 14)
|
||||
(dummy-15 (_type_ (inline-array snow-ball-junction) int) none 15) ;; TODO - same type as above
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -312,9 +312,7 @@
|
||||
|
||||
// all unchecked and in level DGO code
|
||||
"(anon-function 21 plant-boss)", // CFG
|
||||
"mistycannon-find-best-solution",
|
||||
"target-flut-falling-anim-trans", // CFG failure
|
||||
"(anon-function 36 mistycannon)",
|
||||
"(anon-function 6 title-obs)",
|
||||
"(anon-function 43 maincave-obs)",
|
||||
"(anon-function 2 target-tube)",
|
||||
|
@ -1895,8 +1895,8 @@
|
||||
],
|
||||
|
||||
"snow-ball": [
|
||||
["L86", "snow-ball-path-info"],
|
||||
["L87", "snow-ball-path-info"],
|
||||
["L86", "(inline-array vector)", 2], // likely wrong, but its 8 floats -- maybe its timing related, like a ticky? but those are int64s
|
||||
["L87", "(inline-array vector)", 2], // likely wrong, but its 8 floats -- maybe its timing related, like a ticky? but those are int64s
|
||||
["L89", "attack-info"]
|
||||
],
|
||||
|
||||
|
@ -5437,7 +5437,7 @@
|
||||
],
|
||||
|
||||
"(code mistycannon-missile-in-water)": [
|
||||
[16, "event-message-block"],
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
|
||||
@ -5450,7 +5450,7 @@
|
||||
],
|
||||
|
||||
"(code mistycannon-missile-explode)": [
|
||||
[16, "vector2w"]
|
||||
[16, "overlaps-others-params"]
|
||||
],
|
||||
|
||||
"(event mistycannon-missile-explode)": [
|
||||
|
@ -6698,6 +6698,7 @@
|
||||
],
|
||||
|
||||
"(code mistycannon-missile-idle)": [
|
||||
[110, "v0", "sound-rpc-set-param"],
|
||||
[207, "v1", "art-joint-anim"],
|
||||
[257, "v1", "art-joint-anim"]
|
||||
],
|
||||
@ -6985,5 +6986,23 @@
|
||||
[[3, 99], "s4", "joint-mod-tracker"]
|
||||
],
|
||||
|
||||
"(method 14 snow-ball)": [
|
||||
[16, "v1", "vector"],
|
||||
[23, "v1", "vector"],
|
||||
[30, "v1", "vector"]
|
||||
],
|
||||
|
||||
"(method 7 snow-ball)": [
|
||||
[26, "t9", "(function process-drawable int process-drawable)"]
|
||||
],
|
||||
|
||||
"(method 11 mistycannon)": [
|
||||
["_stack_", 16, "res-tag"],
|
||||
["_stack_", 32, "res-tag"],
|
||||
["_stack_", 48, "res-tag"],
|
||||
[337, "v0", "(pointer float)"],
|
||||
[367, "v0", "(pointer float)"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
@ -194,6 +194,7 @@
|
||||
|
||||
(daxter-screaming-jump #x290)
|
||||
(daxter-wahoo-jump #x291)
|
||||
(daxter-get-some #x292)
|
||||
|
||||
(collectables-scout-flies-red-boxes #x295)
|
||||
(found-all-scout-flies #x296)
|
||||
|
File diff suppressed because it is too large
Load Diff
2180
test/decompiler/reference/levels/common/mistycannon_REF.gc
generated
vendored
Normal file
2180
test/decompiler/reference/levels/common/mistycannon_REF.gc
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user