diff --git a/game/graphics/opengl_renderer/DirectRenderer.cpp b/game/graphics/opengl_renderer/DirectRenderer.cpp index 36391dc12..1be75b189 100644 --- a/game/graphics/opengl_renderer/DirectRenderer.cpp +++ b/game/graphics/opengl_renderer/DirectRenderer.cpp @@ -324,15 +324,9 @@ void DirectRenderer::update_gl_texture(SharedRenderState* render_state, int unit } if (!tex) { - // TODO Add back - if (state.texture_base_ptr >= 8160 && state.texture_base_ptr <= 8600) { - lg::warn("Failed to find texture at {}, using random (eye zone)", state.texture_base_ptr); - tex = render_state->texture_pool->get_placeholder_texture(); - } else { - // lg::warn("Failed to find texture at {}, using random (direct: {})", state.texture_base_ptr, - // name_and_id()); - tex = render_state->texture_pool->get_placeholder_texture(); - } + lg::warn("Failed to find texture at {}, using random (direct: {})", state.texture_base_ptr, + name_and_id()); + tex = render_state->texture_pool->get_placeholder_texture(); } ASSERT(tex); diff --git a/game/graphics/opengl_renderer/DirectRenderer2.cpp b/game/graphics/opengl_renderer/DirectRenderer2.cpp index 03fc046f8..9cb5f755b 100644 --- a/game/graphics/opengl_renderer/DirectRenderer2.cpp +++ b/game/graphics/opengl_renderer/DirectRenderer2.cpp @@ -352,14 +352,8 @@ void DirectRenderer2::setup_opengl_tex(u16 unit, } if (!tex) { - // TODO Add back - if (tbp_to_lookup >= 8160 && tbp_to_lookup <= 8600) { - lg::warn("Failed to find texture at {}, using random (eye zone)", tbp_to_lookup); - tex = render_state->texture_pool->get_placeholder_texture(); - } else { - lg::warn("Failed to find texture at {}, using random (direct2: {})", tbp_to_lookup, m_name); - tex = render_state->texture_pool->get_placeholder_texture(); - } + lg::warn("Failed to find texture at {}, using random (direct2: {})", tbp_to_lookup, m_name); + tex = render_state->texture_pool->get_placeholder_texture(); } glActiveTexture(GL_TEXTURE0 + unit); diff --git a/game/graphics/opengl_renderer/foreground/Generic2_OpenGL.cpp b/game/graphics/opengl_renderer/foreground/Generic2_OpenGL.cpp index 9e8940392..f954dacae 100644 --- a/game/graphics/opengl_renderer/foreground/Generic2_OpenGL.cpp +++ b/game/graphics/opengl_renderer/foreground/Generic2_OpenGL.cpp @@ -224,15 +224,9 @@ void Generic2::setup_opengl_tex(u16 unit, } if (!tex) { - // TODO Add back - if (tbp_to_lookup >= 8160 && tbp_to_lookup <= 8600) { - lg::warn("Failed to find texture at {}, using random (eye zone)", tbp_to_lookup); - tex = render_state->texture_pool->get_placeholder_texture(); - } else { - lg::warn("Failed to find texture at {}, using random (generic2: {})", tbp_to_lookup, - name_and_id()); - tex = render_state->texture_pool->get_placeholder_texture(); - } + lg::warn("Failed to find texture at {}, using random (generic2: {})", tbp_to_lookup, + name_and_id()); + tex = render_state->texture_pool->get_placeholder_texture(); } glActiveTexture(GL_TEXTURE0 + unit); @@ -260,6 +254,9 @@ void Generic2::setup_opengl_tex(u16 unit, if (render_state->version == GameVersion::Jak2 && tbp_to_lookup == 1216) { glUniform1ui(m_ogl.warp_sample_mode, 1); + // warp shader uses region clamp, which isn't supported by DrawMode. + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); } else { glUniform1ui(m_ogl.warp_sample_mode, 0); } @@ -276,9 +273,6 @@ void Generic2::do_draws_for_alpha(SharedRenderState* render_state, setup_opengl_for_draw_mode(first.mode, first.fix, render_state); setup_opengl_tex(0, first.tbp, first.mode.get_filt_enable(), first.mode.get_clamp_s_enable(), first.mode.get_clamp_t_enable(), render_state); - // if (alpha == DrawMode::AlphaBlend::SRC_0_DST_DST) { - // glBindTexture(GL_TEXTURE_2D, render_state->texture_pool->get_placeholder_texture()); - // } glDrawElements(GL_TRIANGLE_STRIP, bucket.idx_count, GL_UNSIGNED_INT, (void*)(sizeof(u32) * bucket.idx_idx)); prof.add_draw_call(); diff --git a/game/graphics/opengl_renderer/sprite/GlowRenderer.cpp b/game/graphics/opengl_renderer/sprite/GlowRenderer.cpp index 774210b71..5caf1ed2d 100644 --- a/game/graphics/opengl_renderer/sprite/GlowRenderer.cpp +++ b/game/graphics/opengl_renderer/sprite/GlowRenderer.cpp @@ -704,7 +704,7 @@ void GlowRenderer::draw_sprites(SharedRenderState* render_state, ScopedProfilerN const auto& record = m_sprite_records[i]; auto tex = render_state->texture_pool->lookup(record.tbp); if (!tex) { - fmt::print("Failed to find texture at {}, using random", record.tbp); + fmt::print("Failed to find texture at {}, using random (glow)", record.tbp); tex = render_state->texture_pool->get_placeholder_texture(); } glActiveTexture(GL_TEXTURE0); diff --git a/game/graphics/opengl_renderer/sprite/Sprite3.cpp b/game/graphics/opengl_renderer/sprite/Sprite3.cpp index 59f8f4a36..74a62124c 100644 --- a/game/graphics/opengl_renderer/sprite/Sprite3.cpp +++ b/game/graphics/opengl_renderer/sprite/Sprite3.cpp @@ -584,7 +584,7 @@ void Sprite3::flush_sprites(SharedRenderState* render_state, tex = render_state->texture_pool->lookup(tbp); if (!tex) { - lg::warn("Failed to find texture at {}, using random", tbp); + lg::warn("Failed to find texture at {}, using random (sprite)", tbp); tex = render_state->texture_pool->get_placeholder_texture(); } ASSERT(tex); diff --git a/goal_src/jak2/engine/gfx/foreground/foreground.gc b/goal_src/jak2/engine/gfx/foreground/foreground.gc index 1237f95ce..e870ace4d 100644 --- a/goal_src/jak2/engine/gfx/foreground/foreground.gc +++ b/goal_src/jak2/engine/gfx/foreground/foreground.gc @@ -1269,8 +1269,10 @@ ;; reassign for PC. For the most part, we reassign everything to merc. The exceptions are: ;; - "warp" effect is on: this special effect isn't supported by PC merc ;; - "death" effect is on: this requires the renderer to return transformed vertices. - ;; - "force-mercneric" is on: this is used rarely, and on stuff that doesn't seem to have - ;; - ripple query? + ;; - using the warp bucket. - there's no merc warp bucket, so we have to use generic here. + ;; NOTE: we don't listen to force-mercneric because I believe we handle this case correctly + ;; in extract_merc.cpp by checking the trans bit. This can be enabled, but texture uploads + ;; for at least water aren't hooked up to the PC texture system. (when (or (nonzero? (-> (scratchpad-object foreground-work) regs mercneric-used)) (nonzero? (-> (scratchpad-object foreground-work) regs emerc-used)) ) @@ -1285,9 +1287,19 @@ (cond ((or (logtest? (-> geo effect effect-idx effect-bits) (effect-bits cross-fade)) (logtest? (-> geo effect effect-idx effect-bits) (effect-bits force-mercneric)) + (= (-> geo effect effect-idx texture-index) (tpage-category warp)) (nonzero? (-> dc death-timer)) ) - ;; (format *stdcon* "[fg] ~S to generic~%" (-> dc process name)) + + ; (if (logtest? (-> geo effect effect-idx effect-bits) (effect-bits cross-fade)) + ; (format *stdcon* "[fg] ~S to generic 1~%" (-> dc process name)) + ; ) + ; (if (= (-> geo effect effect-idx texture-index) (tpage-category warp)) + ; (format *stdcon* "[fg] ~S to generic 2~%" (-> dc process name)) + ; ) + ; (if (nonzero? (-> dc death-timer)) + ; (format *stdcon* "[fg] ~S to generic 3~%" (-> dc process name)) + ; ) (set! (-> bucket-info effect effect-idx merc-path) 2) (set! (-> (scratchpad-object foreground-work) regs mercneric-used) 1) ) diff --git a/goal_src/jak2/engine/gfx/texture/texture.gc b/goal_src/jak2/engine/gfx/texture/texture.gc index 808a77770..7b2519052 100644 --- a/goal_src/jak2/engine/gfx/texture/texture.gc +++ b/goal_src/jak2/engine/gfx/texture/texture.gc @@ -1688,7 +1688,7 @@ additionally, some texture pages have a chunk system that allows more specific c ) ) (set! (-> lev upload-size 4) - (upload-vram-pages-pris pool (-> pool segment-common) tpage bucket (the-as (pointer int32) t0-15)) + (upload-vram-pages-pris-pc pool (-> pool segment-common) tpage bucket (the-as (pointer int32) t0-15)) ) ) ) diff --git a/goal_src/jak2/game.gp b/goal_src/jak2/game.gp index 58011f2f0..4ac8598bf 100644 --- a/goal_src/jak2/game.gp +++ b/goal_src/jak2/game.gp @@ -69,7 +69,7 @@ ;; GOAL Kernel ;;;;;;;;;;;;;;;;; -(cgo-file "kernel.gd" ()) +(cgo-file "kernel.gd" '()) ;;;;;;;;;;;;;;;;;;;;; ;; misc files @@ -90,161 +90,164 @@ ) (hash-table-set! *file-entry-map* "dir-tpages.go" #f) -(cgo-file "engine.gd" ("$OUT/obj/gcommon.o" "$OUT/obj/gstate.o" "$OUT/obj/gstring.o" "$OUT/obj/gkernel.o")) -(cgo-file "game.gd" ("$OUT/obj/gcommon.o" "$OUT/obj/gstate.o" "$OUT/obj/gstring.o" "$OUT/obj/gkernel.o")) +(cgo-file "engine.gd" '("$OUT/obj/gcommon.o" "$OUT/obj/gstate.o" "$OUT/obj/gstring.o" "$OUT/obj/gkernel.o")) +(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/cty-guard-turret-button.o")) -(cgo-file "cwi.gd" ("$OUT/obj/cty-guard-turret-button.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 "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")) +;; note: some of these dependencies are slightly wrong because cgo-file doesn't really handle +;; the case of a .o appearing in multiple dgos. But, if we depend on the last item in both lists, it +;; works out. + +(define common-dep '("$OUT/obj/cty-guard-turret-button.o" "$OUT/obj/default-menu.o")) +(cgo-file "cwi.gd" common-dep) +(cgo-file "lmeetbrt.gd" common-dep) +(cgo-file "cta.gd" common-dep) +(cgo-file "palout.gd" common-dep) +(cgo-file "std.gd" common-dep) +(cgo-file "for.gd" common-dep) +(cgo-file "hideout.gd" common-dep) +(cgo-file "ctb.gd" common-dep) +(cgo-file "kiosk.gd" common-dep) +(cgo-file "dg1.gd" common-dep) +(cgo-file "feb.gd" common-dep) +(cgo-file "dmi.gd" common-dep) +(cgo-file "oracle.gd" common-dep) +(cgo-file "lbrnermk.gd" common-dep) +(cgo-file "ctc.gd" common-dep) +(cgo-file "fra.gd" common-dep) +(cgo-file "mtn.gd" common-dep) +(cgo-file "introcst.gd" common-dep) +(cgo-file "ate.gd" common-dep) +(cgo-file "cfb.gd" common-dep) +(cgo-file "cab.gd" common-dep) +(cgo-file "str.gd" common-dep) +(cgo-file "ato.gd" common-dep) +(cgo-file "seb.gd" common-dep) +(cgo-file "lpower.gd" common-dep) +(cgo-file "cib.gd" common-dep) +(cgo-file "lshuttle.gd" common-dep) +(cgo-file "fordumpc.gd" common-dep) +(cgo-file "thr.gd" common-dep) +(cgo-file "pri.gd" common-dep) +(cgo-file "lkiddoge.gd" common-dep) +(cgo-file "nestt.gd" common-dep) +(cgo-file "neb.gd" common-dep) +(cgo-file "cob.gd" common-dep) +(cgo-file "lbombbot.gd" common-dep) +(cgo-file "demo.gd" common-dep) +(cgo-file "lerlchal.gd" common-dep) +(cgo-file "outrocst.gd" common-dep) +(cgo-file "par.gd" common-dep) +(cgo-file "fda.gd" common-dep) +(cgo-file "lwhack.gd" common-dep) +(cgo-file "cas.gd" common-dep) +(cgo-file "coa.gd" common-dep) +(cgo-file "toe.gd" common-dep) +(cgo-file "palboss.gd" common-dep) +(cgo-file "frb.gd" common-dep) +(cgo-file "pae.gd" common-dep) +(cgo-file "title.gd" common-dep) +(cgo-file "drillmtn.gd" common-dep) +(cgo-file "pac.gd" common-dep) +(cgo-file "lprotect.gd" common-dep) +(cgo-file "fea.gd" common-dep) +(cgo-file "onintent.gd" common-dep) +(cgo-file "sta.gd" common-dep) +(cgo-file "cgc.gd" common-dep) +(cgo-file "cma.gd" common-dep) +(cgo-file "fdb.gd" common-dep) +(cgo-file "ska.gd" common-dep) +(cgo-file "cia.gd" common-dep) +(cgo-file "toa.gd" common-dep) +(cgo-file "pas.gd" common-dep) +;; (cgo-file "lbbush.gd" common-dep) - moved +;; (cgo-file "lpackage.gd" common-dep) - moved +(cgo-file "lportrun.gd" common-dep) +(cgo-file "cgb.gd" common-dep) +(cgo-file "lhelldog.gd" common-dep) +(cgo-file "gga.gd" common-dep) +(cgo-file "mcn.gd" common-dep) +(cgo-file "vin.gd" common-dep) +(cgo-file "cga.gd" common-dep) +(cgo-file "cpa.gd" common-dep) +(cgo-file "unb.gd" common-dep) +(cgo-file "cpo.gd" common-dep) +(cgo-file "cap.gd" common-dep) +(cgo-file "lbbush.gd" common-dep) +(cgo-file "lpackage.gd" common-dep) +(cgo-file "ctykora.gd" common-dep) +(cgo-file "rui.gd" common-dep) +(cgo-file "lsack.gd" common-dep) +(cgo-file "ctyasha.gd" common-dep) +(cgo-file "hiphog.gd" common-dep) +(cgo-file "tod.gd" common-dep) +(cgo-file "lerltess.gd" common-dep) +(cgo-file "tob.gd" common-dep) +(cgo-file "vi1.gd" common-dep) +(cgo-file "lracecb.gd" common-dep) +(cgo-file "lhipout.gd" common-dep) +(cgo-file "garage.gd" common-dep) +(cgo-file "casext.gd" common-dep) +(cgo-file "stadblmp.gd" common-dep) +(cgo-file "sag.gd" common-dep) +(cgo-file "lintcstb.gd" common-dep) +(cgo-file "lcitylow.gd" common-dep) +(cgo-file "lracelit.gd" common-dep) +(cgo-file "fordumpd.gd" common-dep) +(cgo-file "swe.gd" common-dep) +(cgo-file "sew.gd" common-dep) +(cgo-file "lracedb.gd" common-dep) +(cgo-file "lsamergd.gd" common-dep) +(cgo-file "ljakdax.gd" common-dep) +(cgo-file "lysamsam.gd" common-dep) +(cgo-file "lwidesta.gd" common-dep) +(cgo-file "lsmysbrt.gd" common-dep) +(cgo-file "lwideb.gd" common-dep) +(cgo-file "ldjakbrn.gd" common-dep) +(cgo-file "ltrnysam.gd" common-dep) +(cgo-file "und.gd" common-dep) +(cgo-file "swb.gd" common-dep) +(cgo-file "dri.gd" common-dep) +(cgo-file "cascity.gd" common-dep) +(cgo-file "lashthrn.gd" common-dep) +(cgo-file "lcguard.gd" common-dep) +(cgo-file "tombext.gd" common-dep) +(cgo-file "mtx.gd" common-dep) +(cgo-file "lracedf.gd" common-dep) +(cgo-file "ljkdxash.gd" common-dep) +(cgo-file "lerrol.gd" common-dep) +(cgo-file "d3b.gd" common-dep) +(cgo-file "lwidea.gd" common-dep) +(cgo-file "fob.gd" common-dep) +(cgo-file "lkeirift.gd" common-dep) +(cgo-file "d3a.gd" common-dep) +(cgo-file "lashgrd.gd" common-dep) +(cgo-file "ltess.gd" common-dep) +(cgo-file "portwall.gd" common-dep) +(cgo-file "nes.gd" common-dep) +(cgo-file "lwidec.gd" common-dep) +(cgo-file "cfa.gd" common-dep) +(cgo-file "lprtrace.gd" common-dep) +(cgo-file "tbo.gd" common-dep) +(cgo-file "loutcstb.gd" common-dep) +(cgo-file "ltrnkrkd.gd" common-dep) +(cgo-file "toc.gd" common-dep) +(cgo-file "ltrntess.gd" common-dep) +(cgo-file "lguard.gd" common-dep) +(cgo-file "lerbrngd.gd" common-dep) +(cgo-file "lracecf.gd" common-dep) +(cgo-file "lprsncst.gd" common-dep) +(cgo-file "drb.gd" common-dep) +(cgo-file "lyskdcd.gd" common-dep) +(cgo-file "lthrnout.gd" common-dep) +(cgo-file "stc.gd" common-dep) +(cgo-file "halfpipe.gd" common-dep) +(cgo-file "cmb.gd" common-dep) +(cgo-file "stb.gd" common-dep) +(cgo-file "lracebf.gd" common-dep) +(cgo-file "ltentout.gd" common-dep) +(cgo-file "lgarcsta.gd" common-dep) +(cgo-file "lracebb.gd" common-dep) +(cgo-file "ltentob.gd" common-dep) ;;;;;;;;;;;;;;;;;;;;; ;; ANIMATIONS diff --git a/goal_src/jak2/lib/project-lib.gp b/goal_src/jak2/lib/project-lib.gp index 99a5614dd..7596a6131 100644 --- a/goal_src/jak2/lib/project-lib.gp +++ b/goal_src/jak2/lib/project-lib.gp @@ -50,7 +50,7 @@ ) ) -;; TODO - deps should probably just treated as a proper list to refactor duplication +;; TODO - deps should probably just treated as a proper list to refactor duplication (defmacro goal-src-sequence (prefix &key (deps '()) &rest sequence) "Add a sequence of GOAL files (each depending on the previous) in the given directory, with all depending on the given deps." @@ -224,7 +224,7 @@ `(begin ;; macros can't return nothing, so these macros assume they will be given a non-empty list (when (not (null? '(,@gsrc-seq-args))) - (goal-src-sequence "" :deps ,deps ,@gsrc-seq-args)) + (goal-src-sequence "" :deps ,(eval deps) ,@gsrc-seq-args)) (when (not (null? '(,@textures))) (copy-textures ,@textures)) (when (not (null? '(,@gos)))