more generic fixes (#2515)

Fixes issue where warp effect looks wrong near the edge of the screen -
there was an unhandled `REGION_CLAMP` texture setting.

Fixes a potential bug where "warp page" things wouldn't be drawn at all
because there is no PC warp bucket. Unclear if anything actually fits
this category, but it doesn't hurt.

Turn on PC-format texture uploads for the water page so the precursor
guy uses the right texture. It has to use generic because it abuses the
generic death query thing to spawn particles.

Workaround for some issues with rebuilding level files after changing
engine files. Not a perfect solution, but probably good enough.
This commit is contained in:
water111 2023-04-17 13:53:38 -04:00 committed by GitHub
parent 633b5cd53c
commit 9ba86c8b6a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 189 additions and 192 deletions

View file

@ -324,15 +324,9 @@ void DirectRenderer::update_gl_texture(SharedRenderState* render_state, int unit
} }
if (!tex) { if (!tex) {
// TODO Add back lg::warn("Failed to find texture at {}, using random (direct: {})", state.texture_base_ptr,
if (state.texture_base_ptr >= 8160 && state.texture_base_ptr <= 8600) { name_and_id());
lg::warn("Failed to find texture at {}, using random (eye zone)", state.texture_base_ptr); tex = render_state->texture_pool->get_placeholder_texture();
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();
}
} }
ASSERT(tex); ASSERT(tex);

View file

@ -352,14 +352,8 @@ void DirectRenderer2::setup_opengl_tex(u16 unit,
} }
if (!tex) { if (!tex) {
// TODO Add back lg::warn("Failed to find texture at {}, using random (direct2: {})", tbp_to_lookup, m_name);
if (tbp_to_lookup >= 8160 && tbp_to_lookup <= 8600) { tex = render_state->texture_pool->get_placeholder_texture();
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();
}
} }
glActiveTexture(GL_TEXTURE0 + unit); glActiveTexture(GL_TEXTURE0 + unit);

View file

@ -224,15 +224,9 @@ void Generic2::setup_opengl_tex(u16 unit,
} }
if (!tex) { if (!tex) {
// TODO Add back lg::warn("Failed to find texture at {}, using random (generic2: {})", tbp_to_lookup,
if (tbp_to_lookup >= 8160 && tbp_to_lookup <= 8600) { name_and_id());
lg::warn("Failed to find texture at {}, using random (eye zone)", tbp_to_lookup); tex = render_state->texture_pool->get_placeholder_texture();
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();
}
} }
glActiveTexture(GL_TEXTURE0 + unit); 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) { if (render_state->version == GameVersion::Jak2 && tbp_to_lookup == 1216) {
glUniform1ui(m_ogl.warp_sample_mode, 1); 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 { } else {
glUniform1ui(m_ogl.warp_sample_mode, 0); 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_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(), 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); 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, glDrawElements(GL_TRIANGLE_STRIP, bucket.idx_count, GL_UNSIGNED_INT,
(void*)(sizeof(u32) * bucket.idx_idx)); (void*)(sizeof(u32) * bucket.idx_idx));
prof.add_draw_call(); prof.add_draw_call();

View file

@ -704,7 +704,7 @@ void GlowRenderer::draw_sprites(SharedRenderState* render_state, ScopedProfilerN
const auto& record = m_sprite_records[i]; const auto& record = m_sprite_records[i];
auto tex = render_state->texture_pool->lookup(record.tbp); auto tex = render_state->texture_pool->lookup(record.tbp);
if (!tex) { 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(); tex = render_state->texture_pool->get_placeholder_texture();
} }
glActiveTexture(GL_TEXTURE0); glActiveTexture(GL_TEXTURE0);

View file

@ -584,7 +584,7 @@ void Sprite3::flush_sprites(SharedRenderState* render_state,
tex = render_state->texture_pool->lookup(tbp); tex = render_state->texture_pool->lookup(tbp);
if (!tex) { 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(); tex = render_state->texture_pool->get_placeholder_texture();
} }
ASSERT(tex); ASSERT(tex);

View file

@ -1269,8 +1269,10 @@
;; reassign for PC. For the most part, we reassign everything to merc. The exceptions are: ;; 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 ;; - "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. ;; - "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 ;; - using the warp bucket. - there's no merc warp bucket, so we have to use generic here.
;; - ripple query? ;; 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)) (when (or (nonzero? (-> (scratchpad-object foreground-work) regs mercneric-used))
(nonzero? (-> (scratchpad-object foreground-work) regs emerc-used)) (nonzero? (-> (scratchpad-object foreground-work) regs emerc-used))
) )
@ -1285,9 +1287,19 @@
(cond (cond
((or (logtest? (-> geo effect effect-idx effect-bits) (effect-bits cross-fade)) ((or (logtest? (-> geo effect effect-idx effect-bits) (effect-bits cross-fade))
(logtest? (-> geo effect effect-idx effect-bits) (effect-bits force-mercneric)) (logtest? (-> geo effect effect-idx effect-bits) (effect-bits force-mercneric))
(= (-> geo effect effect-idx texture-index) (tpage-category warp))
(nonzero? (-> dc death-timer)) (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! (-> bucket-info effect effect-idx merc-path) 2)
(set! (-> (scratchpad-object foreground-work) regs mercneric-used) 1) (set! (-> (scratchpad-object foreground-work) regs mercneric-used) 1)
) )

View file

@ -1688,7 +1688,7 @@ additionally, some texture pages have a chunk system that allows more specific c
) )
) )
(set! (-> lev upload-size 4) (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))
) )
) )
) )

View file

@ -69,7 +69,7 @@
;; GOAL Kernel ;; GOAL Kernel
;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;
(cgo-file "kernel.gd" ()) (cgo-file "kernel.gd" '())
;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
;; misc files ;; misc files
@ -90,161 +90,164 @@
) )
(hash-table-set! *file-entry-map* "dir-tpages.go" #f) (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 "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 "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) ;; note: some of these dependencies are slightly wrong because cgo-file doesn't really handle
;; (define common-dep ("$OUT/obj/cty-guard-turret-button.o")) ;; the case of a .o appearing in multiple dgos. But, if we depend on the last item in both lists, it
(cgo-file "cwi.gd" ("$OUT/obj/cty-guard-turret-button.o")) ;; works out.
(cgo-file "lmeetbrt.gd" ("$OUT/obj/cty-guard-turret-button.o"))
(cgo-file "cta.gd" ("$OUT/obj/cty-guard-turret-button.o")) (define common-dep '("$OUT/obj/cty-guard-turret-button.o" "$OUT/obj/default-menu.o"))
(cgo-file "palout.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cwi.gd" common-dep)
(cgo-file "std.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lmeetbrt.gd" common-dep)
(cgo-file "for.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cta.gd" common-dep)
(cgo-file "hideout.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "palout.gd" common-dep)
(cgo-file "ctb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "std.gd" common-dep)
(cgo-file "kiosk.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "for.gd" common-dep)
(cgo-file "dg1.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "hideout.gd" common-dep)
(cgo-file "feb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "ctb.gd" common-dep)
(cgo-file "dmi.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "kiosk.gd" common-dep)
(cgo-file "oracle.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "dg1.gd" common-dep)
(cgo-file "lbrnermk.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "feb.gd" common-dep)
(cgo-file "ctc.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "dmi.gd" common-dep)
(cgo-file "fra.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "oracle.gd" common-dep)
(cgo-file "mtn.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lbrnermk.gd" common-dep)
(cgo-file "introcst.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "ctc.gd" common-dep)
(cgo-file "ate.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "fra.gd" common-dep)
(cgo-file "cfb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "mtn.gd" common-dep)
(cgo-file "cab.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "introcst.gd" common-dep)
(cgo-file "str.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "ate.gd" common-dep)
(cgo-file "ato.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cfb.gd" common-dep)
(cgo-file "seb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cab.gd" common-dep)
(cgo-file "lpower.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "str.gd" common-dep)
(cgo-file "cib.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "ato.gd" common-dep)
(cgo-file "lshuttle.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "seb.gd" common-dep)
(cgo-file "fordumpc.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lpower.gd" common-dep)
(cgo-file "thr.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cib.gd" common-dep)
(cgo-file "pri.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lshuttle.gd" common-dep)
(cgo-file "lkiddoge.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "fordumpc.gd" common-dep)
(cgo-file "nestt.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "thr.gd" common-dep)
(cgo-file "neb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "pri.gd" common-dep)
(cgo-file "cob.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lkiddoge.gd" common-dep)
(cgo-file "lbombbot.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "nestt.gd" common-dep)
(cgo-file "demo.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "neb.gd" common-dep)
(cgo-file "lerlchal.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cob.gd" common-dep)
(cgo-file "outrocst.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lbombbot.gd" common-dep)
(cgo-file "par.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "demo.gd" common-dep)
(cgo-file "fda.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lerlchal.gd" common-dep)
(cgo-file "lwhack.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "outrocst.gd" common-dep)
(cgo-file "cas.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "par.gd" common-dep)
(cgo-file "coa.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "fda.gd" common-dep)
(cgo-file "toe.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lwhack.gd" common-dep)
(cgo-file "palboss.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cas.gd" common-dep)
(cgo-file "frb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "coa.gd" common-dep)
(cgo-file "pae.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "toe.gd" common-dep)
(cgo-file "title.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "palboss.gd" common-dep)
(cgo-file "drillmtn.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "frb.gd" common-dep)
(cgo-file "pac.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "pae.gd" common-dep)
(cgo-file "lprotect.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "title.gd" common-dep)
(cgo-file "fea.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "drillmtn.gd" common-dep)
(cgo-file "onintent.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "pac.gd" common-dep)
(cgo-file "sta.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lprotect.gd" common-dep)
(cgo-file "cgc.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "fea.gd" common-dep)
(cgo-file "cma.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "onintent.gd" common-dep)
(cgo-file "fdb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "sta.gd" common-dep)
(cgo-file "ska.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cgc.gd" common-dep)
(cgo-file "cia.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cma.gd" common-dep)
(cgo-file "toa.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "fdb.gd" common-dep)
(cgo-file "pas.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "ska.gd" common-dep)
;; (cgo-file "lbbush.gd" ("$OUT/obj/cty-guard-turret-button.o")) - moved (cgo-file "cia.gd" common-dep)
;; (cgo-file "lpackage.gd" ("$OUT/obj/cty-guard-turret-button.o")) - moved (cgo-file "toa.gd" common-dep)
(cgo-file "lportrun.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "pas.gd" common-dep)
(cgo-file "cgb.gd" ("$OUT/obj/cty-guard-turret-button.o")) ;; (cgo-file "lbbush.gd" common-dep) - moved
(cgo-file "lhelldog.gd" ("$OUT/obj/cty-guard-turret-button.o")) ;; (cgo-file "lpackage.gd" common-dep) - moved
(cgo-file "gga.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lportrun.gd" common-dep)
(cgo-file "mcn.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cgb.gd" common-dep)
(cgo-file "vin.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lhelldog.gd" common-dep)
(cgo-file "cga.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "gga.gd" common-dep)
(cgo-file "cpa.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "mcn.gd" common-dep)
(cgo-file "unb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "vin.gd" common-dep)
(cgo-file "cpo.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cga.gd" common-dep)
(cgo-file "cap.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cpa.gd" common-dep)
(cgo-file "lbbush.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "unb.gd" common-dep)
(cgo-file "lpackage.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cpo.gd" common-dep)
(cgo-file "ctykora.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cap.gd" common-dep)
(cgo-file "rui.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lbbush.gd" common-dep)
(cgo-file "lsack.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lpackage.gd" common-dep)
(cgo-file "ctyasha.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "ctykora.gd" common-dep)
(cgo-file "hiphog.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "rui.gd" common-dep)
(cgo-file "tod.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lsack.gd" common-dep)
(cgo-file "lerltess.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "ctyasha.gd" common-dep)
(cgo-file "tob.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "hiphog.gd" common-dep)
(cgo-file "vi1.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "tod.gd" common-dep)
(cgo-file "lracecb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lerltess.gd" common-dep)
(cgo-file "lhipout.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "tob.gd" common-dep)
(cgo-file "garage.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "vi1.gd" common-dep)
(cgo-file "casext.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lracecb.gd" common-dep)
(cgo-file "stadblmp.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lhipout.gd" common-dep)
(cgo-file "sag.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "garage.gd" common-dep)
(cgo-file "lintcstb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "casext.gd" common-dep)
(cgo-file "lcitylow.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "stadblmp.gd" common-dep)
(cgo-file "lracelit.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "sag.gd" common-dep)
(cgo-file "fordumpd.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lintcstb.gd" common-dep)
(cgo-file "swe.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lcitylow.gd" common-dep)
(cgo-file "sew.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lracelit.gd" common-dep)
(cgo-file "lracedb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "fordumpd.gd" common-dep)
(cgo-file "lsamergd.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "swe.gd" common-dep)
(cgo-file "ljakdax.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "sew.gd" common-dep)
(cgo-file "lysamsam.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lracedb.gd" common-dep)
(cgo-file "lwidesta.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lsamergd.gd" common-dep)
(cgo-file "lsmysbrt.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "ljakdax.gd" common-dep)
(cgo-file "lwideb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lysamsam.gd" common-dep)
(cgo-file "ldjakbrn.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lwidesta.gd" common-dep)
(cgo-file "ltrnysam.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lsmysbrt.gd" common-dep)
(cgo-file "und.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lwideb.gd" common-dep)
(cgo-file "swb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "ldjakbrn.gd" common-dep)
(cgo-file "dri.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "ltrnysam.gd" common-dep)
(cgo-file "cascity.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "und.gd" common-dep)
(cgo-file "lashthrn.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "swb.gd" common-dep)
(cgo-file "lcguard.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "dri.gd" common-dep)
(cgo-file "tombext.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cascity.gd" common-dep)
(cgo-file "mtx.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lashthrn.gd" common-dep)
(cgo-file "lracedf.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lcguard.gd" common-dep)
(cgo-file "ljkdxash.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "tombext.gd" common-dep)
(cgo-file "lerrol.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "mtx.gd" common-dep)
(cgo-file "d3b.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lracedf.gd" common-dep)
(cgo-file "lwidea.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "ljkdxash.gd" common-dep)
(cgo-file "fob.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lerrol.gd" common-dep)
(cgo-file "lkeirift.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "d3b.gd" common-dep)
(cgo-file "d3a.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lwidea.gd" common-dep)
(cgo-file "lashgrd.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "fob.gd" common-dep)
(cgo-file "ltess.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lkeirift.gd" common-dep)
(cgo-file "portwall.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "d3a.gd" common-dep)
(cgo-file "nes.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lashgrd.gd" common-dep)
(cgo-file "lwidec.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "ltess.gd" common-dep)
(cgo-file "cfa.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "portwall.gd" common-dep)
(cgo-file "lprtrace.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "nes.gd" common-dep)
(cgo-file "tbo.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lwidec.gd" common-dep)
(cgo-file "loutcstb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cfa.gd" common-dep)
(cgo-file "ltrnkrkd.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lprtrace.gd" common-dep)
(cgo-file "toc.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "tbo.gd" common-dep)
(cgo-file "ltrntess.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "loutcstb.gd" common-dep)
(cgo-file "lguard.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "ltrnkrkd.gd" common-dep)
(cgo-file "lerbrngd.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "toc.gd" common-dep)
(cgo-file "lracecf.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "ltrntess.gd" common-dep)
(cgo-file "lprsncst.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lguard.gd" common-dep)
(cgo-file "drb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lerbrngd.gd" common-dep)
(cgo-file "lyskdcd.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lracecf.gd" common-dep)
(cgo-file "lthrnout.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lprsncst.gd" common-dep)
(cgo-file "stc.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "drb.gd" common-dep)
(cgo-file "halfpipe.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lyskdcd.gd" common-dep)
(cgo-file "cmb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lthrnout.gd" common-dep)
(cgo-file "stb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "stc.gd" common-dep)
(cgo-file "lracebf.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "halfpipe.gd" common-dep)
(cgo-file "ltentout.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "cmb.gd" common-dep)
(cgo-file "lgarcsta.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "stb.gd" common-dep)
(cgo-file "lracebb.gd" ("$OUT/obj/cty-guard-turret-button.o")) (cgo-file "lracebf.gd" common-dep)
(cgo-file "ltentob.gd" ("$OUT/obj/cty-guard-turret-button.o")) (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 ;; ANIMATIONS

View file

@ -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) (defmacro goal-src-sequence (prefix &key (deps '()) &rest sequence)
"Add a sequence of GOAL files (each depending on the previous) in the given directory, "Add a sequence of GOAL files (each depending on the previous) in the given directory,
with all depending on the given deps." with all depending on the given deps."
@ -224,7 +224,7 @@
`(begin `(begin
;; macros can't return nothing, so these macros assume they will be given a non-empty list ;; macros can't return nothing, so these macros assume they will be given a non-empty list
(when (not (null? '(,@gsrc-seq-args))) (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))) (when (not (null? '(,@textures)))
(copy-textures ,@textures)) (copy-textures ,@textures))
(when (not (null? '(,@gos))) (when (not (null? '(,@gos)))