Files
jak-project/test/decompiler/reference/jak2/engine/process-drawable/process-focusable_REF.gc
T
Hat Kid da5aef8d60 decomp: finish target-[util|darkjak|swim|gun] | water | water-anim | crates | dark-eco-pool, fix skelgroup detection, add failed store/load warnings and clean up jak 3 config (#1958)
Almost done:
- `target-handler` (`(none)` event handler casts and CFG error)
- `target2` (`(none)` event handler casts)
- `powerups` (`cloud-track` does some weird stuff with `handle`s)
- `gun-states` (CFG error)

Some progress in:
- `water-flow`

Additionally:

- Clean up the two year old Jak 3 config file and add a config skeleton
(disassembling seems to not have worked, but I was able to dump obj
files and the `all_scripts` file)
- Fix automatic skelgroup detection and `defskelgroup` macro for Jak 2
(closes #1950)
- When a function decompiles without any major errors, a warning is
generated with the op id for each unresolved load and store that will
likely fail to compile (closes #1933)
2022-10-14 19:35:57 -04:00

94 lines
2.9 KiB
Common Lisp
Vendored
Generated

;;-*-Lisp-*-
(in-package goal)
;; definition of type process-focusable
(deftype process-focusable (process-drawable)
((focus-status focus-status :offset-assert 200)
)
:heap-base #x50
:method-count-assert 27
:size-assert #xcc
:flag-assert #x1b005000cc
(:methods
(get-trans (_type_ int) vector 20)
(get-quat (_type_ int) quaternion 21)
(get-transv (_type_) vector 22)
(process-focusable-method-23 (_type_ int) int 23)
(get-water-height (_type_) meters 24)
(process-focusable-method-25 (_type_) time-frame 25)
(process-focusable-method-26 (_type_) float 26)
)
)
;; definition for method 3 of type process-focusable
(defmethod inspect process-focusable ((obj process-focusable))
(when (not obj)
(set! obj obj)
(goto cfg-4)
)
(let ((t9-0 (method-of-type process-drawable inspect)))
(t9-0 obj)
)
(format #t "~2Tfocus-status: ~D~%" (-> obj focus-status))
(label cfg-4)
obj
)
;; definition for method 20 of type process-focusable
;; WARN: Return type mismatch structure vs vector.
(defmethod get-trans process-focusable ((obj process-focusable) (arg0 int))
"@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]]"
(let ((gp-0 (-> obj root)))
(the-as vector (cond
((zero? arg0)
(-> gp-0 trans)
)
((and (= arg0 1) (type? gp-0 collide-shape-moving))
(-> (the-as collide-shape-moving gp-0) gspot-pos)
)
((and (or (= arg0 2) (= arg0 3)) (type? gp-0 collide-shape))
(-> (the-as collide-shape gp-0) root-prim prim-core)
)
(else
(-> gp-0 trans)
)
)
)
)
)
;; definition for method 22 of type process-focusable
(defmethod get-transv process-focusable ((obj process-focusable))
(-> obj root transv)
)
;; definition for method 21 of type process-focusable
(defmethod get-quat process-focusable ((obj process-focusable) (arg0 int))
(-> obj root quat)
)
;; definition for method 23 of type process-focusable
(defmethod process-focusable-method-23 process-focusable ((obj process-focusable) (arg0 int))
0
)
;; definition for method 24 of type process-focusable
;; WARN: Return type mismatch int vs meters.
(defmethod get-water-height process-focusable ((obj process-focusable))
(the-as meters 0)
)
;; definition for method 26 of type process-focusable
(defmethod process-focusable-method-26 process-focusable ((obj process-focusable))
0.0
)
;; definition for method 25 of type process-focusable
;; WARN: Return type mismatch int vs time-frame.
(defmethod process-focusable-method-25 process-focusable ((obj process-focusable))
(the-as time-frame 0)
)
;; failed to figure out what this is:
0