mirror of
https://github.com/open-goal/jak-project
synced 2026-08-13 04:10:18 -04:00
[decomp] make anim-tester decompilable (#719)
* make `anim-tester` decompile * add the anon behaviors * fix tests
This commit is contained in:
+194
-100
@@ -7598,7 +7598,7 @@
|
||||
(:methods
|
||||
(new (symbol type process art-joint-geo) _type_ 0)
|
||||
(dummy-9 (_type_) (pointer int8) 9)
|
||||
(dummy-10 (_type_ int int) int 10)
|
||||
(dummy-10 (_type_ int) int 10)
|
||||
(dummy-11 (_type_ pointer) int 11)
|
||||
)
|
||||
)
|
||||
@@ -9082,6 +9082,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
(declare-type effect-control basic)
|
||||
(deftype joint-control (basic)
|
||||
((status uint16 :offset-assert 4)
|
||||
(allocated-length int16 :offset-assert 6)
|
||||
@@ -9090,8 +9091,8 @@
|
||||
(active-channels int32 :offset-assert 24)
|
||||
(generate-frame-function basic :offset-assert 28)
|
||||
(prebind-function basic :offset-assert 32)
|
||||
(postbind-function basic :offset-assert 36)
|
||||
(effect basic :offset-assert 40)
|
||||
(postbind-function function :offset-assert 36)
|
||||
(effect effect-control :offset-assert 40)
|
||||
(channel joint-control-channel 3 :inline :offset-assert 48) ;; actually dynamic?
|
||||
(frame-group0 art-joint-anim :offset 60)
|
||||
(frame-num0 float :offset 64)
|
||||
@@ -13742,7 +13743,7 @@
|
||||
(define-extern *camera-init-mat* matrix)
|
||||
(define-extern *camera* camera-master)
|
||||
(define-extern *camera-combiner* camera-combiner)
|
||||
(define-extern *camera-orbit-target* process-drawable)
|
||||
(define-extern *camera-orbit-target* (pointer process-drawable))
|
||||
|
||||
|
||||
;; ----------------------
|
||||
@@ -18026,7 +18027,7 @@
|
||||
;;(define-extern *CAM_FREE-bank* object) ;; unknown type
|
||||
;;(define-extern *CAM_POINT_WATCH-bank* object) ;; unknown type
|
||||
;;(define-extern cam-point-watch object) ;; unknown type
|
||||
;;(define-extern cam-orbit object) ;; unknown type
|
||||
(define-extern cam-orbit state) ;; unknown type
|
||||
|
||||
|
||||
;; ----------------------
|
||||
@@ -20998,6 +20999,7 @@
|
||||
(tailpred glst-node :offset-assert 8)
|
||||
(numelem int32 :offset-assert 12)
|
||||
)
|
||||
:allow-misaligned
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
@@ -21047,114 +21049,206 @@
|
||||
|
||||
;; - Types
|
||||
|
||||
; (deftype anim-test-sequence (UNKNOWN)
|
||||
; ()
|
||||
; :method-count-assert 0
|
||||
; :size-assert #x0
|
||||
; :flag-assert #x0
|
||||
; ;; bad get label
|
||||
; )
|
||||
(deftype list-control (structure)
|
||||
((listfunc (function int list-control symbol) :offset-assert 0)
|
||||
(list-owner uint32 :offset-assert 4)
|
||||
(top int32 :offset-assert 8)
|
||||
(left int32 :offset-assert 12)
|
||||
(list glst-list :offset-assert 16)
|
||||
(the-node glst-node :offset-assert 20)
|
||||
(top-index int32 :offset-assert 24)
|
||||
(the-index int32 :offset-assert 28)
|
||||
(the-disp-line int32 :offset-assert 32)
|
||||
(highlight-index int32 :offset-assert 36)
|
||||
(current-index int32 :offset-assert 40)
|
||||
(numlines int32 :offset-assert 44)
|
||||
(lines-to-disp int32 :offset-assert 48)
|
||||
(charswide int32 :offset-assert 52)
|
||||
(highlight-disp-line int32 :offset-assert 56)
|
||||
(field-id int32 :offset-assert 60)
|
||||
(xpos int32 :offset-assert 64)
|
||||
(ypos int32 :offset-assert 68)
|
||||
(user-info int32 :offset-assert 72)
|
||||
(user-info-u uint32 :offset 72) ;; custom
|
||||
(return-int int32 :offset-assert 76)
|
||||
)
|
||||
:allow-misaligned
|
||||
:method-count-assert 9
|
||||
:size-assert #x50
|
||||
:flag-assert #x900000050
|
||||
)
|
||||
|
||||
; (deftype anim-test-seq-item (UNKNOWN)
|
||||
; ()
|
||||
; :method-count-assert 0
|
||||
; :size-assert #x0
|
||||
; :flag-assert #x0
|
||||
; ;; bad get label
|
||||
; )
|
||||
(deftype list-field (structure)
|
||||
((left int32 :offset-assert 0)
|
||||
(width int32 :offset-assert 4)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x8
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|
||||
; (deftype anim-tester (UNKNOWN)
|
||||
; ()
|
||||
; :method-count-assert 0
|
||||
; :size-assert #x0
|
||||
; :flag-assert #x0
|
||||
; ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN
|
||||
; )
|
||||
(deftype DISP_LIST-bank (basic)
|
||||
((TV_SPACING int32 :offset-assert 4)
|
||||
(BORDER_WIDTH int32 :offset-assert 8)
|
||||
(BORDER_HEIGHT int32 :offset-assert 12)
|
||||
(MAX_LINES int32 :offset-assert 16)
|
||||
(CHAR_WIDTH int32 :offset-assert 20)
|
||||
(INC_DELAY int32 :offset-assert 24)
|
||||
(BORDER_LINES int32 :offset-assert 28)
|
||||
(CXOFF int32 :offset-assert 32)
|
||||
(CYOFF int32 :offset-assert 36)
|
||||
(BXOFF int32 :offset-assert 40)
|
||||
(BYOFF int32 :offset-assert 44)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x30
|
||||
:flag-assert #x900000030
|
||||
)
|
||||
|
||||
; (deftype list-control (UNKNOWN)
|
||||
; ()
|
||||
; :method-count-assert 0
|
||||
; :size-assert #x0
|
||||
; :flag-assert #x0
|
||||
; ;; bad get label
|
||||
; )
|
||||
(deftype anim-tester-bank (basic)
|
||||
((ANIM_SPEED float :offset-assert 4)
|
||||
(BLEND float :offset-assert 8)
|
||||
(OBJECT_LIST_X int32 :offset-assert 12)
|
||||
(OBJECT_LIST_Y int32 :offset-assert 16)
|
||||
(OBJECT_LIST_MIN_WIDTH int32 :offset-assert 20)
|
||||
(ANIM_LIST_X int32 :offset-assert 24)
|
||||
(ANIM_LIST_Y int32 :offset-assert 28)
|
||||
(ANIM_LIST_MIN_WIDTH int32 :offset-assert 32)
|
||||
(PICK_LIST_X int32 :offset-assert 36)
|
||||
(PICK_LIST_Y int32 :offset-assert 40)
|
||||
(PICK_LIST_MIN_WIDTH int32 :offset-assert 44)
|
||||
(EDIT_LIST_X int32 :offset-assert 48)
|
||||
(EDIT_LIST_Y int32 :offset-assert 52)
|
||||
(EDIT_STATS_X int32 :offset-assert 56)
|
||||
(EDIT_LIST_MIN_WIDTH int32 :offset-assert 60)
|
||||
(EDIT_PICK_X int32 :offset-assert 64)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x44
|
||||
:flag-assert #x900000044
|
||||
)
|
||||
|
||||
; (deftype list-field (UNKNOWN)
|
||||
; ()
|
||||
; :method-count-assert 0
|
||||
; :size-assert #x0
|
||||
; :flag-assert #x0
|
||||
; ;; bad get label
|
||||
; )
|
||||
(deftype anim-tester (process-drawable)
|
||||
((flags int32 :offset-assert 176)
|
||||
(obj-list glst-list :inline :offset-assert 180)
|
||||
(current-obj string :offset-assert 196)
|
||||
(speed int32 :offset-assert 200)
|
||||
(list-con list-control :inline :offset-assert 204)
|
||||
(pick-con list-control :inline :offset-assert 284)
|
||||
(item-field int64 :offset-assert 368)
|
||||
(inc-delay int32 :offset-assert 376)
|
||||
(inc-timer int32 :offset-assert 380)
|
||||
(edit-mode int32 :offset-assert 384)
|
||||
(old-mode int32 :offset-assert 388)
|
||||
(anim-speed float :offset-assert 392)
|
||||
(anim-gspeed float :offset-assert 396)
|
||||
(anim-first float :offset-assert 400)
|
||||
(anim-last float :offset-assert 404)
|
||||
)
|
||||
:method-count-assert 20
|
||||
:size-assert #x198
|
||||
:heap-base #x130
|
||||
:flag-assert #x1401300198
|
||||
)
|
||||
|
||||
; (deftype DISP_LIST-bank (UNKNOWN)
|
||||
; ()
|
||||
; :method-count-assert 0
|
||||
; :size-assert #x0
|
||||
; :flag-assert #x0
|
||||
; ;; bad get label
|
||||
; )
|
||||
(deftype anim-test-obj (glst-named-node)
|
||||
((obj-art-group art-group :offset-assert 12)
|
||||
(seq-list glst-list :inline :offset-assert 16)
|
||||
(flags int32 :offset-assert 32)
|
||||
(mesh-geo merc-ctrl :offset-assert 36)
|
||||
(joint-geo art-joint-geo :offset-assert 40)
|
||||
(list-con list-control :inline :offset-assert 44)
|
||||
(parent uint32 :offset-assert 124)
|
||||
(anim-index int32 :offset-assert 128)
|
||||
(anim-hindex int32 :offset-assert 132)
|
||||
(seq-index int32 :offset-assert 136)
|
||||
(seq-hindex int32 :offset-assert 140)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x90
|
||||
:flag-assert #x900000090
|
||||
(:methods
|
||||
(new (symbol type int string basic) _type_ 0)
|
||||
)
|
||||
)
|
||||
|
||||
; (deftype anim-tester-bank (UNKNOWN)
|
||||
; ()
|
||||
; :method-count-assert 0
|
||||
; :size-assert #x0
|
||||
; :flag-assert #x0
|
||||
; ;; bad get label
|
||||
; )
|
||||
(deftype anim-test-sequence (glst-named-node)
|
||||
((item-list glst-list :inline :offset-assert 12)
|
||||
(playing-item int32 :offset-assert 28)
|
||||
(flags int32 :offset-assert 32)
|
||||
(list-con list-control :inline :offset-assert 36)
|
||||
(parent anim-test-obj :offset-assert 116)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x78
|
||||
:flag-assert #x900000078
|
||||
(:methods
|
||||
(new (symbol type int string) _type_ 0)
|
||||
)
|
||||
)
|
||||
|
||||
; (deftype anim-test-obj (UNKNOWN)
|
||||
; ()
|
||||
; :method-count-assert 0
|
||||
; :size-assert #x0
|
||||
; :flag-assert #x0
|
||||
; ;; bad get label
|
||||
; )
|
||||
(deftype anim-test-seq-item (glst-named-node)
|
||||
((speed int32 :offset-assert 12)
|
||||
(blend int32 :offset-assert 16)
|
||||
(first-frame float :offset-assert 20)
|
||||
(last-frame float :offset-assert 24)
|
||||
(num-frames float :offset-assert 28)
|
||||
(artist-base float :offset-assert 32)
|
||||
(flags int32 :offset-assert 36)
|
||||
(parent anim-test-sequence :offset-assert 40)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x2c
|
||||
:flag-assert #x90000002c
|
||||
(:methods
|
||||
(new (symbol type int string) _type_ 0)
|
||||
)
|
||||
)
|
||||
|
||||
;; - Functions
|
||||
|
||||
(define-extern anim-test-edit-sequence-list-handler function)
|
||||
(define-extern anim-test-seq-mark-as-edited function)
|
||||
(define-extern anim-tester-start function)
|
||||
(define-extern anim-tester-add-newobj function)
|
||||
(define-extern anim-tester-stop function)
|
||||
(define-extern initialize-anim-tester function)
|
||||
(define-extern anim-tester-save-object-seqs function)
|
||||
(define-extern anim-tester-num-print (function symbol float none))
|
||||
(define-extern anim-test-obj-list-handler function)
|
||||
(define-extern anim-tester-standard-event-handler function)
|
||||
(define-extern anim-tester-reset function)
|
||||
(define-extern anim-tester-get-playing-item function)
|
||||
(define-extern anim-tester-update-anim-info function)
|
||||
(define-extern anim-tester-interface function)
|
||||
(define-extern display-list-control function)
|
||||
(define-extern anim-test-anim-list-handler function)
|
||||
(define-extern anim-test-sequence-list-handler function)
|
||||
(define-extern anim-tester-disp-frame-num function)
|
||||
(define-extern anim-test-seq-item-copy! function)
|
||||
(define-extern anim-tester-adjust-frame function)
|
||||
(define-extern anim-test-edit-seq-insert-item function)
|
||||
(define-extern anim-tester-pick-item-setup function)
|
||||
(define-extern anim-tester-save-all-objects function)
|
||||
(define-extern anim-tester-real-post function)
|
||||
(define-extern anim-test-obj-item-valid? function)
|
||||
(define-extern anim-test-obj-init function)
|
||||
(define-extern anim-test-sequence-init function)
|
||||
(define-extern anim-test-obj-remove-invalid function)
|
||||
(define-extern anim-tester-post function)
|
||||
(define-extern anim-tester-string-get-frame!! function)
|
||||
(define-extern anim-tester-load-object-seqs function)
|
||||
(define-extern anim-tester-add-object function)
|
||||
(define-extern anim-tester-set-name function)
|
||||
(define-extern anim-tester-add-sequence function)
|
||||
(define-extern anim-test-edit-sequence-list-handler (function int list-control symbol))
|
||||
(define-extern anim-test-seq-mark-as-edited (function anim-test-sequence none))
|
||||
(define-extern anim-tester-start (function none))
|
||||
(define-extern anim-tester-add-newobj (function anim-tester string art-group none))
|
||||
(define-extern anim-tester-stop (function none))
|
||||
(define-extern initialize-anim-tester (function none :behavior anim-tester))
|
||||
(define-extern anim-tester-save-object-seqs (function anim-test-obj none))
|
||||
(define-extern anim-tester-num-print (function basic float none))
|
||||
(define-extern anim-test-obj-list-handler (function int list-control symbol))
|
||||
(define-extern anim-tester-standard-event-handler (function process int symbol event-message-block object :behavior anim-tester))
|
||||
(define-extern anim-tester-reset (function none :behavior anim-tester))
|
||||
(define-extern anim-tester-get-playing-item (function anim-test-sequence anim-test-seq-item))
|
||||
(define-extern anim-tester-update-anim-info (function anim-test-seq-item none :behavior anim-tester))
|
||||
(define-extern anim-tester-interface (function none :behavior anim-tester))
|
||||
(define-extern display-list-control (function list-control none))
|
||||
(define-extern anim-test-anim-list-handler (function int list-control symbol))
|
||||
(define-extern anim-test-sequence-list-handler (function int list-control symbol))
|
||||
(define-extern anim-tester-disp-frame-num (function string float float font-context none))
|
||||
(define-extern anim-test-seq-item-copy! (function anim-test-seq-item anim-test-seq-item none))
|
||||
(define-extern anim-tester-adjust-frame (function float float none))
|
||||
(define-extern anim-test-edit-seq-insert-item (function anim-test-seq-item anim-test-sequence none))
|
||||
(define-extern anim-tester-pick-item-setup (function anim-test-seq-item anim-test-sequence none))
|
||||
(define-extern anim-tester-save-all-objects (function anim-tester none))
|
||||
(define-extern anim-tester-real-post (function none :behavior anim-tester))
|
||||
(define-extern anim-test-obj-item-valid? (function anim-test-obj anim-test-seq-item symbol))
|
||||
(define-extern anim-test-obj-init (function anim-test-obj list-control none))
|
||||
(define-extern anim-test-sequence-init (function anim-test-sequence anim-test-obj none))
|
||||
(define-extern anim-test-obj-remove-invalid (function anim-test-obj none))
|
||||
(define-extern anim-tester-post (function none :behavior anim-tester))
|
||||
(define-extern anim-tester-string-get-frame!! (function list-field string none))
|
||||
(define-extern anim-tester-load-object-seqs (function symbol))
|
||||
(define-extern anim-tester-add-object (function string none))
|
||||
(define-extern anim-tester-set-name (function string object))
|
||||
(define-extern anim-tester-add-sequence (function string none))
|
||||
|
||||
;; - Unknowns
|
||||
|
||||
;;(define-extern *anim-tester* object) ;; unknown type
|
||||
;;(define-extern *ANIM_TESTER-bank* object) ;; unknown type
|
||||
;;(define-extern anim-tester-process object) ;; unknown type
|
||||
;;(define-extern anim-test-field-highlight-lw object) ;; unknown type
|
||||
;;(define-extern *DISP_LIST-bank* object) ;; unknown type
|
||||
(define-extern *anim-tester* (pointer anim-tester)) ;; unknown type
|
||||
(define-extern *ANIM_TESTER-bank* anim-tester-bank) ;; unknown type
|
||||
(define-extern anim-tester-process (state none)) ;; unknown type
|
||||
(define-extern anim-test-field-highlight-lw (inline-array list-field))
|
||||
(define-extern *DISP_LIST-bank* DISP_LIST-bank) ;; unknown type
|
||||
(define-extern *debug-menu-context* debug-menu-context)
|
||||
|
||||
|
||||
|
||||
@@ -572,6 +572,12 @@
|
||||
[3, "(function basic symbol)"],
|
||||
[2, "(function process symbol)"]
|
||||
],
|
||||
|
||||
"anim-tester": [
|
||||
[11, "(function none :behavior anim-tester)"],
|
||||
[12, "(function none :behavior anim-tester)"],
|
||||
[13, "(function none :behavior anim-tester)"]
|
||||
],
|
||||
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
||||
@@ -378,7 +378,7 @@
|
||||
"ocean-interp-wave",
|
||||
|
||||
// anim-tester BUG
|
||||
"anim-tester-add-newobj",
|
||||
//"anim-tester-add-newobj",
|
||||
|
||||
// nav-enemy BUG
|
||||
"(anon-function 28 nav-enemy)",
|
||||
|
||||
@@ -1275,6 +1275,15 @@
|
||||
["L37", "uint64", true],
|
||||
["L38", "uint64", true]
|
||||
],
|
||||
|
||||
"anim-tester": [
|
||||
["L615", "_auto_", true],
|
||||
["L592", "_auto_", true],
|
||||
["L509", "(inline-array list-field)", true, 12],
|
||||
["L123", "_lambda_", true],
|
||||
["L119", "_lambda_", true],
|
||||
["L86", "_lambda_", true]
|
||||
],
|
||||
|
||||
// please do not add things after this entry! git is dumb.
|
||||
"object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": []
|
||||
|
||||
@@ -560,6 +560,23 @@
|
||||
[80, "vector"],
|
||||
[96, "vector"]
|
||||
],
|
||||
|
||||
"anim-tester-save-object-seqs": [
|
||||
[16, "file-stream"]
|
||||
],
|
||||
|
||||
"anim-test-obj-list-handler": [[16, "event-message-block"]],
|
||||
"anim-test-anim-list-handler": [[16, "event-message-block"]],
|
||||
"anim-test-sequence-list-handler": [[16, "event-message-block"]],
|
||||
"anim-test-edit-sequence-list-handler": [[16, "event-message-block"]],
|
||||
"anim-test-edit-seq-insert-item": [[16, "event-message-block"]],
|
||||
"anim-test-edit-sequence-list-handler": [
|
||||
[112, "event-message-block"],
|
||||
[16, "font-context"]
|
||||
],
|
||||
"anim-tester-add-newobj": [[16, "event-message-block"]],
|
||||
"anim-tester-start": [[16, "event-message-block"]],
|
||||
"anim-tester-add-sequence": [[16, "event-message-block"]],
|
||||
|
||||
"placeholder-do-not-add-below!": []
|
||||
}
|
||||
|
||||
@@ -1266,6 +1266,225 @@
|
||||
[23, "v1", "float"],
|
||||
[36, "v1", "uint"]
|
||||
],
|
||||
|
||||
"(method 0 anim-test-obj)": [
|
||||
[9, "s4", "anim-test-obj"],
|
||||
[10, "s4", "anim-test-obj"],
|
||||
[13, "s4", "anim-test-obj"],
|
||||
[15, "s4", "anim-test-obj"]
|
||||
],
|
||||
|
||||
"(method 0 anim-test-sequence)": [
|
||||
[8, "s5", "anim-test-sequence"],
|
||||
[11, "s5", "anim-test-sequence"],
|
||||
[13, "s5", "anim-test-sequence"]
|
||||
],
|
||||
|
||||
"(method 0 anim-test-seq-item)": [
|
||||
[8, "v1", "anim-test-seq-item"],
|
||||
[10, "v0", "anim-test-seq-item"],
|
||||
[11, "v0", "anim-test-seq-item"],
|
||||
[14, "v0", "anim-test-seq-item"],
|
||||
[17, "v0", "anim-test-seq-item"]
|
||||
],
|
||||
|
||||
"(method 3 anim-tester)": [
|
||||
[12, "s5", "anim-test-obj"],
|
||||
[15, "s5", "anim-test-obj"],
|
||||
[148, "s5", "anim-test-obj"],
|
||||
[150, "s5", "anim-test-obj"],
|
||||
[22, "s4", "anim-test-sequence"],
|
||||
[28, "s4", "anim-test-sequence"],
|
||||
[38, "s4", "anim-test-sequence"],
|
||||
[48, "s4", "anim-test-sequence"],
|
||||
[59, "s4", "anim-test-sequence"],
|
||||
[137, "s4", "anim-test-sequence"],
|
||||
[139, "s4", "anim-test-sequence"],
|
||||
[66, "s3", "anim-test-seq-item"],
|
||||
[70, "s3", "anim-test-seq-item"],
|
||||
[75, "s3", "anim-test-seq-item"],
|
||||
[79, "s3", "anim-test-seq-item"],
|
||||
[88, "s3", "anim-test-seq-item"],
|
||||
[94, "s3", "anim-test-seq-item"],
|
||||
[104, "s3", "anim-test-seq-item"],
|
||||
[114, "s3", "anim-test-seq-item"],
|
||||
[126, "s3", "anim-test-seq-item"],
|
||||
[128, "s3", "anim-test-seq-item"]
|
||||
],
|
||||
|
||||
"anim-test-obj-item-valid?": [
|
||||
[5, "s5", "anim-test-sequence"],
|
||||
[12, "s5", "anim-test-sequence"],
|
||||
[17, "s5", "anim-test-sequence"],
|
||||
[36, "s5", "anim-test-sequence"],
|
||||
[38, "s5", "anim-test-sequence"],
|
||||
[20, "v1", "anim-test-seq-item"],
|
||||
[26, "v1", "anim-test-seq-item"],
|
||||
[28, "v1", "anim-test-seq-item"]
|
||||
],
|
||||
|
||||
"anim-test-obj-remove-invalid": [
|
||||
[84, "v1", "anim-test-sequence"],
|
||||
[88, "v1", "anim-test-sequence"],
|
||||
[90, "v1", "anim-test-sequence"],
|
||||
[92, "v1", "anim-test-sequence"],
|
||||
[93, "v1", "anim-test-sequence"],
|
||||
[91, "a0", "anim-test-sequence"],
|
||||
[5, "s5", "anim-test-sequence"],
|
||||
[8, "s5", "anim-test-sequence"],
|
||||
[11, "s5", "anim-test-sequence"],
|
||||
[30, "s5", "anim-test-sequence"],
|
||||
[44, "s5", "anim-test-sequence"],
|
||||
[51, "s5", "anim-test-sequence"],
|
||||
[58, "s5", "anim-test-sequence"],
|
||||
[67, "s5", "anim-test-sequence"],
|
||||
[70, "s4", "anim-test-sequence"],
|
||||
[71, "s5", "anim-test-sequence"],
|
||||
[72, "s5", "anim-test-sequence"],
|
||||
[15, "s3", "anim-test-seq-item"],
|
||||
[18, "s3", "anim-test-seq-item"],
|
||||
[24, "s3", "anim-test-seq-item"],
|
||||
[31, "s3", "anim-test-seq-item"],
|
||||
[34, "s2", "anim-test-seq-item"],
|
||||
[35, "s3", "anim-test-seq-item"],
|
||||
[36, "s3", "anim-test-seq-item"],
|
||||
[61, "a0", "anim-test-seq-item"]
|
||||
],
|
||||
|
||||
"anim-tester-reset": [
|
||||
[14, "v1", "anim-test-obj"],
|
||||
[30, "v1", "anim-test-obj"],
|
||||
[33, "v1", "anim-test-obj"],
|
||||
[36, "v1", "anim-test-obj"],
|
||||
[43, "v1", "anim-test-obj"],
|
||||
[[50, 53], "v1", "anim-test-obj"]
|
||||
],
|
||||
|
||||
"anim-tester-save-all-objects": [
|
||||
[[4, 19], "gp", "anim-test-obj"],
|
||||
[17, "v1", "anim-test-obj"]
|
||||
],
|
||||
|
||||
"anim-tester-save-object-seqs": [
|
||||
[63, "s5", "anim-test-sequence"],
|
||||
[69, "s5", "anim-test-sequence"],
|
||||
[65, "s5", "anim-test-sequence"],
|
||||
[75, "s5", "anim-test-sequence"],
|
||||
[79, "s5", "anim-test-sequence"],
|
||||
[133, "s5", "anim-test-sequence"],
|
||||
[141, "s5", "anim-test-sequence"],
|
||||
[142, "v1", "anim-test-sequence"],
|
||||
[143, "s5", "anim-test-sequence"],
|
||||
[83, "s4", "anim-test-seq-item"],
|
||||
[89, "s4", "anim-test-seq-item"],
|
||||
[91, "s4", "anim-test-seq-item"],
|
||||
[92, "s4", "anim-test-seq-item"],
|
||||
[96, "s4", "anim-test-seq-item"],
|
||||
[105, "s4", "anim-test-seq-item"],
|
||||
[111, "s4", "anim-test-seq-item"],
|
||||
[120, "s4", "anim-test-seq-item"],
|
||||
[121, "v1", "anim-test-seq-item"],
|
||||
[122, "s4", "anim-test-seq-item"]
|
||||
],
|
||||
|
||||
"anim-test-obj-list-handler": [
|
||||
[25, "s5", "anim-test-obj"],
|
||||
[31, "s5", "anim-test-obj"],
|
||||
[110, "s5", "anim-test-obj"],
|
||||
[166, "s5", "anim-test-obj"],
|
||||
[112, "v1", "anim-tester"]
|
||||
],
|
||||
|
||||
"anim-test-anim-list-handler": [
|
||||
[2, "s5", "anim-test-obj"],
|
||||
[25, "s5", "anim-test-obj"],
|
||||
[65, "s5", "anim-test-obj"],
|
||||
[227, "s5", "anim-test-obj"],
|
||||
[90, "v1", "anim-test-obj"],
|
||||
[91, "v1", "anim-test-obj"],
|
||||
[100, "v1", "anim-test-obj"],
|
||||
[105, "v1", "anim-test-obj"],
|
||||
[130, "v1", "anim-test-obj"],
|
||||
[131, "v1", "anim-test-obj"],
|
||||
[140, "v1", "anim-test-obj"],
|
||||
[145, "v1", "anim-test-obj"],
|
||||
[167, "v1", "anim-test-obj"],
|
||||
[169, "v1", "anim-test-obj"],
|
||||
[171, "v1", "anim-test-obj"],
|
||||
[173, "v1", "anim-test-obj"]
|
||||
],
|
||||
|
||||
"anim-test-sequence-list-handler": [
|
||||
[2, "s5", "anim-test-sequence"],
|
||||
[25, "s5", "anim-test-sequence"],
|
||||
[31, "s5", "anim-test-sequence"],
|
||||
[71, "s5", "anim-test-sequence"],
|
||||
[231, "s5", "anim-test-sequence"],
|
||||
[96, "v1", "anim-test-sequence"],
|
||||
[97, "v1", "anim-test-sequence"],
|
||||
[106, "v1", "anim-test-sequence"],
|
||||
[111, "v1", "anim-test-sequence"],
|
||||
[136, "v1", "anim-test-sequence"],
|
||||
[137, "v1", "anim-test-sequence"],
|
||||
[146, "v1", "anim-test-sequence"],
|
||||
[151, "v1", "anim-test-sequence"]
|
||||
],
|
||||
|
||||
"anim-test-edit-sequence-list-handler": [
|
||||
[[122, 965], "s4", "anim-test-sequence"],
|
||||
[129, "v1", "glst-named-node"],
|
||||
[[128, 909], "gp", "anim-test-seq-item"],
|
||||
[380, "v0", "anim-test-obj"],
|
||||
[381, "v0", "anim-test-obj"],
|
||||
[382, "v0", "anim-test-obj"],
|
||||
[389, "v0", "anim-test-obj"],
|
||||
[483, "s3", "anim-test-seq-item"],
|
||||
[491, "s3", "anim-test-seq-item"],
|
||||
[502, "s3", "anim-test-seq-item"]
|
||||
],
|
||||
|
||||
"anim-tester-interface": [
|
||||
[[34, 48], "gp", "anim-test-obj"],
|
||||
[[95, 109], "gp", "anim-test-obj"],
|
||||
[[156, 160], "v1", "anim-test-obj"],
|
||||
[[162, 165], "v1", "anim-test-sequence"]
|
||||
],
|
||||
|
||||
"anim-tester-get-playing-item": [
|
||||
[7, "v0", "anim-test-seq-item"],
|
||||
[[5, 22], "s5", "anim-test-seq-item"],
|
||||
[21, "v0", "anim-test-seq-item"],
|
||||
[25, "v0", "anim-test-seq-item"]
|
||||
],
|
||||
|
||||
"anim-tester-add-newobj": [
|
||||
[[2, 185], "s2", "anim-test-obj"],
|
||||
[[70, 193], "s5", "anim-test-obj"],
|
||||
[149, "v1", "anim-test-sequence"],
|
||||
[154, "v1", "anim-test-sequence"],
|
||||
[160, "v1", "anim-test-sequence"],
|
||||
[164, "a0", "art-joint-anim"],
|
||||
[170, "a0", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"anim-tester-start": [
|
||||
[20, "t9", "(function process function none)"]
|
||||
],
|
||||
|
||||
"anim-tester-set-name": [
|
||||
[[34, 51], "s3", "anim-test-obj"],
|
||||
[[40, 63], "s5", "anim-test-sequence"]
|
||||
],
|
||||
|
||||
"anim-tester-add-sequence": [
|
||||
[[33, 102], "s5", "anim-test-obj"]
|
||||
],
|
||||
|
||||
"(anon-function 11 anim-tester)": [
|
||||
[[23, 113], "s4", "anim-test-obj"],
|
||||
[[83, 338], "gp", "anim-test-sequence"],
|
||||
[[123, 187], "s4", "art-joint-anim"]
|
||||
],
|
||||
|
||||
"(method 10 bsp-header)": [
|
||||
[[51, 61], "a0", "(pointer uint128)"],
|
||||
|
||||
@@ -2554,6 +2554,41 @@
|
||||
"sv-64": "spool-sound"
|
||||
}
|
||||
},
|
||||
|
||||
"(method 3 anim-tester)": {
|
||||
"vars": {
|
||||
"s5-0": ["s5-0", "anim-test-obj"],
|
||||
"s4-0": ["s4-0", "anim-test-sequence"],
|
||||
"s3-0": ["s3-0", "anim-test-seq-item"]
|
||||
}
|
||||
},
|
||||
|
||||
"anim-test-obj-item-valid?": {
|
||||
"vars": {
|
||||
"s5-0": ["s5-0", "anim-test-sequence"]
|
||||
}
|
||||
},
|
||||
|
||||
"anim-test-obj-remove-invalid": {
|
||||
"vars": {
|
||||
//"s5-0": ["s5-0", "anim-test-sequence"],
|
||||
"v1-31": ["v1-31", "anim-test-sequence"],
|
||||
"s3-0": ["s3-0", "anim-test-seq-item"],
|
||||
"s2-0": ["s2-0", "anim-test-seq-item"]
|
||||
}
|
||||
},
|
||||
|
||||
"anim-tester-reset": {
|
||||
"vars": {
|
||||
"v1-1": ["v1-1", "anim-test-obj"]
|
||||
}
|
||||
},
|
||||
|
||||
"anim-tester-save-object-seqs": {
|
||||
"vars": {
|
||||
"s4-2": ["s4-2", "anim-test-seq-item"]
|
||||
}
|
||||
},
|
||||
|
||||
"sprite-setup-header": {
|
||||
"args": ["hdr", "num-sprites"]
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
(declare-type effect-control basic)
|
||||
(deftype joint-control (basic)
|
||||
((status uint16 :offset-assert 4)
|
||||
(allocated-length int16 :offset-assert 6)
|
||||
@@ -36,8 +37,8 @@
|
||||
(active-channels int32 :offset-assert 24)
|
||||
(generate-frame-function basic :offset-assert 28)
|
||||
(prebind-function basic :offset-assert 32)
|
||||
(postbind-function basic :offset-assert 36)
|
||||
(effect basic :offset-assert 40)
|
||||
(postbind-function function :offset-assert 36)
|
||||
(effect effect-control :offset-assert 40)
|
||||
(channel joint-control-channel 3 :inline :offset-assert 48) ;; actually dynamic?
|
||||
(frame-group0 art-joint-anim :offset 60)
|
||||
(frame-num0 float :offset 64)
|
||||
|
||||
@@ -15,6 +15,6 @@
|
||||
(define-perm *camera-init-mat* matrix #f)
|
||||
(define-perm *camera* camera-master #f)
|
||||
(define-perm *camera-combiner* camera-combiner #f)
|
||||
(define-perm *camera-orbit-target* process-drawable #f)
|
||||
(define-perm *camera-orbit-target* (pointer process-drawable) #f)
|
||||
|
||||
(define-extern position-in-front-of-camera! (function vector float float vector))
|
||||
@@ -296,7 +296,7 @@
|
||||
(:methods
|
||||
(new (symbol type process art-joint-geo) _type_ 0)
|
||||
(dummy-9 (_type_) (pointer int8) 9)
|
||||
(dummy-10 (_type_ int int) int 10)
|
||||
(dummy-10 (_type_ int) int 10)
|
||||
(dummy-11 (_type_ pointer) int 11)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
|
||||
;; This whole linked list system is hellspawn! Whoever made this is insane and a danger to society
|
||||
;; Very very weird linked list system.
|
||||
;; TODO add examples because this is extremely confusing.
|
||||
|
||||
(when *debug-segment*
|
||||
|
||||
@@ -33,6 +34,7 @@
|
||||
(tailpred glst-node :offset-assert 8)
|
||||
(numelem int32 :offset-assert 12)
|
||||
)
|
||||
:allow-misaligned
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
@@ -101,6 +103,7 @@
|
||||
|
||||
(defun-debug glst-set-name! ((node glst-named-node) (name string))
|
||||
"Set the name of the node"
|
||||
(declare (inline))
|
||||
|
||||
(set! (-> node privname) name)
|
||||
)
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
|
||||
(let ((max-len 0))
|
||||
(glst-iterate-named-list list node
|
||||
(let ((len ((method-of-type string length) (-> node privname)))) ;; TODO method call
|
||||
(let ((len (length (-> node privname))))
|
||||
(when (< max-len len)
|
||||
(set! max-len len)
|
||||
)
|
||||
|
||||
@@ -51,8 +51,8 @@
|
||||
(active-channels int32 :offset-assert 24)
|
||||
(generate-frame-function basic :offset-assert 28)
|
||||
(prebind-function basic :offset-assert 32)
|
||||
(postbind-function basic :offset-assert 36)
|
||||
(effect basic :offset-assert 40)
|
||||
(postbind-function function :offset-assert 36)
|
||||
(effect effect-control :offset-assert 40)
|
||||
(channel joint-control-channel 3 :inline :offset-assert 48)
|
||||
(frame-group0 art-joint-anim :offset 60)
|
||||
(frame-num0 float :offset 64)
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
;; definition (perm) for symbol *camera-combiner*, type camera-combiner
|
||||
(define-perm *camera-combiner* camera-combiner #f)
|
||||
|
||||
;; definition (perm) for symbol *camera-orbit-target*, type process-drawable
|
||||
(define-perm *camera-orbit-target* process-drawable #f)
|
||||
;; definition (perm) for symbol *camera-orbit-target*, type (pointer process-drawable)
|
||||
(define-perm *camera-orbit-target* (pointer process-drawable) #f)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
@@ -450,7 +450,7 @@
|
||||
(:methods
|
||||
(new (symbol type process art-joint-geo) _type_ 0)
|
||||
(dummy-9 (_type_) (pointer int8) 9)
|
||||
(dummy-10 (_type_ int int) int 10)
|
||||
(dummy-10 (_type_ int) int 10)
|
||||
(dummy-11 (_type_ pointer) int 11)
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user