diff --git a/decompiler/config/jak2/all-types.gc b/decompiler/config/jak2/all-types.gc index 883fc278ce..8c254888e6 100644 --- a/decompiler/config/jak2/all-types.gc +++ b/decompiler/config/jak2/all-types.gc @@ -52524,10 +52524,10 @@ (define-extern tanker-container-event-handler (function process int symbol event-message-block object :behavior tanker-container)) (define-extern tanker-deadly-init-by-other (function vector int int none :behavior tanker-deadly)) -(define-extern tanker-spawn-deadly-barrels (function process-tree (pointer process))) -(define-extern tanker-spawn-deadly-cab (function process-tree (pointer process))) -(define-extern tanker-spawn-deadly-trailers (function process-tree (pointer process))) -(define-extern tanker-spawn-deadly-container (function process-tree (pointer process))) +(define-extern tanker-spawn-deadly-barrels (function process-tree (pointer tanker-deadly))) +(define-extern tanker-spawn-deadly-cab (function process-tree (pointer tanker-deadly))) +(define-extern tanker-spawn-deadly-trailers (function process-tree (pointer tanker-deadly))) +(define-extern tanker-spawn-deadly-container (function process-tree (pointer tanker-deadly))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ash4-course ;; diff --git a/game/overlord/isocommon.h b/game/overlord/isocommon.h index 3531502208..3f10629957 100644 --- a/game/overlord/isocommon.h +++ b/game/overlord/isocommon.h @@ -43,7 +43,8 @@ constexpr int CONTINUE_VAG_STREAM = 0x404; // Command to continue a vag st constexpr int SET_VAG_VOLUME = 0x405; // Command to set the volume of vag playback constexpr int SET_DIALOG_VOLUME = 0x406; // Command to set the volume of vag playback -constexpr int MAX_ISO_FILES = 350; // maximum files on FS +// TODO - hack workaround for now, was originally 350 +constexpr int MAX_ISO_FILES = 999; // maximum files on FS constexpr int MAX_OPEN_FILES = 16; // maximum number of open files at a time. /*! diff --git a/goal_src/jak2/engine/gfx/texture/texture-anim-h.gc b/goal_src/jak2/engine/gfx/texture/texture-anim-h.gc index 7144d53976..3e04f2df8e 100644 --- a/goal_src/jak2/engine/gfx/texture/texture-anim-h.gc +++ b/goal_src/jak2/engine/gfx/texture/texture-anim-h.gc @@ -7,6 +7,9 @@ (define-extern update-texture-anim (function bucket-id none)) +;; NOTE - for intro-scenes +(define-extern set-jakb-prison-texture-morph! (function float none)) + ;; DECOMP BEGINS (deftype texture-anim-layer (structure) diff --git a/goal_src/jak2/game.gp b/goal_src/jak2/game.gp index c8ff972e73..3725c133c8 100644 --- a/goal_src/jak2/game.gp +++ b/goal_src/jak2/game.gp @@ -75,147 +75,200 @@ (cgo-file "game.gd" ("$OUT/obj/gcommon.o" "$OUT/obj/gstate.o" "$OUT/obj/gstring.o" "$OUT/obj/gkernel.o")) ;; TODO - can't use a variable because :deps downstream doesn't take a proper list (can't pass it in quoted) -;; (define common-dep ("$OUT/obj/los-control.o")) +;; (define common-dep ("$OUT/obj/cty-guard-turret-button.o")) -(cgo-file "pri.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cwi.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lwidea.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cta.gd" ("$OUT/obj/los-control.o")) -(cgo-file "vi1.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cascity.gd" ("$OUT/obj/los-control.o")) -(cgo-file "casext.gd" ("$OUT/obj/los-control.o")) -(cgo-file "d3b.gd" ("$OUT/obj/los-control.o")) -(cgo-file "drb.gd" ("$OUT/obj/los-control.o")) -(cgo-file "dri.gd" ("$OUT/obj/los-control.o")) -(cgo-file "fob.gd" ("$OUT/obj/los-control.o")) -(cgo-file "fordumpd.gd" ("$OUT/obj/los-control.o")) -(cgo-file "garage.gd" ("$OUT/obj/los-control.o")) -(cgo-file "halfpipe.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lashgrd.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lashthrn.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lcguard.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lcitylow.gd" ("$OUT/obj/los-control.o")) -(cgo-file "ldjakbrn.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lerbrngd.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lerltess.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lerrol.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lgarcsta.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lguard.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lhipout.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lintcstb.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "ljakdax.gd" ("$OUT/obj/los-control.o")) -(cgo-file "for.gd" ("$OUT/obj/los-control.o")) -(cgo-file "hideout.gd" ("$OUT/obj/los-control.o")) -(cgo-file "ctb.gd" ("$OUT/obj/los-control.o")) -(cgo-file "kiosk.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "ljkdxash.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lkeirift.gd" ("$OUT/obj/los-control.o")) -(cgo-file "loutcstb.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lprsncst.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lracebb.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lracebf.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lracecb.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lracecf.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lracedb.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lracedf.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lracelit.gd" ("$OUT/obj/los-control.o")) -(cgo-file "feb.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lsamergd.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lsmysbrt.gd" ("$OUT/obj/los-control.o")) -(cgo-file "ltentob.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "ltentout.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "ltess.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lthrnout.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "ltrnkrkd.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "ltrntess.gd" ("$OUT/obj/los-control.o")) -(cgo-file "ltrnysam.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lwideb.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lwidec.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lwidesta.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lysamsam.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lyskdcd.gd" ("$OUT/obj/los-control.o")) -(cgo-file "mtx.gd" ("$OUT/obj/los-control.o")) -(cgo-file "portwall.gd" ("$OUT/obj/los-control.o")) -(cgo-file "sag.gd" ("$OUT/obj/los-control.o")) -(cgo-file "sew.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lbrnermk.gd" ("$OUT/obj/los-control.o")) -(cgo-file "ctc.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "stadblmp.gd" ("$OUT/obj/los-control.o")) -(cgo-file "swe.gd" ("$OUT/obj/los-control.o")) -(cgo-file "mtn.gd" ("$OUT/obj/los-control.o")) -(cgo-file "introcst.gd" ("$OUT/obj/los-control.o")) -(cgo-file "ate.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cfa.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cab.gd" ("$OUT/obj/los-control.o")) -(cgo-file "tbo.gd" ("$OUT/obj/los-control.o")) -(cgo-file "tob.gd" ("$OUT/obj/los-control.o")) -(cgo-file "toc.gd" ("$OUT/obj/los-control.o")) -(cgo-file "tombext.gd" ("$OUT/obj/los-control.o")) -(cgo-file "und.gd" ("$OUT/obj/los-control.o")) -(cgo-file "ato.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lpower.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cib.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lshuttle.gd" ("$OUT/obj/los-control.o")) -(cgo-file "fordumpc.gd" ("$OUT/obj/los-control.o")) -(cgo-file "thr.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cob.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lbombbot.gd" ("$OUT/obj/los-control.o")) -(cgo-file "demo.gd" ("$OUT/obj/los-control.o")) -(cgo-file "outrocst.gd" ("$OUT/obj/los-control.o")) -(cgo-file "par.gd" ("$OUT/obj/los-control.o")) -(cgo-file "fda.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lwhack.gd" ("$OUT/obj/los-control.o")) -(cgo-file "coa.gd" ("$OUT/obj/los-control.o")) -(cgo-file "toe.gd" ("$OUT/obj/los-control.o")) -(cgo-file "palboss.gd" ("$OUT/obj/los-control.o")) -(cgo-file "frb.gd" ("$OUT/obj/los-control.o")) -(cgo-file "title.gd" ("$OUT/obj/los-control.o")) -(cgo-file "drillmtn.gd" ("$OUT/obj/los-control.o")) -(cgo-file "pac.gd" ("$OUT/obj/los-control.o")) -(cgo-file "onintent.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cgc.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cma.gd" ("$OUT/obj/los-control.o")) -(cgo-file "ska.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cia.gd" ("$OUT/obj/los-control.o")) -(cgo-file "toa.gd" ("$OUT/obj/los-control.o")) -(cgo-file "pas.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lbbush.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lpackage.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lportrun.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cgb.gd" ("$OUT/obj/los-control.o")) -;; (cgo-file "lhelldog.gd" ("$OUT/obj/los-control.o")) -(cgo-file "gga.gd" ("$OUT/obj/los-control.o")) -(cgo-file "mcn.gd" ("$OUT/obj/los-control.o")) -(cgo-file "vin.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cga.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cpa.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cpo.gd" ("$OUT/obj/los-control.o")) -(cgo-file "cap.gd" ("$OUT/obj/los-control.o")) -(cgo-file "lsack.gd" ("$OUT/obj/los-control.o")) -(cgo-file "hiphog.gd" ("$OUT/obj/los-control.o")) +(cgo-file "lmeetbrt.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cta.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "palout.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "std.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "for.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "hideout.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ctb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "kiosk.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "dg1.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "feb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "dmi.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "oracle.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lbrnermk.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ctc.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "fra.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "mtn.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "introcst.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ate.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cfb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cab.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "str.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ato.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "seb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lpower.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cib.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lshuttle.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "fordumpc.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "thr.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "pri.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lkiddoge.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "nestt.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "neb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cob.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lbombbot.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "demo.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lerlchal.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "outrocst.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "par.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "fda.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lwhack.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cas.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "coa.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "toe.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "palboss.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "frb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "pae.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "title.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "drillmtn.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "pac.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lprotect.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "fea.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "onintent.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "sta.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cgc.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cma.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "fdb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ska.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cia.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "toa.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "pas.gd" ("$OUT/obj/cty-guard-turret-button.o")) +;; (cgo-file "lbbush.gd" ("$OUT/obj/cty-guard-turret-button.o")) - moved +;; (cgo-file "lpackage.gd" ("$OUT/obj/cty-guard-turret-button.o")) - moved +(cgo-file "lportrun.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cgb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lhelldog.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "gga.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "mcn.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "vin.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cga.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cpa.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "unb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cpo.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cap.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cwi.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lbbush.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lpackage.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ctykora.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "rui.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lsack.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ctyasha.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "hiphog.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "tod.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lerltess.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "tob.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "vi1.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lracecb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lhipout.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "garage.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "casext.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "stadblmp.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "sag.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lintcstb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lcitylow.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lracelit.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "fordumpd.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "swe.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "sew.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lracedb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lsamergd.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ljakdax.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lysamsam.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lwidesta.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lsmysbrt.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lwideb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ldjakbrn.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ltrnysam.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "und.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "swb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "dri.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cascity.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lashthrn.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lcguard.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "tombext.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "mtx.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lracedf.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ljkdxash.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lerrol.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "d3b.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lwidea.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "fob.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lkeirift.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "d3a.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lashgrd.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ltess.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "portwall.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "nes.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lwidec.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cfa.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lprtrace.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "tbo.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "loutcstb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ltrnkrkd.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "toc.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ltrntess.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lguard.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lerbrngd.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lracecf.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lprsncst.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "drb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lyskdcd.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lthrnout.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "stc.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "halfpipe.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "cmb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "stb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lracebf.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ltentout.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lgarcsta.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "lracebb.gd" ("$OUT/obj/cty-guard-turret-button.o")) +(cgo-file "ltentob.gd" ("$OUT/obj/cty-guard-turret-button.o")) ;;;;;;;;;;;;;;;;;;;;; ;; ANIMATIONS ;;;;;;;;;;;;;;;;;;;;; -;; intro cutscenes -(copy-strs "INSHUT" "INVORTEX" "INCSQUAR" "INPRISON") - -;; jak ambient -(copy-strs "JAA1" "JAA2" "JAA3" "JAA4" "JAA5" "JAA6" "JAA7") -(copy-strs "AT1RES" "ATSINTRO" "ATSTANK" "ATSA" "ATSB" "ATSC" "ATSD" "ATSE" "ATSARA" "ATSARB") -(copy-strs "DRTEXPLO") -(copy-strs "DRW1") -(copy-strs "OUPORT") -(copy-strs "OUNEST") -(copy-strs "CIWAMINT" "CIWAMRES") -(copy-strs "RHW1" "RHW2") -(copy-strs "PAOWRB" "PABRES") -(copy-strs "RUB1" "RUBW1" "RUBW2" "RUBW3" "RUBW4" "RUBW5" "RUBW6" "RUDPA1" "RUPC1" "RUPC2" "RUPC3" "RUGTHRES" "RUSVICTO" "RUTVICTO") -(copy-strs "ECVICTOR") -(copy-strs "DESCREEN" "TIDINTRO") -(copy-strs "TOBINTRO" "TOBRES") -(copy-strs "UNBD1" "UNBD2" "UNBD3" "UNBD4" "UNFSRES" "UNCONE" "UNCTWO" "UNCTHREE" "UNGSORES") +(copy-strs "AT1INT" "AT1RES" "AT2INTRO" "AT3INTRO" "ATSA" + "ATSARA" "ATSARB" "ATSB" "ATSC" "ATSD" "ATSE" "ATSINTRO" + "ATSTANK" "BACONSIT" "BASQUID" "BAWIDOW" "CAATIN" "CAATOUT" + "CAIIINTR" "CAIIRES" "CAKBFINT" "CAKBFRES" "CASEXPLO" "CIADOFF" + "CIATICAS" "CIATINES" "CIATOUT" "CIC1RIA" "CIC1RIB" "CIC1RRES" + "CIC2RINT" "CIC2RRES" "CIC3RINT" "CIC3RRES" "CIDGVINT" "CIDSINTR" + "CIDSRES" "CIECINTR" "CIECRES" "CIEKINTR" "CIGDGUN" "CIGHOVER" + "CIGYGUN" "CIHKINTR" "CIHKRESO" "CIIDINTR" "CIIHCINT" "CIIHCRES" + "CIITINTR" "CIITRES" "CIKCINTR" "CIKCRES" "CIKDINTR" "CIMBINTR" + "CIMBRES" "CIOINTRO" "CIOL0" "CIOL1" "CIOL2" "CIOL3" "CIPHOVER" + "CIPOGINT" "CIPOGRES" "CIPSINTR" "CISBBINT" "CISLINTR" "CISOPINT" + "CISUINTR" "CIWAMINT" "CIWAMRES" "COFBRES" "CRINTRO" "CRVICTOR" + "DAMOLE" "DEDINTRO" "DESCREEN" "DIDEXPLO" "DIFTINTR" "DIFTRES" + "DIKDSINT" "DRBSBREA" "DRCBREAK" "DRDCTINT" "DRDSINTR" "DRKMHINT" + "DRTEXPLO" "DRW1" "DRW2" "ECINTRO" "ECVICTOR" "FO2INTRO" "FOBUARA" + "FOBUARB" "FOCMHINT" "FOFA" "FOFB" "FOHCMHIN" "FOPSIA" "FOPSIB" + "FOPSRES" "FOSFIA" "FOSFRES" "GRMANIMS" "INCSQUAR" "INPRISON" + "INSHUT" "INVORTEX" "JAA1" "JAA2" "JAA3" "JAA4" "JAA5" "JAA6" + "JAA7" "JABOARD" "JACARRY" "JAD1" "JAD2" "JAD3" "JAD4" "JAD5" + "JADARK" "JADON" "JADUMMY" "JAFLUT" "JAGUN" "JAICE" "JAINDAX" + "JAMECH" "JAPEGASU" "JAPIDAX" "JAPILOT" "JAPOLE" "JARACER" "JASWIM" + "JATUBE" "JATURRET" "KEANIM" "KEGARAGE" "KILTRNKR" "KILYSKDC" + "KINESTB" "KITOMBD" "KRDRES" "MOFINTRO" "MOGRES" "MOLRES" "MOSRES" + "MTAR1" "MTPBRA" "MTSPRA" "MTSPRB" "MTSPRC" "NEATIN" "NEATOUT" + "NEBBRES" "NEKBFIB" "NEKBFMID" "ONGAME" "OUHIPHOG" "OUNEST" + "OUPALACE" "OUPORT" "PABRES" "PAOWRB" "PAOWRES" "PASIRES" + "PRMINIMA" "RHW1" "RHW2" "RUB1" "RUBW1" "RUBW2" "RUBW3" + "RUBW4" "RUBW5" "RUBW6" "RUDPA1" "RUDPB1" "RUDPC1" "RUGTHRES" + "RUPC1" "RUPC2" "RUPC3" "RUSINTRO" "RUSVICTO" "RUTINTRO" + "RUTVICTO" "SALSAMER" "SCBOOK" "SE1INTRO" "SE1RES" "SE2INTRO" + "SEBUSINT" "SEBUSRES" "SEC1" "SEDRES" "SEHOSEHE" "SESGRUNT" + "SEW1" "SEW2" "TELHIPHO" "TELTRNTE" "TELWHACK" "TESCENE" "TIDINTRO" + "TOBBA" "TOBBB" "TOBINTRO" "TOBOPEN" "TOBRES" "TOBSTART" "TOFTINTR" + "TOSC0" "TOSC1" "TOSC2" "TOSSCARE" "TOTURRET" "TOUPOLES" "TOUSTART" + "TOUWATER" "UNBD1" "UNBD2" "UNBD3" "UNBD4" "UNCONE" "UNCTHREE" "UNCTWO" + "UNFSRES" "UNGSORES" "VIRESCUE" "VIRINTRO" "WOMAP" "YOFOREST" "YOLTRNYS" + "YOLYSAMS" "YOLYSKDC" "YOONINTE" "YOTOMBD") ;;;;;;;;;;;;;;;;;;;;; ;; MUSIC diff --git a/goal_src/jak2/levels/city/side_missions/ctywide-bbush.gc b/goal_src/jak2/levels/city/side_missions/ctywide-bbush.gc index 6650942e04..65c0fae014 100644 --- a/goal_src/jak2/levels/city/side_missions/ctywide-bbush.gc +++ b/goal_src/jak2/levels/city/side_missions/ctywide-bbush.gc @@ -5,6 +5,8 @@ ;; name in dgo: ctywide-bbush ;; dgos: LBBUSH +(declare-type city-race-ring-info structure) + ;; DECOMP BEGINS (defpartgroup group-rolling-ring diff --git a/goal_src/jak2/levels/fortress/ammo_dump/fortress-scenes.gc b/goal_src/jak2/levels/fortress/ammo_dump/fortress-scenes.gc index c63c4c5a3a..0b38e343bf 100644 --- a/goal_src/jak2/levels/fortress/ammo_dump/fortress-scenes.gc +++ b/goal_src/jak2/levels/fortress/ammo_dump/fortress-scenes.gc @@ -7,3 +7,287 @@ ;; DECOMP BEGINS +(scene-method-16 (new 'static 'scene + :name "fortress-blow-up-ammo-res-a" + :extra #f + :info #f + :mask-to-clear #x1282000 + :entity "scene-stage-44" + :art-group "scenecamera" + :anim "fortress-blow-up-ammo-res-a" + :parts 9 + :command-list '((0 + (kill "fort-robotank-6") + (kill "fort-entry-gate-16") + (setting-reset gem mode #t) + (fadein (frame-time-30 5)) + ) + (10000 + (unless (task-closed? "fortress-dump-deal") (talker-spawn "miss006")) + (task-close! "fortress-dump-deal") + ) + ) + :cut-list '(68 105 151 240 311 521 652 695 744 891) + :wait-ground-time (seconds 1) + :draw-target #f + :abort #t + :actor (new 'static 'boxed-array :type scene-actor + (new 'static 'scene-actor + :name "scenecamera" + :level #f + :art-group "skel-scenecamera" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'fordumpc + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '((311 521)) + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jak-highres" + :level 'fordumpc + :art-group "skel-jak-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "crimson-guard-lowres" + :level 'fordumpd + :art-group "skel-crimson-guard-lowres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x4 + ) + (new 'static 'scene-actor + :name "crimson-guard-highres" + :level 'fordumpd + :art-group "skel-crimson-guard-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "grunt-fma" + :level 'fordumpd + :art-group "skel-grunt-fma" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "grunt-fma" + :level 'fordumpd + :art-group "skel-grunt-fma" + :prefix "b-" + :draw-frames '((min max)) + :scissor-frames '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "palmpilot" + :level 'fordumpd + :art-group "skel-palmpilot" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "fort-robotank" + :level 'fordumpc + :art-group "skel-fort-robotank" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "fort-robotank-turret" + :level 'fordumpc + :art-group "skel-fort-robotank-turret" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point-obj "fordumpc-start" + :end-point-obj "fordumpc-movie-end" + :borrow '() + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :blackout-end #t + :peaceful #t + :save #t + ) + ) + +(scene-method-16 + (new 'static 'scene + :name "fortress-blow-up-ammo-res-b" + :extra #f + :info #f + :mask-to-clear #x1282000 + :entity "scene-stage-45" + :art-group "scenecamera" + :anim "fortress-blow-up-ammo-res-b" + :parts 8 + :command-list '((0 + (send-event "fort-missile-2" 'halt) + (send-event "fort-entry-gate-14" 'open (seconds 20) #t) + (send-event "fort-entry-gate-18" 'open (seconds 20) #t) + (kill "fort-entry-gate-14") + (kill "fort-entry-gate-18") + (kill "fort-robotank-6") + (apply ,(lambda :behavior scene-player () (set! (-> self clock) (-> *display* base-clock)) (none))) + (send-event *traffic-manager* 'set-guard-target-level (unbox 0)) + (send-event *traffic-manager* 'set-max-alert-level (unbox 0)) + (send-event *traffic-manager* 'set-alert-level (unbox 0)) + (send-event *traffic-manager* 'set-alert-duration (unbox 10800000)) + (send-event *traffic-manager* 'deactivate-by-type (unbox 6)) + (send-event *traffic-manager* 'deactivate-by-type (unbox 18)) + (send-event *traffic-manager* 'deactivate-by-type (unbox 19)) + ) + (1 (apply ,(lambda :behavior scene-player () (update-rates! (-> *display* entity-clock) 0.1) (none)))) + (267 + (part-tracker + "group-fortress-big-explosion" + entity + "particleman" + joint + "particleA" + track + #t + duration + (frame-range 270 365) + ) + ) + (305 (send-event "fort-missile-2" 'die)) + (365 + (part-tracker + "group-fortress-side-explosion" + entity + "particleman" + joint + "particleA" + track + #t + duration + (frame-range 365 454) + ) + ) + (479 (blackout (frame-range 479 510))) + (500 + (fma-sphere + (danger) + duration + (frame-range (new 'static 'bfloat :data 500.0) (new 'static 'bfloat :data 900.0)) + danger + (new 'static 'sprite-vec-data-2d + :x-y-z-sx (new 'static 'vector :x 3149824.0 :y 32768.0 :z 1433600.0 :w 81920.0) + :r-g-b-a (new 'static 'vector :z 163840.0 :w 1.0) + ) + ) + (fma-sphere (nav kill-once) sphere (new 'static 'vector :x 3149824.0 :y 32768.0 :z 1433600.0 :w 40960.0)) + ) + (10000 + (task-close! "fortress-dump-resolution") + (apply ,(lambda :behavior scene-player () (update-rates! (-> *display* entity-clock) 1.0) (none))) + (send-event *traffic-manager* 'restore-default-settings) + ) + ) + :cut-list '(356 381 431 457 511) + :wait-ground-time (seconds 1) + :draw-target #f + :abort #t + :actor (new 'static 'boxed-array :type scene-actor + (new 'static 'scene-actor + :name "scenecamera" + :level #f + :art-group "skel-scenecamera" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'fordumpc + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jak-highres" + :level 'fordumpc + :art-group "skel-jak-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'fordumpc + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point-obj "fordumpc-explode-movie" + :end-point-obj "ctysluma-fort-end" + :borrow '() + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :blackout-end #t + :peaceful #t + :music-delay 1500.0 + :save #t + ) + ) diff --git a/goal_src/jak2/levels/sewer/sewer-scenes.gc b/goal_src/jak2/levels/sewer/sewer-scenes.gc index 075df6f7eb..e0f567c73d 100644 --- a/goal_src/jak2/levels/sewer/sewer-scenes.gc +++ b/goal_src/jak2/levels/sewer/sewer-scenes.gc @@ -5,6 +5,8 @@ ;; name in dgo: sewer-scenes ;; dgos: SEB, SWB +(declare-type sew-gunturret enemy) + ;; DECOMP BEGINS (defpartgroup group-sewer-explode0 diff --git a/scripts/gsrc/skeleton_creation/generate_dgo_proj.py b/scripts/gsrc/skeleton_creation/generate_dgo_proj.py new file mode 100644 index 0000000000..1013875016 --- /dev/null +++ b/scripts/gsrc/skeleton_creation/generate_dgo_proj.py @@ -0,0 +1,36 @@ +# Generates the `(cgo-file...` lines for the game.gp file +# Attempts to put DGOs in the correct order based on the file order in `all_objs` + +import json + +common_deps = '("$OUT/obj/cty-guard-turret-button.o")' + +ignored_dgos = ["ENGINE", "KERNEL", "ART", "COMMON", "GAME", "NO-XGO"] + +dgos_encountered = set() +dgos_handled = set() + +jak2_files = None +with open("./goal_src/jak2/build/all_objs.json", "r") as f: + jak2_files = json.load(f) + +# Enumerate the files, order is dictated by code files (version 3) +# At the end we will fill in any dgos that weren't considerd "required" +lines = [] +for file in jak2_files: + file_name = file[0] + version = file[2] + dgo_list = file[3] + for dgo in dgo_list: + dgos_encountered.add(dgo) + if version == 3: + dgo = dgo_list[0] + if dgo.lower() not in dgos_handled and dgo not in ignored_dgos: + dgos_handled.add(dgo.lower()) + lines.append('(cgo-file "{}.gd" {})'.format(dgo.lower(), common_deps)) +for dgo in dgos_encountered: + if dgo.lower() not in dgos_handled and dgo not in ignored_dgos: + lines.append('(cgo-file "{}.gd" {})'.format(dgo.lower(), common_deps)) + +for line in lines: + print(line)