mirror of
https://github.com/open-goal/jak-project
synced 2026-07-02 12:36:42 -04:00
[graphics] tie generic (#1341)
* [gtie] tie inst and proto functions * first chain input to generic ee looks good * m * works * ugh * add tie generic * rm debug print * rm generic ties from fr3
This commit is contained in:
@@ -1058,6 +1058,7 @@ Mips2C_Line handle_normal_instr(Mips2C_Output& output,
|
||||
case InstructionKind::DSLLV:
|
||||
case InstructionKind::PAND:
|
||||
case InstructionKind::PCEQB:
|
||||
case InstructionKind::PPACW:
|
||||
return handle_generic_op3(i0, instr_str, {});
|
||||
case InstructionKind::MULS:
|
||||
return handle_generic_op3(i0, instr_str, "muls");
|
||||
|
||||
@@ -6827,7 +6827,7 @@
|
||||
(gifbuf-adr uint32 :offset-assert 68)
|
||||
(inbuf-adr uint32 :offset-assert 72)
|
||||
(fade-val uint32 :offset-assert 76)
|
||||
(time-of-day-color uint32 :offset-assert 80)
|
||||
(time-of-day-color rgba :offset-assert 80)
|
||||
(to-vu0-waits uint32 :offset-assert 84)
|
||||
(to-spr-waits uint32 :offset-assert 88)
|
||||
(from-spr-waits uint32 :offset-assert 92)
|
||||
@@ -16886,11 +16886,11 @@
|
||||
;; - Functions
|
||||
|
||||
(define-extern generic-work-init (function generic-dma-foreground-sink none))
|
||||
(define-extern generic-upload-vu0 function)
|
||||
(define-extern generic-upload-vu0 (function none))
|
||||
(define-extern upload-vu0-program (function vu-function pointer none))
|
||||
(define-extern generic-initialize-without-sink (function matrix vu-lights none))
|
||||
(define-extern generic-initialize function)
|
||||
(define-extern generic-wrapup function)
|
||||
(define-extern generic-initialize (function generic-dma-foreground-sink matrix vu-lights none))
|
||||
(define-extern generic-wrapup (function generic-dma-foreground-sink none))
|
||||
(define-extern generic-dma-from-spr function)
|
||||
(define-extern generic-light-proc function)
|
||||
(define-extern generic-envmap-proc function)
|
||||
@@ -16967,11 +16967,11 @@
|
||||
;; - Functions
|
||||
|
||||
(define-extern generic-tie-dma-to-spad function)
|
||||
(define-extern generic-tie-dma-to-spad-sync function)
|
||||
(define-extern generic-tie-dma-to-spad-sync (function object object none))
|
||||
(define-extern generic-tie-decompress function)
|
||||
(define-extern generic-tie-upload-next function)
|
||||
(define-extern generic-tie-convert-proc function)
|
||||
(define-extern generic-tie-convert function)
|
||||
(define-extern generic-tie-convert (function none))
|
||||
(define-extern generic-tie-display-stats function)
|
||||
(define-extern generic-tie-debug function)
|
||||
(define-extern generic-tie-execute (function generic-dma-foreground-sink dma-buffer basic none))
|
||||
@@ -17416,7 +17416,7 @@
|
||||
(define-extern tie-debug-between (function uint uint uint))
|
||||
(define-extern tie-debug-one (function uint uint uint))
|
||||
(define-extern walk-tie-generic-prototypes (function none))
|
||||
(define-extern draw-inline-array-instance-tie (function pointer drawable int dma-buffer none))
|
||||
(define-extern draw-inline-array-instance-tie (function pointer (inline-array instance-tie) int dma-buffer none))
|
||||
(define-extern draw-inline-array-prototype-tie-generic-asm (function dma-buffer int prototype-array-tie none))
|
||||
(define-extern draw-inline-array-prototype-tie-asm (function dma-buffer int prototype-array-tie none))
|
||||
(define-extern draw-inline-array-prototype-tie-near-asm (function dma-buffer int prototype-array-tie none))
|
||||
|
||||
@@ -141,11 +141,8 @@
|
||||
"generic-envmap-only-proc",
|
||||
"generic-no-light",
|
||||
"generic-no-light+envmap",
|
||||
"generic-no-light-dproc",
|
||||
"generic-no-light-dproc-only",
|
||||
"generic-no-light-proc",
|
||||
"generic-interp-dproc",
|
||||
"generic-envmap-dproc",
|
||||
"generic-prepare-dma-single",
|
||||
"generic-prepare-dma-double",
|
||||
"generic-envmap-proc",
|
||||
@@ -163,11 +160,9 @@
|
||||
"generic-merc-init-asm",
|
||||
|
||||
// generic-tie
|
||||
"generic-tie-convert",
|
||||
"generic-tie-convert-proc",
|
||||
"generic-tie-upload-next",
|
||||
"generic-tie-decompress",
|
||||
"generic-tie-dma-to-spad-sync",
|
||||
|
||||
// shadow-cpu
|
||||
"shadow-add-double-edges",
|
||||
@@ -200,8 +195,6 @@
|
||||
// tie-methods
|
||||
"draw-inline-array-prototype-tie-near-asm",
|
||||
"draw-inline-array-prototype-tie-asm",
|
||||
"draw-inline-array-prototype-tie-generic-asm",
|
||||
"draw-inline-array-instance-tie",
|
||||
|
||||
// sparticle-launcher
|
||||
"sp-init-fields!",
|
||||
@@ -613,7 +606,18 @@
|
||||
"shadow-scissor-top",
|
||||
"shadow-scissor-edges",
|
||||
"shadow-calc-dual-verts",
|
||||
"shadow-xform-verts"
|
||||
"shadow-xform-verts",
|
||||
|
||||
// generic tie
|
||||
"draw-inline-array-instance-tie",
|
||||
"generic-tie-dma-to-spad-sync",
|
||||
"draw-inline-array-prototype-tie-generic-asm",
|
||||
"generic-interp-dproc",
|
||||
"generic-no-light-dproc",
|
||||
"generic-envmap-dproc",
|
||||
"generic-tie-convert"
|
||||
|
||||
|
||||
],
|
||||
|
||||
"mips2c_jump_table_functions": {
|
||||
|
||||
@@ -7778,5 +7778,10 @@
|
||||
],
|
||||
|
||||
"(method 12 effect-control)": [["_stack_", 112, "res-tag"]],
|
||||
|
||||
"generic-tie-execute": [
|
||||
[118, "v1", "terrain-context"],
|
||||
[124, "v1", "terrain-context"]
|
||||
],
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
||||
@@ -2034,6 +2034,10 @@ void add_vertices_and_static_draw(tfrag3::TieTree& tree,
|
||||
|
||||
// loop over all prototypes
|
||||
for (auto& proto : protos) {
|
||||
if (proto.uses_generic) {
|
||||
// generic ties go through generic
|
||||
continue;
|
||||
}
|
||||
// bool using_wind = true; // hack, for testing
|
||||
bool using_wind = proto.stiffness != 0.f;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user