decomp: generic-obs (#894)

* stash

* more

* and more

* like 80% done

* trying to update things

* refreshed work on generic-obs

* blocked: down to only decompiler issues!

* decomp: finish `generic-obs` skip over the failing functions for now

* `pair` -> `object`s and fix 2/4 of the functions i had skipped

* address feedback
This commit is contained in:
Tyler Wilding 2021-11-13 23:31:29 -05:00 committed by GitHub
parent 1aad6c55e3
commit f605b0ee38
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 7127 additions and 493 deletions

View File

@ -106,6 +106,15 @@
}
]
},
"(dsll32 v1, s5, 30)": {
"filterFileRegex": ".*ir2\\.asm",
"decorations": [
{
"overviewRulerColor": "transparent",
"color": "magenta"
}
]
},
"(jalr)": {
"filterFileRegex": ".*ir2\\.asm",
"decorations": [

View File

@ -954,9 +954,8 @@
(firecanyon-not-enough-cells #x24f)
(sidekick-hint-orb-cache-top #x251)
(daxter-launcher-no-eco #x25c)
(jungle-precursorbridge-hint #x25b)
(beach-gimmie #x262)
(beach-sentinel #x263)
(jungle-canyon-end #x264)
@ -10312,10 +10311,11 @@
;; - Types
;; NOTE - root can also be a collide-shape
(deftype manipy (process-drawable)
((new-trans-hook function :offset-assert 176)
(cur-trans-hook function :offset-assert 180)
(cur-event-hook function :offset-assert 184)
((new-trans-hook (function none) :offset-assert 176) ;; TODO - no idea on these types
(cur-trans-hook (function none) :offset-assert 180) ;; TODO - no idea on these types
(cur-event-hook (function none) :offset-assert 184) ;; TODO - no idea on these types
(new-joint-anim art-joint-anim :offset-assert 188)
(new-joint-anim-blend uint64 :offset-assert 192)
(anim-mode symbol :offset-assert 200)
@ -10323,8 +10323,8 @@
(cur-target-handle handle :offset-assert 216)
(old-grab-pos vector :inline :offset-assert 224)
(joint process-drawable 4 :offset-assert 240)
(new-post-hook function :offset-assert 256)
(cur-post-hook function :offset-assert 260)
(new-post-hook (function none) :offset-assert 256) ;; TODO - no idea on these types
(cur-post-hook (function none) :offset-assert 260) ;; TODO - no idea on these types
(clone-copy-trans basic :offset-assert 264)
(shadow-backup basic :offset-assert 268)
(draw? symbol :offset-assert 272)
@ -10335,9 +10335,10 @@
:flag-assert #x1400b00114
)
(declare-type sparticle-launch-group structure)
(deftype part-spawner (process-drawable)
((mode uint32 :offset-assert 176)
(enable basic :offset-assert 180)
((mode (pointer sparticle-launch-group) :offset-assert 176) ;; takes a part-spawner as it's first arg in method 9
(enable symbol :offset-assert 180)
(radius meters :offset-assert 184)
(world-sphere sphere :inline :offset-assert 192)
)
@ -10346,19 +10347,19 @@
:size-assert #xd0
:flag-assert #x15006000d0
(:methods
(dummy-20 () none 20)
(dummy-20 (_type_) none 20)
)
)
(deftype part-tracker (process)
((root trsqv :offset-assert 112)
(part sparticle-launch-control :offset-assert 116)
(target uint64 :offset-assert 120)
(callback basic :offset-assert 128)
(linger-callback basic :offset-assert 132)
(duration int64 :offset-assert 136)
(linger-duration int64 :offset-assert 144)
(start-time int64 :offset-assert 152)
((root trsqv :offset-assert 112)
(part sparticle-launch-control :offset-assert 116)
(target handle :offset-assert 120)
(callback (function part-tracker none) :offset-assert 128)
(linger-callback (function part-tracker none) :offset-assert 132)
(duration int64 :offset-assert 136)
(linger-duration int64 :offset-assert 144)
(start-time int64 :offset-assert 152)
(offset vector :inline :offset-assert 160)
(userdata uint64 :offset-assert 176)
(user-time int64 2 :offset-assert 184)
@ -10372,9 +10373,10 @@
)
(deftype camera-tracker (process)
((grab-target handle :offset 120)
(grab-event basic :offset-assert 128)
(release-event basic :offset-assert 132)
((entity-override entity-actor :score 100 :offset 52)
(grab-target handle :offset 120)
(grab-event symbol :offset-assert 128)
(release-event symbol :offset-assert 132)
(old-global-mask uint32 :offset-assert 136)
(old-self-mask uint32 :offset-assert 140)
(old-parent-mask uint32 :offset-assert 144)
@ -10388,27 +10390,28 @@
(message basic :offset-assert 200)
(border-value basic :offset-assert 204)
(mask-to-clear uint32 :offset-assert 208)
(script basic :offset-assert 212)
(script-line basic :offset-assert 216)
(script-func basic :offset-assert 220)
(script pair :offset-assert 212)
(script-line pair :offset-assert 216)
(script-func (function none) :offset-assert 220) ;; TODO - unconfirmed, see generic-obs::lambda::33
)
:heap-base #x70
:method-count-assert 15
:size-assert #xe0
:flag-assert #xf007000e0
;; field ~Tuserdata is a basic loaded with a signed load
(:methods
(dummy-14 () none 14)
(dummy-14 (_type_ pair) process 14)
)
)
(declare-type collide-shape-moving basic)
(deftype touch-tracker (process-drawable)
((duration uint64 :offset-assert 176)
(target uint64 :offset-assert 184)
(event basic :offset-assert 192)
(run-function basic :offset-assert 196)
(callback basic :offset-assert 200)
(event-mode basic :offset-assert 204)
((root-override collide-shape-moving :score 100 :offset 112)
(duration uint64 :offset-assert 176)
(target handle :offset-assert 184)
(event symbol :offset-assert 192)
(run-function (function none) :offset-assert 196)
(callback (function touch-tracker none) :offset-assert 200)
(event-mode basic :offset-assert 204) ;; not a basic!
)
:heap-base #x60
:method-count-assert 20
@ -17991,7 +17994,7 @@
(define-extern load-state-want-force-vis (function symbol symbol int))
(define-extern command-get-param (function object object object))
(define-extern entity-birth-no-kill (function entity none))
(define-extern part-tracker-init (function sparticle-launch-group int basic basic basic vector none)) ;; TODO - not confirmed
(define-extern part-tracker-init (function sparticle-launch-group int (function part-tracker none) (pointer process-drawable) process collide-prim-core none :behavior part-tracker))
(define-extern command-list-get-process (function object process))
(define-extern command-get-quoted-param (function object object object))
(define-extern command-get-int (function object int int))
@ -18598,10 +18601,6 @@
(define-extern cam-master-active (state camera-master))
(define-extern list-keeper-active (state camera-master))
(define-extern *CAMERA_MASTER-bank* camera-master-bank)
;; - Unknowns
(define-extern cam-fixed (state camera-slave))
(define-extern cam-decel (state camera-slave))
(define-extern cam-eye (state camera-slave))
@ -19456,8 +19455,8 @@
)
(deftype med-res-level (process-drawable)
((level basic :offset-assert 176)
(part-mode basic :offset-assert 180)
((level symbol :offset-assert 176)
(part-mode basic :offset-assert 180) ;; sometimes a sound-mode, but too low a sample size to know for sure
(index int32 :offset-assert 184)
)
:method-count-assert 20
@ -19467,10 +19466,11 @@
)
(deftype launcher (process-drawable)
((spring-height meters :offset-assert 176)
(camera basic :offset-assert 180)
((root-override collide-shape :score 100 :offset 112)
(spring-height meters :offset-assert 176)
(camera state :offset-assert 180)
(active-distance float :offset-assert 184)
(seek-time int64 :offset-assert 192)
(seek-time uint64 :offset-assert 192)
(dest vector :inline :offset-assert 208)
(sound-id sound-id :offset-assert 224)
)
@ -19482,47 +19482,47 @@
;; - Functions
(define-extern line-in-view-frustum? function)
(define-extern line-in-view-frustum? (function vector vector symbol)) ;; TODO - not confirmed
(define-extern process-drawable-random-point! (function process-drawable vector vector))
(define-extern process-drawable-from-entity! (function process-drawable res-lump none))
(define-extern cam-launcher-long-joystick function)
(define-extern cam-launcher-long-joystick (function vector :behavior camera-slave))
(define-extern hide-hud-quick (function none))
(define-extern command-get-process (function basic process-drawable process))
(define-extern camera-change-to (function string int symbol none)) ;; TODO - not confirmed yet
(define-extern camera-look-at (function process int none)) ;; TODO - process is likely a target
(define-extern camera-pov-from function)
(define-extern command-get-trans function)
(define-extern manipy-init (function vector entity skeleton-group vector none :behavior manipy))
(define-extern part-tracker-notify function)
(define-extern command-get-process (function object process-drawable process :behavior camera-tracker))
(define-extern camera-change-to (function string int symbol symbol))
(define-extern camera-look-at (function pair uint process :behavior camera-tracker))
(define-extern camera-pov-from (function pair uint process :behavior camera-tracker))
(define-extern command-get-trans (function object vector vector)) ;; object types - null | symbol (null | target) | pair
(define-extern manipy-init (function vector entity skeleton-group vector none :behavior manipy)) ;; TODO - not confirmed yet
(define-extern part-tracker-notify (function object :behavior part-tracker))
(define-extern clone-anim-once (function handle int symbol string none :behavior process-drawable))
(define-extern merc-eye-anim (function process-drawable none))
(define-extern clone-anim (function handle int symbol string none :behavior process-drawable))
(define-extern convert-to-hud-object (function process-drawable hud none :behavior hud))
(define-extern command-get-camera function)
(define-extern ja-anim-done? (function symbol)) ;; TODO - not confirmed
(define-extern camera-anim function)
(define-extern camera-tracker-init (function function none)) ;; TODO - not confirmed, see misty-warehouse::camera-view
(define-extern cam-launcher-joystick function)
(define-extern launcher-init-by-other (function vector float vector float none :behavior launcher))
(define-extern touch-tracker-init (function object object object none))
(define-extern clone-anim (function handle int symbol string none :behavior process-drawable))
(define-extern merc-eye-anim (function process-drawable none))
(define-extern ja-anim-done? (function pair symbol)) ;; TODO - has a behavior, no idea what it is
(define-extern command-get-camera (function object state object)) ;; ret - (state camera) | string | symbol
(define-extern camera-anim (function symbol basic entity (pointer process) :behavior camera-tracker)) ;; unused
(define-extern camera-tracker-init (function object object :behavior camera-tracker)) ;; TODO - nested SC
(define-extern cam-launcher-joystick (function vector :behavior camera-slave))
(define-extern launcher-init-by-other (function vector float int float none :behavior launcher))
(define-extern touch-tracker-init (function vector float uint none :behavior touch-tracker)) ;; last arg is a handle to `target`
(define-extern process-drawable-pair-random-point! (function process-drawable process-drawable vector float vector))
(define-extern birth-func-set-quat function)
(define-extern birth-func-set-quat (function int sparticle-cpuinfo sparticle-launchinfo none))
(define-extern draw-eco-beam (function vector vector none))
;; - Unknowns
(define-extern *particle-quat* quaternion)
(define-extern touch-tracker-idle (state touch-tracker))
(define-extern cam-launcher-longfall (state camera-tracker))
(define-extern cam-launcher-shortfall (state camera-tracker))
(define-extern cam-launcher-longfall (state camera-slave))
(define-extern cam-launcher-shortfall (state camera-slave))
(define-extern launcher-idle (state launcher))
(define-extern launcher-deactivated (state launcher))
(define-extern launcher-active (state launcher))
(define-extern part-spawner-active (state part-spawner))
(define-extern *lev-string* string)
(define-extern med-res-level-idle (state med-res-level))
(define-extern camera-tracker-process camera-tracker)
(define-extern part-tracker-process part-tracker)
(define-extern camera-tracker-process (state camera-tracker))
(define-extern part-tracker-process (state part-tracker))
(define-extern manipy-idle (state manipy))
(define-extern swingpole-stance (state swingpole))
(define-extern swingpole-active (state swingpole))
@ -21938,7 +21938,7 @@
(define-extern dm-cam-settings-func (function int int symbol))
(define-extern dm-cam-settings-func-int (function int int debug-menu debug-menu debug-menu))
(define-extern debug-create-cam-restore (function none)) ;; TODO - level-group type isn't complete
(define-extern dm-cam-mode-func (function (state camera-slave) int symbol))
(define-extern dm-cam-mode-func (function (state camera-slave) int object))
(define-extern dm-instance-pick-func (function string int basic))
(define-extern dm-enable-instance-func (function string int symbol))
(define-extern dm-shader-pick-func (function texture-id int object)) ;; TODO - more texture stuff...

View File

@ -817,5 +817,9 @@
[4, "(function sparticle-launch-control :behavior ogreboss-village2)"]
],
"generic-obs": [
[5, "(function symbol :behavior touch-tracker)"]
],
"placeholder-do-not-add-below": []
}

View File

@ -282,9 +282,6 @@
// ambient
"ambient-inspect",
// generic-obs BUG
"camera-change-to",
// target BUG
"target-falling-anim-trans",
@ -401,7 +398,10 @@
"load-boundary-from-template",
"command-get-time",
"command-get-param",
"command-get-quoted-param"
"command-get-quoted-param",
"command-get-trans",
"command-get-camera",
"(method 14 camera-tracker)"
],
// If format is used with the wrong number of arguments,

View File

@ -486,9 +486,6 @@
],
"projectiles": [["L150", "attack-info"]],
"generic-obs": [["L455", "quaternion"]],
"blocking-plane": [
["L18", "vector"],
["L19", "vector"],
@ -1246,6 +1243,11 @@
["L105", "vector"]
],
"generic-obs": [
["L455", "quaternion"],
["L457", "attack-info"]
],
// please do not add things after this entry! git is dumb.
"object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": []
}

View File

@ -3453,5 +3453,177 @@
[32, "event-message-block"]
],
"(anon-function 54 generic-obs)": [
[16, "vector"],
[32, "vector"]
],
"part-tracker-notify": [
[16, "event-message-block"]
],
"process-grab?": [
[16, "event-message-block"]
],
"process-release?": [
[16, "event-message-block"]
],
"camera-change-to": [
[16, "event-message-block"]
],
"camera-look-at": [
[16, "event-message-block"]
],
"ja-anim-done?": [
[16, "event-message-block"]
],
"draw-eco-beam": [
[16, "vector"],
[32, "vector"],
[48, "vector"],
[64, "quaternion"]
],
"process-drawable-pair-random-point!": [
[16, "vector"],
[32, "vector"]
],
"(anon-function 7 generic-obs)": [
[16, "event-message-block"]
],
"(anon-function 11 generic-obs)": [
[16, "event-message-block"] // trans
],
"(anon-function 13 generic-obs)": [
[16, "event-message-block"] // event
],
"(anon-function 14 generic-obs)": [
[16, "event-message-block"] // trans
],
"(anon-function 16 generic-obs)": [ // code
[16, "vector"],
[32, "vector"],
[48, "event-message-block"]
],
"(anon-function 18 generic-obs)": [ // enter
[16, "vector"]
],
"cam-launcher-long-joystick": [
[16, "matrix"]
],
"(anon-function 21 generic-obs)": [ // code
[16, "event-message-block"]
],
"(anon-function 23 generic-obs)": [ // enter
[16, "vector"]
],
"cam-launcher-joystick": [
[16, "matrix"],
[80, "vector"]
],
"(anon-function 31 generic-obs)": [
[16, "vector"] // code
],
"(code swingpole-stance)": [
[16, "event-message-block"]
],
"camera-anim": [
[16, "event-message-block"]
],
"camera-pov-from": [
[16, "event-message-block"]
],
"(method 14 camera-tracker)": [
[16, "event-message-block"],
[96, "event-message-block"]
],
"(anon-function 33 generic-obs)": [
[16, "event-message-block"]
],
"(trans manipy-idle)": [
[16, "vector"],
[32, "vector"]
],
"(anon-function 34 generic-obs)": [
[16, "event-message-block"]
],
"(exit camera-tracker-process)": [
[16, "event-message-block"]
],
"(code camera-tracker-process)": [
[16, "event-message-block"]
],
"(code cam-launcher-shortfall)": [
[16, "event-message-block"]
],
"(trans launcher-idle)": [
[16, "event-message-block"]
],
"(event launcher-active)": [
[16, "event-message-block"]
],
"(event touch-tracker-idle)": [
[16, "event-message-block"]
],
"(trans launcher-active)": [
[16, "event-message-block"]
],
"(code touch-tracker-idle)": [
[16, "touching-shapes-entry"]
],
"(event manipy-idle)": [
[16, "matrix"]
],
"(code med-res-level-idle)": [
[16, "vector"]
],
"(enter cam-launcher-longfall)": [
[16, "vector"]
],
"(enter cam-launcher-shortfall)": [
[16, "vector"]
],
"(code cam-launcher-longfall)": [
[16, "vector"],
[32, "vector"],
[48, "event-message-block"]
],
"placeholder-do-not-add-below!": []
}

View File

@ -2338,8 +2338,6 @@
[64, "a0", "process-drawable"]
],
"process-drawable-random-point!": [[[28, 40], "s4", "collide-shape"]],
"(anon-function 0 dark-eco-pool)": [[2, "v1", "state"]],
"(method 25 dark-eco-pool)": [
@ -2408,7 +2406,10 @@
"(method 27 projectile-yellow)": [[70, "v1", "process-mask"]],
"manipy-init": [[143, "a0", "collide-shape"]],
"manipy-init": [
[143, "a0", "collide-shape"],
[145, "a0", "collide-shape"]
],
"forall-particles-with-key-runner": [
[32, "s3", "(inline-array sparticle-cpuinfo)"],
@ -4218,10 +4219,6 @@
[18, "s6", "camera-tracker"]
],
"command-get-process": [
[62, "s6", "camera-tracker"]
],
"joint-control-copy!": [
[8, "a0", "pointer"],
[8, "a2", "pointer"]
@ -5008,5 +5005,125 @@
[[8, 16], "a0", "dma-packet"]
],
"(method 11 swingpole)": [
[27, "s5", "entity-actor"]
],
"(anon-function 54 generic-obs)": [
[57, "v1", "process-drawable"],
[66, "a0", "collide-shape"]
],
"(code manipy-idle)": [
[58, "a1", "process-drawable"],
[73, "gp", "process-drawable"],
[79, "gp", "process-drawable"],
[110, "a0", "process-drawable"]
],
"(anon-function 49 generic-obs)": [
[25, "gp", "process-drawable"],
[30, "gp", "process-drawable"]
],
"ja-anim-done?": [
[27, "gp", "process-drawable"]
],
"camera-pov-from": [
[23, "gp", "process-drawable"],
[26, "gp", "process-drawable"]
],
"process-drawable-random-point!": [
[29, "s4", "collide-shape"],
[33, "s4", "collide-shape"]
],
"launcher-init-by-other": [
[134, "v0", "vector"]
],
"(method 11 launcher)": [
[130, "v0", "vector"]
],
"(method 11 part-spawner)": [
["_stack_", 16, "res-tag"],
[62, "v0", "(pointer (pointer sparticle-launch-group))"]
],
"(method 11 med-res-level)": [
["_stack_", 16, "res-tag"],
[21, "v0", "(pointer (pointer sparticle-launch-group))"],
[57, "s4", "(pointer sparticle-launch-group)"]
],
"(anon-function 28 generic-obs)": [
[25, "v1", "quaternion"] // code
],
"camera-tracker-init": [
[69, "v1", "process"]
],
"camera-anim": [
[26, "t9", "(function process function object object object object object)"]
],
"(event manipy-idle)": [
[59, "t9", "(function manipy none)"],
[118, "v1", "float"],
[131, "a0", "process"],
[151, "v1", "process-drawable"],
[160, "a0", "process"],
[177, "a0", "collide-shape"],
[180, "a0", "collide-shape"],
[185, "v1", "vector"],
[313, "a0", "float"]
],
"command-get-trans": [
[29, "s4", "target"]
],
"(trans manipy-idle)": [
[57, "v1", "process-drawable"],
[66, "a0", "collide-shape"]
],
"(method 14 camera-tracker)": [
[196, "s4", "basic"],
[202, "s4", "(function camera-tracker symbol)"],
[270, "v0", "target"]
],
"(event touch-tracker-idle)": [
[105, "a0", "process"],
[129, "t9", "(function touch-tracker none)"]
],
"(code touch-tracker-idle)": [
[25, "a0", "process-drawable"],
[38, "a0", "collide-shape"]
],
"(code part-tracker-process)": [
[25, "gp", "process-drawable"],
[30, "gp", "process-drawable"]
],
"(event part-spawner-active)": [
[25, "v1", "vector"]
],
"(exit launcher-active)": [
[2, "v0", "sound-rpc-set-param"]
],
"command-get-camera": [
[27, "gp", "symbol"]
],
"placeholder-do-not-add-below": []
}

View File

@ -13,6 +13,8 @@
;; Necessary forward declarations
(define-extern cam-robotboss (state camera-slave))
(define-extern dm-cam-mode-func (function (state camera-slave) int object))
;; DECOMP BEGINS
;; this file is debug only

View File

@ -55,4 +55,6 @@
(define-extern add-process-drawable (function process-drawable draw-control symbol dma-buffer none))
(define-extern dma-add-process-drawable-hud (function process-drawable draw-control symbol dma-buffer none))
(define-extern dma-add-process-drawable (function process-drawable draw-control symbol dma-buffer none))
(define-extern vis-cull (function int symbol))
(define-extern vis-cull (function int symbol))
(define-extern line-in-view-frustum? (function vector vector symbol)) ;; TODO - not confirmed

View File

@ -549,7 +549,6 @@
)
(declare-type vent process-drawable)
(define-extern touch-tracker-init (function object object object none))
(defmethod pickup-collectable! fact-info-target ((obj fact-info-target) (kind pickup-type) (amount float) (source-handle handle))
"Pickup a thing!"

View File

@ -10,8 +10,6 @@
;; TODO - for babak-with-cannon
(define-extern beachcam-spawn (function none))
(define-extern ja-anim-done? (function symbol))
(define-extern draw-eco-beam (function vector vector none))
(define-extern process-grab? (function process symbol :behavior process))
@ -21,24 +19,33 @@
(define-extern birth-pickup-at-point (function vector int float symbol process-drawable fact-info (pointer process)))
;; decomp begins
(declare-type collide-shape-moving basic)
(declare-type sparticle-launch-group basic)
(declare-type part-tracker process)
(declare-type collide-prim-core structure)
(define-extern part-tracker-init (function sparticle-launch-group int (function part-tracker none) (pointer process-drawable) process collide-prim-core none :behavior part-tracker))
(declare-type touch-tracker process-drawable)
(define-extern touch-tracker-init (function vector float uint none :behavior touch-tracker)) ;; last arg is a handle to `target`
;; DECOMP BEGINS
(deftype manipy (process-drawable)
((new-trans-hook function :offset-assert 176)
(cur-trans-hook function :offset-assert 180)
(cur-event-hook function :offset-assert 184)
(new-joint-anim art-joint-anim :offset-assert 188)
(new-joint-anim-blend uint64 :offset-assert 192)
(anim-mode symbol :offset-assert 200)
(cur-grab-handle handle :offset-assert 208)
(cur-target-handle handle :offset-assert 216)
(old-grab-pos vector :inline :offset-assert 224)
(joint process-drawable 4 :offset-assert 240)
(new-post-hook function :offset-assert 256)
(cur-post-hook function :offset-assert 260)
(clone-copy-trans basic :offset-assert 264)
(shadow-backup basic :offset-assert 268)
(draw? symbol :offset-assert 272)
((new-trans-hook (function none) :offset-assert 176)
(cur-trans-hook (function none) :offset-assert 180)
(cur-event-hook (function none) :offset-assert 184)
(new-joint-anim art-joint-anim :offset-assert 188)
(new-joint-anim-blend uint64 :offset-assert 192)
(anim-mode symbol :offset-assert 200)
(cur-grab-handle handle :offset-assert 208)
(cur-target-handle handle :offset-assert 216)
(old-grab-pos vector :inline :offset-assert 224)
(joint process-drawable 4 :offset-assert 240)
(new-post-hook (function none) :offset-assert 256)
(cur-post-hook (function none) :offset-assert 260)
(clone-copy-trans basic :offset-assert 264)
(shadow-backup basic :offset-assert 268)
(draw? symbol :offset-assert 272)
)
:heap-base #xb0
:method-count-assert 20
@ -46,35 +53,37 @@
:flag-assert #x1400b00114
)
(deftype part-spawner (process-drawable)
((mode uint32 :offset-assert 176)
(enable basic :offset-assert 180)
(radius meters :offset-assert 184)
(world-sphere sphere :inline :offset-assert 192)
((mode (pointer sparticle-launch-group) :offset-assert 176)
(enable symbol :offset-assert 180)
(radius meters :offset-assert 184)
(world-sphere sphere :inline :offset-assert 192)
)
:heap-base #x60
:method-count-assert 21
:size-assert #xd0
:flag-assert #x15006000d0
(:methods
(dummy-20 () none 20)
(dummy-20 (_type_) none 20)
)
)
(deftype part-tracker (process)
((root trsqv :offset-assert 112)
(part sparticle-launch-control :offset-assert 116)
(target uint64 :offset-assert 120)
(callback basic :offset-assert 128)
(linger-callback basic :offset-assert 132)
(duration int64 :offset-assert 136)
(linger-duration int64 :offset-assert 144)
(start-time int64 :offset-assert 152)
(offset vector :inline :offset-assert 160)
(userdata uint64 :offset-assert 176)
(user-time int64 2 :offset-assert 184)
(user-vector vector 2 :inline :offset-assert 208)
(user-handle uint32 2 :offset-assert 240)
((root trsqv :offset-assert 112)
(part sparticle-launch-control :offset-assert 116)
(target handle :offset-assert 120)
(callback (function part-tracker none) :offset-assert 128)
(linger-callback (function part-tracker none) :offset-assert 132)
(duration int64 :offset-assert 136)
(linger-duration int64 :offset-assert 144)
(start-time int64 :offset-assert 152)
(offset vector :inline :offset-assert 160)
(userdata uint64 :offset-assert 176)
(user-time int64 2 :offset-assert 184)
(user-vector vector 2 :inline :offset-assert 208)
(user-handle uint32 2 :offset-assert 240)
)
:heap-base #x90
:method-count-assert 14
@ -82,44 +91,47 @@
:flag-assert #xe009000f8
)
(deftype camera-tracker (process)
((grab-target handle :offset 120)
(grab-event basic :offset-assert 128)
(release-event basic :offset-assert 132)
(old-global-mask uint32 :offset-assert 136)
(old-self-mask uint32 :offset-assert 140)
(old-parent-mask uint32 :offset-assert 144)
(look-at-target handle :offset-assert 152)
(pov-target handle :offset-assert 160)
(work-process handle :offset-assert 168)
(anim-process handle :offset-assert 176)
(start-time int64 :offset-assert 184)
(callback basic :offset-assert 192)
(userdata basic :offset-assert 196)
(message basic :offset-assert 200)
(border-value basic :offset-assert 204)
(mask-to-clear uint32 :offset-assert 208)
(script basic :offset-assert 212)
(script-line basic :offset-assert 216)
(script-func basic :offset-assert 220)
((entity-override entity-actor :offset 52)
(grab-target handle :offset 120)
(grab-event symbol :offset-assert 128)
(release-event symbol :offset-assert 132)
(old-global-mask uint32 :offset-assert 136)
(old-self-mask uint32 :offset-assert 140)
(old-parent-mask uint32 :offset-assert 144)
(look-at-target handle :offset-assert 152)
(pov-target handle :offset-assert 160)
(work-process handle :offset-assert 168)
(anim-process handle :offset-assert 176)
(start-time int64 :offset-assert 184)
(callback basic :offset-assert 192)
(userdata basic :offset-assert 196)
(message basic :offset-assert 200)
(border-value basic :offset-assert 204)
(mask-to-clear uint32 :offset-assert 208)
(script pair :offset-assert 212)
(script-line pair :offset-assert 216)
(script-func (function none) :offset-assert 220)
)
:heap-base #x70
:method-count-assert 15
:size-assert #xe0
:flag-assert #xf007000e0
;; field ~Tuserdata is a basic loaded with a signed load
(:methods
(dummy-14 () none 14)
(dummy-14 (_type_ pair) process 14)
)
)
(deftype touch-tracker (process-drawable)
((duration uint64 :offset-assert 176)
(target uint64 :offset-assert 184)
(event basic :offset-assert 192)
(run-function basic :offset-assert 196)
(callback basic :offset-assert 200)
(event-mode basic :offset-assert 204)
((root-override collide-shape-moving :offset 112)
(duration uint64 :offset-assert 176)
(target handle :offset-assert 184)
(event symbol :offset-assert 192)
(run-function (function none) :offset-assert 196)
(callback (function touch-tracker none) :offset-assert 200)
(event-mode basic :offset-assert 204)
)
:heap-base #x60
:method-count-assert 20
@ -127,6 +139,7 @@
:flag-assert #x14006000d0
)
(deftype swingpole (process)
((root trsq :offset-assert 112)
(dir vector :inline :offset-assert 128)
@ -139,14 +152,15 @@
:flag-assert #xe00300098
)
(deftype gui-query (structure)
((x-position int32 :offset-assert 0)
(y-position int32 :offset-assert 4)
(message string :offset-assert 8)
(decision symbol :offset-assert 12)
(only-allow-cancel symbol :offset-assert 16)
(no-msg string :offset-assert 20)
(message-space int32 :offset-assert 24)
((x-position int32 :offset-assert 0)
(y-position int32 :offset-assert 4)
(message string :offset-assert 8)
(decision symbol :offset-assert 12)
(only-allow-cancel symbol :offset-assert 16)
(no-msg string :offset-assert 20)
(message-space int32 :offset-assert 24)
)
:pack-me
:method-count-assert 11
@ -158,6 +172,7 @@
)
)
(deftype othercam (process)
((hand handle :offset-assert 112)
(old-global-mask uint32 :offset-assert 120)
@ -167,9 +182,9 @@
(old-mat-z vector :inline :offset-assert 160)
(had-valid-frame basic :offset-assert 176)
(border-value basic :offset-assert 180)
(die? symbol :offset-assert 184)
(die? symbol :offset-assert 184)
(survive-anim-end? symbol :offset-assert 188)
(spooling? symbol :offset-assert 192)
(spooling? symbol :offset-assert 192)
)
:heap-base #x60
:method-count-assert 14
@ -177,6 +192,7 @@
:flag-assert #xe006000c4
)
(deftype process-hidden (process)
()
:method-count-assert 15
@ -187,5 +203,9 @@
)
)
(declare-type sparticle-launch-group basic)
(define-extern part-tracker-init (function sparticle-launch-group int basic basic basic vector none)) ;; TODO - not confirmed
0

File diff suppressed because it is too large Load Diff

View File

@ -1817,33 +1817,40 @@
)
)
(suspend)
(-> self hand process 0)
(when
(or (-> self die?) (and (not (-> self survive-anim-end?)) (ja-anim-done?)))
(let ((gp-1 (-> *display* base-frame-counter)))
(while
(let ((a0-25 (-> self hand process 0)))
(when
(or
(-> self die?)
(and
(< (- (-> *display* base-frame-counter) gp-1) #x4650)
(or
(and
(-> self entity)
(not
(is-object-visible?
(-> self entity extra level)
(-> self entity extra vis-id)
(not (-> self survive-anim-end?))
(ja-anim-done? (the-as pair a0-25))
)
)
(let ((gp-1 (-> *display* base-frame-counter)))
(while
(and
(< (- (-> *display* base-frame-counter) gp-1) #x4650)
(or
(and
(-> self entity)
(not
(is-object-visible?
(-> self entity extra level)
(-> self entity extra vis-id)
)
)
)
)
(<
81920.0
(vector-vector-distance (camera-pos) (-> *math-camera* trans))
(<
81920.0
(vector-vector-distance (camera-pos) (-> *math-camera* trans))
)
)
)
(suspend)
)
(suspend)
)
(deactivate self)
)
(deactivate self)
)
)
(none)

View File

@ -152,9 +152,8 @@
(firecanyon-not-enough-cells #x24f)
(sidekick-hint-orb-cache-top #x251)
(daxter-launcher-no-eco #x25c)
(jungle-precursorbridge-hint #x25b)
(beach-gimmie #x262)
(beach-sentinel #x263)
(jungle-canyon-end #x264)

View File

@ -120,8 +120,7 @@
:code
(behavior ()
(while #t
self
(when ((method-of-object self dummy-20))
(when (dummy-20 self)
(let* ((gp-0 (camera-pos))
(f0-0 (vector-vector-distance (-> self root trans) gp-0))
)

View File

@ -425,10 +425,13 @@
)
(camera-look-at
(the-as
process
pair
"ecovent-171"
)
0
(the-as
uint
0
)
)
(camera-change-to
"camera-223"
@ -489,8 +492,14 @@
)
)
(camera-look-at
*target*
0
(the-as
pair
*target*
)
(the-as
uint
0
)
)
(camera-change-to
(the-as

View File

@ -26,6 +26,7 @@ files_with_modifications = [
"viewer",
"sunken-obs",
"cam-master",
"generic-obs",
"default-menu"
]

View File

@ -3,9 +3,9 @@
;; definition of type manipy
(deftype manipy (process-drawable)
((new-trans-hook function :offset-assert 176)
(cur-trans-hook function :offset-assert 180)
(cur-event-hook function :offset-assert 184)
((new-trans-hook (function none) :offset-assert 176)
(cur-trans-hook (function none) :offset-assert 180)
(cur-event-hook (function none) :offset-assert 184)
(new-joint-anim art-joint-anim :offset-assert 188)
(new-joint-anim-blend uint64 :offset-assert 192)
(anim-mode symbol :offset-assert 200)
@ -13,8 +13,8 @@
(cur-target-handle handle :offset-assert 216)
(old-grab-pos vector :inline :offset-assert 224)
(joint process-drawable 4 :offset-assert 240)
(new-post-hook function :offset-assert 256)
(cur-post-hook function :offset-assert 260)
(new-post-hook (function none) :offset-assert 256)
(cur-post-hook (function none) :offset-assert 260)
(clone-copy-trans basic :offset-assert 264)
(shadow-backup basic :offset-assert 268)
(draw? symbol :offset-assert 272)
@ -50,17 +50,17 @@
;; definition of type part-spawner
(deftype part-spawner (process-drawable)
((mode uint32 :offset-assert 176)
(enable basic :offset-assert 180)
(radius meters :offset-assert 184)
(world-sphere sphere :inline :offset-assert 192)
((mode (pointer sparticle-launch-group) :offset-assert 176)
(enable symbol :offset-assert 180)
(radius meters :offset-assert 184)
(world-sphere sphere :inline :offset-assert 192)
)
:heap-base #x60
:method-count-assert 21
:size-assert #xd0
:flag-assert #x15006000d0
(:methods
(dummy-20 () none 20)
(dummy-20 (_type_) none 20)
)
)
@ -78,19 +78,19 @@
;; definition of type part-tracker
(deftype part-tracker (process)
((root trsqv :offset-assert 112)
(part sparticle-launch-control :offset-assert 116)
(target uint64 :offset-assert 120)
(callback basic :offset-assert 128)
(linger-callback basic :offset-assert 132)
(duration int64 :offset-assert 136)
(linger-duration int64 :offset-assert 144)
(start-time int64 :offset-assert 152)
(offset vector :inline :offset-assert 160)
(userdata uint64 :offset-assert 176)
(user-time int64 2 :offset-assert 184)
(user-vector vector 2 :inline :offset-assert 208)
(user-handle uint32 2 :offset-assert 240)
((root trsqv :offset-assert 112)
(part sparticle-launch-control :offset-assert 116)
(target handle :offset-assert 120)
(callback (function part-tracker none) :offset-assert 128)
(linger-callback (function part-tracker none) :offset-assert 132)
(duration int64 :offset-assert 136)
(linger-duration int64 :offset-assert 144)
(start-time int64 :offset-assert 152)
(offset vector :inline :offset-assert 160)
(userdata uint64 :offset-assert 176)
(user-time int64 2 :offset-assert 184)
(user-vector vector 2 :inline :offset-assert 208)
(user-handle uint32 2 :offset-assert 240)
)
:heap-base #x90
:method-count-assert 14
@ -121,32 +121,33 @@
;; definition of type camera-tracker
(deftype camera-tracker (process)
((grab-target handle :offset 120)
(grab-event basic :offset-assert 128)
(release-event basic :offset-assert 132)
(old-global-mask uint32 :offset-assert 136)
(old-self-mask uint32 :offset-assert 140)
(old-parent-mask uint32 :offset-assert 144)
(look-at-target handle :offset-assert 152)
(pov-target handle :offset-assert 160)
(work-process handle :offset-assert 168)
(anim-process handle :offset-assert 176)
(start-time int64 :offset-assert 184)
(callback basic :offset-assert 192)
(userdata basic :offset-assert 196)
(message basic :offset-assert 200)
(border-value basic :offset-assert 204)
(mask-to-clear uint32 :offset-assert 208)
(script basic :offset-assert 212)
(script-line basic :offset-assert 216)
(script-func basic :offset-assert 220)
((entity-override entity-actor :offset 52)
(grab-target handle :offset 120)
(grab-event symbol :offset-assert 128)
(release-event symbol :offset-assert 132)
(old-global-mask uint32 :offset-assert 136)
(old-self-mask uint32 :offset-assert 140)
(old-parent-mask uint32 :offset-assert 144)
(look-at-target handle :offset-assert 152)
(pov-target handle :offset-assert 160)
(work-process handle :offset-assert 168)
(anim-process handle :offset-assert 176)
(start-time int64 :offset-assert 184)
(callback basic :offset-assert 192)
(userdata basic :offset-assert 196)
(message basic :offset-assert 200)
(border-value basic :offset-assert 204)
(mask-to-clear uint32 :offset-assert 208)
(script pair :offset-assert 212)
(script-line pair :offset-assert 216)
(script-func (function none) :offset-assert 220)
)
:heap-base #x70
:method-count-assert 15
:size-assert #xe0
:flag-assert #xf007000e0
(:methods
(dummy-14 () none 14)
(dummy-14 (_type_ pair) process 14)
)
)
@ -180,12 +181,13 @@
;; definition of type touch-tracker
(deftype touch-tracker (process-drawable)
((duration uint64 :offset-assert 176)
(target uint64 :offset-assert 184)
(event basic :offset-assert 192)
(run-function basic :offset-assert 196)
(callback basic :offset-assert 200)
(event-mode basic :offset-assert 204)
((root-override collide-shape-moving :offset 112)
(duration uint64 :offset-assert 176)
(target handle :offset-assert 184)
(event symbol :offset-assert 192)
(run-function (function none) :offset-assert 196)
(callback (function touch-tracker none) :offset-assert 200)
(event-mode basic :offset-assert 204)
)
:heap-base #x60
:method-count-assert 20

3279
test/decompiler/reference/engine/game/generic-obs_REF.gc generated vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1879,33 +1879,40 @@
)
)
(suspend)
(-> self hand process 0)
(when
(or (-> self die?) (and (not (-> self survive-anim-end?)) (ja-anim-done?)))
(let ((gp-1 (-> *display* base-frame-counter)))
(while
(let ((a0-25 (-> self hand process 0)))
(when
(or
(-> self die?)
(and
(< (- (-> *display* base-frame-counter) gp-1) #x4650)
(or
(and
(-> self entity)
(not
(is-object-visible?
(-> self entity extra level)
(-> self entity extra vis-id)
(not (-> self survive-anim-end?))
(ja-anim-done? (the-as pair a0-25))
)
)
(let ((gp-1 (-> *display* base-frame-counter)))
(while
(and
(< (- (-> *display* base-frame-counter) gp-1) #x4650)
(or
(and
(-> self entity)
(not
(is-object-visible?
(-> self entity extra level)
(-> self entity extra vis-id)
)
)
)
)
(<
81920.0
(vector-vector-distance (camera-pos) (-> *math-camera* trans))
(<
81920.0
(vector-vector-distance (camera-pos) (-> *math-camera* trans))
)
)
)
(suspend)
)
(suspend)
)
(deactivate self)
)
(deactivate self)
)
)
(none)

View File

@ -128,8 +128,7 @@
:code
(behavior ()
(while #t
self
(when ((method-of-object self dummy-20))
(when (dummy-20 self)
(let* ((gp-0 (camera-pos))
(f0-0 (vector-vector-distance (-> self root trans) gp-0))
)

View File

@ -435,10 +435,13 @@
)
(camera-look-at
(the-as
process
pair
"ecovent-171"
)
0
(the-as
uint
0
)
)
(camera-change-to
"camera-223"
@ -499,8 +502,14 @@
)
)
(camera-look-at
*target*
0
(the-as
pair
*target*
)
(the-as
uint
0
)
)
(camera-change-to
(the-as

View File

@ -1,161 +1,200 @@
{
"dgos": ["CGO/KERNEL.CGO", "CGO/ENGINE.CGO", "CGO/GAME.CGO", "DGO/BEA.DGO",
"DGO/INT.DGO", "DGO/VI1.DGO", "DGO/VI2.DGO", "DGO/VI3.DGO",
"DGO/CIT.DGO", "DGO/MIS.DGO", "DGO/JUB.DGO", "DGO/SUN.DGO",
"DGO/DEM.DGO", "DGO/FIN.DGO", "DGO/JUN.DGO", "DGO/FIC.DGO",
"DGO/SNO.DGO", "DGO/SWA.DGO", "DGO/MAI.DGO", "DGO/ROB.DGO",
"DGO/LAV.DGO", "DGO/OGR.DGO", "DGO/TRA.DGO", "DGO/ROL.DGO", "DGO/DAR.DGO"],
"dgos": [
"CGO/KERNEL.CGO",
"CGO/ENGINE.CGO",
"CGO/GAME.CGO",
"DGO/BEA.DGO",
"DGO/INT.DGO",
"DGO/VI1.DGO",
"DGO/VI2.DGO",
"DGO/VI3.DGO",
"DGO/CIT.DGO",
"DGO/MIS.DGO",
"DGO/JUB.DGO",
"DGO/SUN.DGO",
"DGO/DEM.DGO",
"DGO/FIN.DGO",
"DGO/JUN.DGO",
"DGO/FIC.DGO",
"DGO/SNO.DGO",
"DGO/SWA.DGO",
"DGO/MAI.DGO",
"DGO/ROB.DGO",
"DGO/LAV.DGO",
"DGO/OGR.DGO",
"DGO/TRA.DGO",
"DGO/ROL.DGO",
"DGO/DAR.DGO"
],
"skip_compile_files": [
"timer", // accessing timer regs
"display", // interrupt handlers
"target-snowball" // screwed up labels, likely cut content
"skip_compile_files": [
"timer", // accessing timer regs
"display", // interrupt handlers
"target-snowball" // screwed up labels, likely cut content
],
"skip_compile_functions": [
/// GCOMMON
// these functions are not implemented by the compiler in OpenGOAL, but are in GOAL.
"abs",
"ash",
"min",
"max",
"lognor",
// weird PS2 specific debug registers:
"breakpoint-range-set!",
// inline assembly
"valid?",
/// GKERNEL
// asm
"(method 10 process)",
"(method 14 dead-pool)",
/// GSTATE
"enter-state", // stack pointer asm
/// MATH
"rand-vu-init",
"rand-vu",
"rand-vu-nostep", // random hardware
// trig
"sin-rad", // fpu acc
"cos-rad", // fpu acc
"atan-series-rad", // fpu acc
/// VECTOR-H
"(method 3 vector)", // this function appears twice, which confuses the compiler.
"vector4-dot", // fpu acc
"(method 3 profile-frame)", // double definition.
// dma-disasm
"disasm-dma-list", // missing a single cast :(
// math camera
"transform-point-vector!",
"transform-point-qword!",
"transform-point-vector-scale!",
// display-h
"put-draw-env",
// geometry
"calculate-basis-functions-vector!", // asm requiring manual rewrite
"curve-evaluate!", // asm requiring manual rewrite
"point-in-triangle-cross", // logior on floats manual fixup
// texture
"(method 9 texture-page-dir)", // multiplication on pointers
"adgif-shader<-texture-with-update!", // misrecognized bitfield stuff.
// asm
"invalidate-cache-line",
// stats-h
"(method 11 perf-stat)",
"(method 12 perf-stat)",
// sprite-distorter
"sprite-draw-distorters", // uses clipping flag.
// sync-info
"(method 15 sync-info)", // needs display stuff first
"(method 15 sync-info-eased)", // needs display stuff first
"(method 15 sync-info-paused)", // needs display stuff first
// sparticle
"lookup-part-group-pointer-by-name", // address of element in array issue
// ripple - calls an asm function
"ripple-execute",
"get-task-status",
"print-game-text-scaled", // float/int, looks like a bug in original code?
// aligner - return-from-thread, currently not supported
"(method 9 align-control)",
// stat collection
"start-perf-stat-collection",
"end-perf-stat-collection",
// double definition
"(method 3 game-save)",
// new stack boxed array
"update-time-of-day",
// weird asm, was rewritten
"close-sky-buffer",
// float to int
"(method 10 bsp-header)",
// multiply defined.
"(method 3 sprite-aux-list)",
// camera
"slave-set-rotation!",
"v-slrp2!",
"v-slrp3!", // vector-dot involving the stack
// function returning float with a weird cast.
"debug-menu-item-var-make-float",
// decompiler BUG
"level-hint-task-process",
"(method 26 level)",
"(method 9 level)",
"(method 10 level)", // asm
// cam-states
"cam-los-collide", // vector-dot involving the stack
// cam-layout
"cam-layout-save-cam-trans", // temporary, im sure this can be fixed
// anim-tester
"(method 3 anim-tester)",
"anim-tester-save-object-seqs", // anim-tester -- new basic on the stack
// default-menu
"all-texture-tweak-adjust", // dynamic-field access placeholder case TODO
"debug-menu-make-instance-menu", // also disabled
// joint
"(method 9 art-mesh-geo)", // PLACEHOLDER array access
"flatten-joint-control-to-spr",
"make-joint-jump-tables",
"(method 5 art-joint-anim)", // defined identically twice in the same file...probably a bug?
// process-drawable
"fill-skeleton-cache", // cache dxwbin
"execute-math-engine", // handle casts -- was fixed manually
// ambient
"ambient-type-music", // IR_StoreConstOffset::do_codegen can't handle this (c {} sz {})
// main
"display-loop",
"on",
// generic-obs
"command-get-process", // handle casts
// sage-finalboss
"(method 7 sage-finalboss)" // inline-array stuff
],
"skip_compile_states": {
"cam-master-active": [
"event"
],
"skip_compile_functions": [
/// GCOMMON
// these functions are not implemented by the compiler in OpenGOAL, but are in GOAL.
"abs", "ash", "min", "max", "lognor",
// weird PS2 specific debug registers:
"breakpoint-range-set!",
// inline assembly
"valid?",
/// GKERNEL
// asm
"(method 10 process)", "(method 14 dead-pool)",
/// GSTATE
"enter-state", // stack pointer asm
/// MATH
"rand-vu-init", "rand-vu",
"rand-vu-nostep", // random hardware
// trig
"sin-rad", // fpu acc
"cos-rad", // fpu acc
"atan-series-rad", // fpu acc
/// VECTOR-H
"(method 3 vector)", // this function appears twice, which confuses the compiler.
"vector4-dot", // fpu acc
"(method 3 profile-frame)", // double definition.
// dma-disasm
"disasm-dma-list", // missing a single cast :(
// math camera
"transform-point-vector!", "transform-point-qword!", "transform-point-vector-scale!",
// display-h
"put-draw-env",
// geometry
"calculate-basis-functions-vector!", // asm requiring manual rewrite
"curve-evaluate!", // asm requiring manual rewrite
"point-in-triangle-cross", // logior on floats manual fixup
// texture
"(method 9 texture-page-dir)", // multiplication on pointers
"adgif-shader<-texture-with-update!", // misrecognized bitfield stuff.
// asm
"invalidate-cache-line",
// stats-h
"(method 11 perf-stat)", "(method 12 perf-stat)",
// sprite-distorter
"sprite-draw-distorters", // uses clipping flag.
// sync-info
"(method 15 sync-info)", // needs display stuff first
"(method 15 sync-info-eased)", // needs display stuff first
"(method 15 sync-info-paused)", // needs display stuff first
// sparticle
"lookup-part-group-pointer-by-name", // address of element in array issue
// ripple - calls an asm function
"ripple-execute",
"get-task-status",
"print-game-text-scaled", // float/int, looks like a bug in original code?
// aligner - return-from-thread, currently not supported
"(method 9 align-control)",
// stat collection
"start-perf-stat-collection", "end-perf-stat-collection",
// double definition
"(method 3 game-save)",
// new stack boxed array
"update-time-of-day",
// weird asm, was rewritten
"close-sky-buffer",
// float to int
"(method 10 bsp-header)",
// multiply defined.
"(method 3 sprite-aux-list)",
// camera
"slave-set-rotation!", "v-slrp2!", "v-slrp3!", // vector-dot involving the stack
// function returning float with a weird cast.
"debug-menu-item-var-make-float",
// decompiler BUG
"level-hint-task-process",
"(method 26 level)",
"(method 9 level)",
"(method 10 level)", // asm
// cam-states
"cam-los-collide", // vector-dot involving the stack
// cam-layout
"cam-layout-save-cam-trans", // temporary, im sure this can be fixed
// anim-tester
"(method 3 anim-tester)",
"anim-tester-save-object-seqs", // anim-tester -- new basic on the stack
// default-menu
"all-texture-tweak-adjust", // dynamic-field access placeholder case TODO
"debug-menu-make-instance-menu", // also disabled
// joint
"(method 9 art-mesh-geo)", // PLACEHOLDER array access
"flatten-joint-control-to-spr",
"make-joint-jump-tables",
"(method 5 art-joint-anim)", // defined identically twice in the same file...probably a bug?
// process-drawable
"fill-skeleton-cache", // cache dxwbin
"execute-math-engine", // handle casts -- was fixed manually
// ambient
"ambient-type-music", // IR_StoreConstOffset::do_codegen can't handle this (c {} sz {})
// main
"display-loop",
"on",
// sage-finalboss
"(method 7 sage-finalboss)" // inline-array stuff
],
"skip_compile_states": {
"cam-master-active": [
"event"
]
}
"manipy-idle": [
"code" // handle casts
]
}
}

2
third-party/googletest generated vendored

@ -1 +1 @@
Subproject commit 955c7f837efad184ec63e771c42542d37545eaef
Subproject commit 7153098229e88295f9655ff1d3b0e2fa9eada5f8