jak-project/goal_src/jak3/engine/common-obs/prim-beam-h.gc
Hat Kid 93afb02cf4
decomp3: spawn target, add merc and particle buckets and some temporary hacks (#3445)
This includes all the collision stuff needed to spawn `target`,
decompiles the sparticle code and adds some of the PC hacks needed for
merc to run (it doesn't work quite right and looks bad, likely due to a
combination of code copied from Jak 2 and the time of day hacks).

There are a bunch of temporary hacks (see commits) in place to prevent
the game from crashing quite as much, but it is still extremely prone to
doing so due to lots of missing functions/potentially bad decomp.

---------

Co-authored-by: water <awaterford111445@gmail.com>
2024-04-05 00:07:39 -04:00

45 lines
1,004 B
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: prim-beam-h.gc
;; name in dgo: prim-beam-h
;; dgos: GAME
(declare-type prim-beam process)
(declare-type prim-beam-tracker prim-beam)
(declare-type prim-beam-params structure)
(declare-type prim-beam-tracker-params prim-beam-params)
(define-extern prim-beam-tracker-init-by-other (function prim-beam-tracker-params object :behavior prim-beam-tracker))
(define-extern spawn-prim-beam-tracker (function prim-beam-tracker-params symbol process handle))
;; DECOMP BEGINS
(deftype prim-beam-settings (structure)
((width float)
(color rgba)
(alpha float)
(tex-id uint32)
(num-tiles float)
)
)
(deftype prim-beam-params (structure)
((appearance prim-beam-settings)
)
)
(deftype prim-beam-tracker-params (prim-beam-params)
((track-obj1 handle)
(track-obj2 handle)
(track-joint1 int32)
(track-joint2 int32)
(pos0 vector)
(pos1 vector)
(duration time-frame)
)
)