Files
jak-project/goal_src/jak3/engine/engine/engines.gc
T
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

69 lines
1.6 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: engines.gc
;; name in dgo: engines
;; dgos: GAME
;; +++part-local-space-flags
(defenum part-local-space-flags
:type uint32
:bitfield #t
(pls0 0)
(pls1 1)
(pls2 2)
)
;; ---part-local-space-flags
;; DECOMP BEGINS
(kmemopen global "engines")
(define *background-draw-engine* (new 'global 'engine 'draw 10 connection))
(define *matrix-engine* (new 'global 'boxed-array handle 384))
(set! (-> *matrix-engine* length) 0)
(define *cloth-engine* (new 'global 'boxed-array handle 32))
(set! (-> *cloth-engine* length) 0)
(define *part-engine* (new 'global 'engine 'sparticle-launcher 256 connection))
(deftype particle-local-space-info (connection)
((params basic 3 :overlay-at param1)
(mat-prev matrix :inline)
(mat-new matrix :inline)
(hand handle)
(flags part-local-space-flags)
(pad uint32 1)
)
)
(define *cam-post-hook-engine* (new 'global 'engine 'cam-post-hook-engine 4 connection))
(define *part-local-space-engine*
(new 'global 'engine 'particle-local-space-info 15 particle-local-space-info)
)
(define *camera-engine* (new 'global 'engine 'camera-eng 128 connection))
(when *debug-segment*
(define *debug-engine* (new 'debug 'engine 'debug 64 connection))
)
(define *pad-engine* (new 'global 'engine 'pad 4 connection))
(define *lightning-engine* (new 'global 'engine 'lightning-control 64 connection))
(define *hud-engine* (new 'global 'engine 'hud 16 connection))
(define *prim-engine* (new 'global 'engine 'prim-strip 128 connection))
(define *task-manager-engine* (new 'global 'engine 'task-manager 16 connection))
(kmemclose)