jak-project/goal_src/jak2/engine/physics/chain-physics-h.gc
ManDude f1f18e7e05
[decomp2] joint-mod, chain-physics, loader (#1816)
* prep

* Update repo-settings-mark.bat

* Update repo-settings-unmark.bat

* decomp `joint-mod`

* add `joint-mod-ik-callback` to ref exceptions

* `chain-physics`

* Update jak2_ntsc_v1.jsonc

* update bat scripts

* `loader`

* pretty

* refs

* support `process->handle` (and `ppointer->handle`?)

* refs

* source and fixes

* fix `ja` detect

* `ja` macro implement

* fix a method

* update source

* merge fixes

* annoying fixes

* format

* arg

* hack

* fix test
2022-09-02 18:13:38 -04:00

70 lines
2.4 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: chain-physics-h.gc
;; name in dgo: chain-physics-h
;; dgos: ENGINE, GAME
;; DECOMP BEGINS
(deftype chain-physics-setup (structure)
((joint-index int32 :offset-assert 0)
)
:method-count-assert 9
:size-assert #x4
:flag-assert #x900000004
)
(deftype chain-physics-joint (structure)
((position vector :inline :offset-assert 0)
(velocity vector :inline :offset-assert 16)
(old-x vector :inline :offset-assert 32)
(joint-mod joint-mod :offset-assert 48)
)
:method-count-assert 9
:size-assert #x34
:flag-assert #x900000034
)
(deftype chain-physics (basic)
((chain-joints chain-physics-joint 20 :inline :offset-assert 16)
(num-joints uint8 :offset-assert 1296)
(root-joint-index uint8 :offset-assert 1297)
(joint-length float :offset-assert 1300)
(gravity vector :inline :offset-assert 1312)
(gravity-target vector :inline :offset-assert 1328)
(stretch-vel float :offset-assert 1344)
(stretch-vel-parallel float :offset-assert 1348)
(compress-vel float :offset-assert 1352)
(compress-vel-parallel float :offset-assert 1356)
(negate-y basic :offset-assert 1360)
(axial-slop float :offset-assert 1364)
(maximum-stretch float :offset-assert 1368)
(turn-off-start time-frame :offset-assert 1376)
(turn-off-duration time-frame :offset-assert 1384)
)
:method-count-assert 18
:size-assert #x570
:flag-assert #x1200000570
(:methods
(initialize-chain-joints (_type_) symbol 9)
(turn-off (_type_ time-frame) none :behavior process 10)
(update (_type_ process-drawable) none :behavior process 11)
(gravity-update (_type_) none 12)
(apply-gravity (_type_ vector int) none :behavior process 13)
(chain-physics-method-14 (_type_ vector int) none 14)
(clamp-length (_type_ vector vector) vector 15)
(chain-physics-method-16 (_type_ int) float 16)
(chain-physics-method-17 (_type_ vector) none 17)
)
)
0