jak-project/goal_src/engine/collide/collide-edge-grab.gc
ManDude 25b0e1be7d
[decomp] collectables + works ingame! (#971)
* decomp: `collectables`

* fix types

* `powerups` and fixes

* fixes

* Merge branch 'pr/929' into d/temp/collectables

* fix collide stuff

* update things...

* update

* update

* temp bump global heap mem

* fix `defstate` hooks wrong/unnecessary sets & collide stuff for collectables

* dumb mistakes :)

* stub out broken process-drawable stuff

* update refs

* add `:no-inspect` key and save some memory & remove birth logs

* Update kmachine.h

* clang

* add citadel

* fix no-inspect key

* fix tests!!

* fix stupid mistake in `collide-shape-prim-sphere` alloc

* comment annoying print

* feedback

* fix edge-case probably

* remove `:no-inspect`s
2021-11-23 18:25:57 -05:00

88 lines
1.8 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: collide-edge-grab.gc
;; name in dgo: collide-edge-grab
;; dgos: GAME, ENGINE
;; failed to figure out what this is:
(let
((v1-1
(new 'static 'surface
:name '*rotate-surface*
:turnv 1.0
:turnvv 1.0
:tiltv 1.0
:tiltvv 1.0
:transv-max 1.0
:target-speed 1.0
:seek0 153600.0
:seek90 153600.0
:seek180 256000.0
:fric 153600.0
:nonlin-fric-dist 5120.0
:slip-factor 1.0
:slope-down-factor 10240.0
:slope-slip-angle 8192.0
:impact-fric 1.0
:bend-factor 0.8
:bend-speed 4.0
:alignv 1.0
:slope-up-traction 1.0
:align-speed 1.0
:flags #x4000
)
)
)
(define *rotate-surface* v1-1)
(set!
(-> v1-1 mult-hook)
(the-as
(function surface surface surface int none)
(lambda ((arg0 surface) (arg1 object) (arg2 object) (arg3 int))
(when (= arg3 1)
(let ((f0-0 151756.8))
(set! (-> arg0 fric) f0-0)
f0-0
)
)
)
)
)
(set! (-> v1-1 touch-hook) nothing)
(set! (-> v1-1 active-hook) nothing)
)
;; failed to figure out what this is:
(let
((v1-2
(new 'static 'surface
:name '*no-walk-surface*
:turnv 0.5
:turnvv 1.0
:tiltv 1.0
:tiltvv 1.0
:transv-max 0.7
:target-speed 0.7
:seek0 24576.0
:seek90 24576.0
:seek180 24576.0
:fric 23756.8
:nonlin-fric-dist 4091904.0
:slope-slip-angle 16384.0
:bend-speed 4.0
:alignv 0.5
:slope-up-traction 0.9
:align-speed 1.0
:flags #x28
)
)
)
(define *no-walk-surface* v1-2)
(set!
(-> v1-2 mult-hook)
(the-as (function surface surface surface int none) nothing)
)
(set! (-> v1-2 touch-hook) nothing)
(set! (-> v1-2 active-hook) nothing)
)