mirror of
https://github.com/open-goal/jak-project
synced 2026-09-06 19:21:00 -04:00
deftype and defmethod syntax major changes (#3094)
Major change to how `deftype` shows up in our code: - the decompiler will no longer emit the `offset-assert`, `method-count-assert`, `size-assert` and `flag-assert` parameters. There are extremely few cases where having this in the decompiled code is helpful, as the types there come from `all-types` which already has those parameters. This also doesn't break type consistency because: - the asserts aren't compared. - the first step of the test uses `all-types`, which has the asserts, which will throw an error if they're bad. - the decompiler won't emit the `heap-base` parameter unless necessary now. - the decompiler will try its hardest to turn a fixed-offset field into an `overlay-at` field. It falls back to the old offset if all else fails. - `overlay-at` now supports field "dereferencing" to specify the offset that's within a field that's a structure, e.g.: ```lisp (deftype foobar (structure) ((vec vector :inline) (flags int32 :overlay-at (-> vec w)) ) ) ``` in this structure, the offset of `flags` will be 12 because that is the final offset of `vec`'s `w` field within this structure. - **removed ID from all method declarations.** IDs are only ever automatically assigned now. Fixes #3068. - added an `:overlay` parameter to method declarations, in order to declare a new method that goes on top of a previously-defined method. Syntax is `:overlay <method-name>`. Please do not ever use this. - added `state-methods` list parameter. This lets you quickly specify a list of states to be put in the method table. Same syntax as the `states` list parameter. The decompiler will try to put as many states in this as it can without messing with the method ID order. Also changes `defmethod` to make the first type definition (before the arguments) optional. The type can now be inferred from the first argument. Fixes #3093. --------- Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
This commit is contained in:
+5
-8
@@ -3,18 +3,15 @@
|
||||
|
||||
;; definition of type decomp-work
|
||||
(deftype decomp-work (structure)
|
||||
((buffer0 uint8 2048 :offset-assert 0)
|
||||
(buffer1 uint8 2048 :offset-assert 2048)
|
||||
(indices uint16 2048 :offset-assert 4096)
|
||||
(temp-indices uint16 2048 :offset-assert 8192)
|
||||
((buffer0 uint8 2048)
|
||||
(buffer1 uint8 2048)
|
||||
(indices uint16 2048)
|
||||
(temp-indices uint16 2048)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x3000
|
||||
:flag-assert #x900003000
|
||||
)
|
||||
|
||||
;; definition for method 3 of type decomp-work
|
||||
(defmethod inspect decomp-work ((this decomp-work))
|
||||
(defmethod inspect ((this decomp-work))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
|
||||
+4
-7
@@ -40,16 +40,13 @@
|
||||
|
||||
;; definition of type huf-dictionary-node
|
||||
(deftype huf-dictionary-node (structure)
|
||||
((zero uint16 :offset-assert 0)
|
||||
(one uint16 :offset-assert 2)
|
||||
((zero uint16)
|
||||
(one uint16)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x4
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|
||||
;; definition for method 3 of type huf-dictionary-node
|
||||
(defmethod inspect huf-dictionary-node ((this huf-dictionary-node))
|
||||
(defmethod inspect ((this huf-dictionary-node))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -259,7 +256,7 @@
|
||||
|
||||
;; definition for method 16 of type level
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod update-vis! level ((this level) (vis-info level-vis-info) (unused uint) (in-bsp-vis-string (pointer uint8)))
|
||||
(defmethod update-vis! ((this level) (vis-info level-vis-info) (unused uint) (in-bsp-vis-string (pointer uint8)))
|
||||
(local-vars (t0-3 uint128) (extra-vis-length int) (extra-vis-dest (pointer int8)))
|
||||
(let* ((cam-leaf-idx (-> vis-info from-bsp current-leaf-idx))
|
||||
(curr-vis-string-offset (-> vis-info current-vis-string))
|
||||
|
||||
+15
-21
@@ -3,21 +3,18 @@
|
||||
|
||||
;; definition of type file-stream
|
||||
(deftype file-stream (basic)
|
||||
((flags uint32 :offset-assert 4)
|
||||
(mode symbol :offset-assert 8)
|
||||
(name string :offset-assert 12)
|
||||
(file uint32 :offset-assert 16)
|
||||
((flags uint32)
|
||||
(mode symbol)
|
||||
(name string)
|
||||
(file uint32)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x14
|
||||
:flag-assert #x900000014
|
||||
(:methods
|
||||
(new (symbol type string symbol) _type_ 0)
|
||||
(new (symbol type string symbol) _type_)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type file-stream
|
||||
(defmethod inspect file-stream ((this file-stream))
|
||||
(defmethod inspect ((this file-stream))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -50,21 +47,18 @@
|
||||
|
||||
;; definition of type file-info
|
||||
(deftype file-info (basic)
|
||||
((file-type (pointer string) :offset-assert 4)
|
||||
(file-name basic :offset-assert 8)
|
||||
(major-version uint32 :offset-assert 12)
|
||||
(minor-version uint32 :offset-assert 16)
|
||||
(maya-file-name basic :offset-assert 20)
|
||||
(tool-debug basic :offset-assert 24)
|
||||
(mdb-file-name basic :offset-assert 28)
|
||||
((file-type (pointer string))
|
||||
(file-name basic)
|
||||
(major-version uint32)
|
||||
(minor-version uint32)
|
||||
(maya-file-name basic)
|
||||
(tool-debug basic)
|
||||
(mdb-file-name basic)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x20
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type file-info
|
||||
(defmethod inspect file-info ((this file-info))
|
||||
(defmethod inspect ((this file-info))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -82,7 +76,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 2 of type file-info
|
||||
(defmethod print file-info ((this file-info))
|
||||
(defmethod print ((this file-info))
|
||||
(format
|
||||
#t
|
||||
"#<~A ~A :version ~D.~D @ #x~X>"
|
||||
|
||||
+27
-39
@@ -3,22 +3,19 @@
|
||||
|
||||
;; definition of type load-dgo-msg
|
||||
(deftype load-dgo-msg (structure)
|
||||
((rsvd uint16 :offset-assert 0)
|
||||
(result load-msg-result :offset-assert 2)
|
||||
(b1 pointer :offset-assert 4)
|
||||
(b2 pointer :offset-assert 8)
|
||||
(bt pointer :offset-assert 12)
|
||||
(name uint128 :offset-assert 16)
|
||||
(address uint32 :offset 4)
|
||||
((rsvd uint16)
|
||||
(result load-msg-result)
|
||||
(b1 pointer)
|
||||
(b2 pointer)
|
||||
(bt pointer)
|
||||
(name uint128)
|
||||
(address uint32 :overlay-at b1)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x20
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type load-dgo-msg
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect load-dgo-msg ((this load-dgo-msg))
|
||||
(defmethod inspect ((this load-dgo-msg))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -37,21 +34,18 @@
|
||||
|
||||
;; definition of type load-chunk-msg
|
||||
(deftype load-chunk-msg (structure)
|
||||
((rsvd uint16 :offset-assert 0)
|
||||
(result load-msg-result :offset-assert 2)
|
||||
(address pointer :offset-assert 4)
|
||||
(section uint32 :offset-assert 8)
|
||||
(maxlen uint32 :offset-assert 12)
|
||||
(dummy uint32 4 :offset-assert 16)
|
||||
(basename sound-stream-name :inline :offset-assert 32)
|
||||
((rsvd uint16)
|
||||
(result load-msg-result)
|
||||
(address pointer)
|
||||
(section uint32)
|
||||
(maxlen uint32)
|
||||
(dummy uint32 4)
|
||||
(basename sound-stream-name :inline)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x50
|
||||
:flag-assert #x900000050
|
||||
)
|
||||
|
||||
;; definition for method 3 of type load-chunk-msg
|
||||
(defmethod inspect load-chunk-msg ((this load-chunk-msg))
|
||||
(defmethod inspect ((this load-chunk-msg))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -70,21 +64,18 @@
|
||||
|
||||
;; definition of type play-chunk-msg
|
||||
(deftype play-chunk-msg (structure)
|
||||
((rsvd uint16 :offset-assert 0)
|
||||
(result uint16 :offset-assert 2)
|
||||
(address pointer :offset-assert 4)
|
||||
(section uint32 :offset-assert 8)
|
||||
(maxlen uint32 :offset-assert 12)
|
||||
(id uint32 4 :offset-assert 16)
|
||||
(basename sound-stream-name 4 :inline :offset-assert 32)
|
||||
((rsvd uint16)
|
||||
(result uint16)
|
||||
(address pointer)
|
||||
(section uint32)
|
||||
(maxlen uint32)
|
||||
(id uint32 4)
|
||||
(basename sound-stream-name 4 :inline)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #xe0
|
||||
:flag-assert #x9000000e0
|
||||
)
|
||||
|
||||
;; definition for method 3 of type play-chunk-msg
|
||||
(defmethod inspect play-chunk-msg ((this play-chunk-msg))
|
||||
(defmethod inspect ((this play-chunk-msg))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -103,16 +94,13 @@
|
||||
|
||||
;; definition of type dgo-header
|
||||
(deftype dgo-header (structure)
|
||||
((length uint32 :offset-assert 0)
|
||||
(rootname uint8 60 :offset-assert 4)
|
||||
((length uint32)
|
||||
(rootname uint8 60)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x40
|
||||
:flag-assert #x900000040
|
||||
)
|
||||
|
||||
;; definition for method 3 of type dgo-header
|
||||
(defmethod inspect dgo-header ((this dgo-header))
|
||||
(defmethod inspect ((this dgo-header))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
|
||||
+13
-13
@@ -2,7 +2,7 @@
|
||||
(in-package goal)
|
||||
|
||||
;; definition for method 2 of type level-buffer-state
|
||||
(defmethod print level-buffer-state ((this level-buffer-state))
|
||||
(defmethod print ((this level-buffer-state))
|
||||
(format
|
||||
#t
|
||||
"#<level-buffer-state ~A ~A ~A ~A @ #x~X>"
|
||||
@@ -16,7 +16,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type load-state
|
||||
(defmethod reset! load-state ((this load-state))
|
||||
(defmethod reset! ((this load-state))
|
||||
(dotimes (v1-0 6)
|
||||
(set! (-> this want v1-0 name) #f)
|
||||
(set! (-> this want v1-0 display?) #f)
|
||||
@@ -35,7 +35,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 11 of type load-state
|
||||
(defmethod want-levels load-state ((this load-state) (arg0 (pointer symbol)))
|
||||
(defmethod want-levels ((this load-state) (arg0 (pointer symbol)))
|
||||
(dotimes (v1-0 6)
|
||||
(dotimes (a2-0 6)
|
||||
(when (= (-> this want v1-0 name) (-> arg0 a2-0))
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
;; definition for method 12 of type load-state
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod want-sound-banks load-state ((this load-state) (arg0 (pointer symbol)))
|
||||
(defmethod want-sound-banks ((this load-state) (arg0 (pointer symbol)))
|
||||
(dotimes (v1-0 3)
|
||||
(dotimes (a2-0 3)
|
||||
(when (= (-> this want-sound v1-0) (-> arg0 a2-0))
|
||||
@@ -93,7 +93,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 13 of type load-state
|
||||
(defmethod want-display-level load-state ((this load-state) (arg0 symbol) (arg1 symbol))
|
||||
(defmethod want-display-level ((this load-state) (arg0 symbol) (arg1 symbol))
|
||||
(dotimes (v1-0 6)
|
||||
(when (= (-> this want v1-0 name) arg0)
|
||||
(set! (-> this want v1-0 display?) arg1)
|
||||
@@ -109,7 +109,7 @@
|
||||
|
||||
;; definition for method 14 of type load-state
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod want-vis-level load-state ((this load-state) (arg0 symbol))
|
||||
(defmethod want-vis-level ((this load-state) (arg0 symbol))
|
||||
(let ((v1-0 (lookup-level-info arg0)))
|
||||
(if v1-0
|
||||
(set! arg0 (-> v1-0 name))
|
||||
@@ -121,7 +121,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 15 of type load-state
|
||||
(defmethod want-force-vis load-state ((this load-state) (arg0 symbol) (arg1 symbol))
|
||||
(defmethod want-force-vis ((this load-state) (arg0 symbol) (arg1 symbol))
|
||||
(dotimes (v1-0 6)
|
||||
(when (= (-> this want v1-0 name) arg0)
|
||||
(set! (-> this want v1-0 force-vis?) arg1)
|
||||
@@ -135,7 +135,7 @@
|
||||
;; definition for method 16 of type load-state
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; WARN: Function (method 16 load-state) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod want-force-inside load-state ((this load-state) (arg0 symbol) (arg1 symbol))
|
||||
(defmethod want-force-inside ((this load-state) (arg0 symbol) (arg1 symbol))
|
||||
(dotimes (v1-0 6)
|
||||
(when (= (-> this want v1-0 name) arg0)
|
||||
(set! (-> this want v1-0 force-inside?) arg1)
|
||||
@@ -150,7 +150,7 @@
|
||||
;; definition for method 21 of type load-state
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; ERROR: Failed load: (set! a0-11 (l.wu (+ a0-10 12))) at op 138
|
||||
(defmethod add-borrow-levels load-state ((this load-state))
|
||||
(defmethod add-borrow-levels ((this load-state))
|
||||
(dotimes (s5-0 6)
|
||||
(let ((a0-1 (-> this want s5-0 name)))
|
||||
(when a0-1
|
||||
@@ -245,7 +245,7 @@
|
||||
(define *display-load-commands* #f)
|
||||
|
||||
;; definition for method 18 of type load-state
|
||||
(defmethod backup-load-state-and-set-cmds load-state ((this load-state) (arg0 pair))
|
||||
(defmethod backup-load-state-and-set-cmds ((this load-state) (arg0 pair))
|
||||
(dotimes (s4-0 256)
|
||||
(when (-> this object-name s4-0)
|
||||
(format 0 "WARNING: load state somehow aquired object command ~A~%" (-> this object-name s4-0))
|
||||
@@ -259,7 +259,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 19 of type load-state
|
||||
(defmethod restore-load-state-and-cleanup load-state ((this load-state))
|
||||
(defmethod restore-load-state-and-cleanup ((this load-state))
|
||||
(with-pp
|
||||
(execute-commands-up-to this 100000.0)
|
||||
(dotimes (s5-0 256)
|
||||
@@ -293,7 +293,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 20 of type load-state
|
||||
(defmethod restore-load-state load-state ((this load-state))
|
||||
(defmethod restore-load-state ((this load-state))
|
||||
(dotimes (v1-0 256)
|
||||
(if (-> this object-name v1-0)
|
||||
(set! (-> this object-name v1-0) #f)
|
||||
@@ -306,7 +306,7 @@
|
||||
;; definition for method 17 of type load-state
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; WARN: Function (method 17 load-state) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod execute-commands-up-to load-state ((this load-state) (arg0 float))
|
||||
(defmethod execute-commands-up-to ((this load-state) (arg0 float))
|
||||
(with-pp
|
||||
(let ((s4-0 (new 'stack 'script-context (process->ppointer pp) pp (the-as vector #f))))
|
||||
(set! (-> s4-0 load-state) this)
|
||||
|
||||
+74
-95
@@ -3,29 +3,23 @@
|
||||
|
||||
;; definition of type load-dir
|
||||
(deftype load-dir (basic)
|
||||
((lev level :offset-assert 4)
|
||||
(string-array (array string) :offset-assert 8)
|
||||
(data-array (array basic) :offset-assert 12)
|
||||
((lev level)
|
||||
(string-array (array string))
|
||||
(data-array (array basic))
|
||||
)
|
||||
:method-count-assert 11
|
||||
:size-assert #x10
|
||||
:flag-assert #xb00000010
|
||||
(:methods
|
||||
(new (symbol type int level) _type_ 0)
|
||||
(load-to-heap-by-name (_type_ string symbol kheap int) art-group 9)
|
||||
(set-loaded-art (_type_ art-group) art-group 10)
|
||||
(new (symbol type int level) _type_)
|
||||
(load-to-heap-by-name (_type_ string symbol kheap int) art-group)
|
||||
(set-loaded-art (_type_ art-group) art-group)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type load-dir-art-group
|
||||
(deftype load-dir-art-group (load-dir)
|
||||
((art-group-array (array art-group) :offset 12)
|
||||
((art-group-array (array art-group) :overlay-at data-array)
|
||||
)
|
||||
:method-count-assert 11
|
||||
:size-assert #x10
|
||||
:flag-assert #xb00000010
|
||||
(:methods
|
||||
(new (symbol type int level) _type_ 0)
|
||||
(new (symbol type int level) _type_)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -54,44 +48,41 @@
|
||||
|
||||
;; definition of type external-art-buffer
|
||||
(deftype external-art-buffer (basic)
|
||||
((index int32 :offset-assert 4)
|
||||
(other external-art-buffer :offset-assert 8)
|
||||
(status symbol :offset-assert 12)
|
||||
(locked? symbol :offset-assert 16)
|
||||
(login? symbol :offset-assert 20)
|
||||
(frame-lock symbol :offset-assert 24)
|
||||
(init-heap (function external-art-buffer object) :offset-assert 28)
|
||||
(heap kheap :inline :offset-assert 32)
|
||||
(pending-load-file string :offset-assert 48)
|
||||
(pending-load-file-part int32 :offset-assert 52)
|
||||
(pending-load-file-owner handle :offset-assert 56)
|
||||
(pending-load-file-priority float :offset-assert 64)
|
||||
(load-file string :offset-assert 68)
|
||||
(load-file-part int32 :offset-assert 72)
|
||||
(load-file-owner handle :offset-assert 80)
|
||||
(load-file-priority float :offset-assert 88)
|
||||
(buf pointer :offset-assert 92)
|
||||
(len int32 :offset-assert 96)
|
||||
(art-group art-group :offset-assert 100)
|
||||
(art-data uint32 :offset 100)
|
||||
((index int32)
|
||||
(other external-art-buffer)
|
||||
(status symbol)
|
||||
(locked? symbol)
|
||||
(login? symbol)
|
||||
(frame-lock symbol)
|
||||
(init-heap (function external-art-buffer object))
|
||||
(heap kheap :inline)
|
||||
(pending-load-file string)
|
||||
(pending-load-file-part int32)
|
||||
(pending-load-file-owner handle)
|
||||
(pending-load-file-priority float)
|
||||
(load-file string)
|
||||
(load-file-part int32)
|
||||
(load-file-owner handle)
|
||||
(load-file-priority float)
|
||||
(buf pointer)
|
||||
(len int32)
|
||||
(art-group art-group)
|
||||
(art-data uint32 :overlay-at art-group)
|
||||
)
|
||||
:method-count-assert 16
|
||||
:size-assert #x68
|
||||
:flag-assert #x1000000068
|
||||
(:methods
|
||||
(new (symbol type int function symbol) _type_ 0)
|
||||
(set-pending-file (_type_ string int handle float) int 9)
|
||||
(update (_type_) int 10)
|
||||
(inactive? (_type_) symbol 11)
|
||||
(file-status (_type_ string int) symbol 12)
|
||||
(link-file (_type_ art-group) art-group 13)
|
||||
(unlink-file (_type_ art-group) int 14)
|
||||
(unlock! (_type_) int 15)
|
||||
(new (symbol type int function symbol) _type_)
|
||||
(set-pending-file (_type_ string int handle float) int)
|
||||
(update (_type_) int)
|
||||
(inactive? (_type_) symbol)
|
||||
(file-status (_type_ string int) symbol)
|
||||
(link-file (_type_ art-group) art-group)
|
||||
(unlink-file (_type_ art-group) int)
|
||||
(unlock! (_type_) int)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type external-art-buffer
|
||||
(defmethod inspect external-art-buffer ((this external-art-buffer))
|
||||
(defmethod inspect ((this external-art-buffer))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -145,22 +136,19 @@
|
||||
|
||||
;; definition of type spool-anim
|
||||
(deftype spool-anim (basic)
|
||||
((name string :offset 16)
|
||||
(anim-name basic :offset-assert 20)
|
||||
(buffer external-art-buffer :offset 20)
|
||||
(parts int32 :offset-assert 24)
|
||||
(hint-id int32 :offset 24)
|
||||
(priority float :offset-assert 28)
|
||||
(owner handle :offset-assert 32)
|
||||
(command-list pair :offset-assert 40)
|
||||
((name string :offset 16)
|
||||
(anim-name basic)
|
||||
(buffer external-art-buffer :overlay-at anim-name)
|
||||
(parts int32)
|
||||
(hint-id int32 :overlay-at parts)
|
||||
(priority float)
|
||||
(owner handle)
|
||||
(command-list pair)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x2c
|
||||
:flag-assert #x90000002c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type spool-anim
|
||||
(defmethod inspect spool-anim ((this spool-anim))
|
||||
(defmethod inspect ((this spool-anim))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -179,34 +167,31 @@
|
||||
|
||||
;; definition of type external-art-control
|
||||
(deftype external-art-control (basic)
|
||||
((buffer external-art-buffer 2 :offset-assert 4)
|
||||
(rec spool-anim 3 :inline :offset-assert 16)
|
||||
(spool-lock handle :offset-assert 160)
|
||||
(reserve-buffer external-art-buffer :offset-assert 168)
|
||||
(reserve-buffer-count int16 :offset-assert 172)
|
||||
(dma-reserve-buffer-count int16 :offset-assert 174)
|
||||
(active-stream string :offset-assert 176)
|
||||
(queue-stream (array spool-anim) :offset-assert 180)
|
||||
(frame-mask uint32 :offset-assert 184)
|
||||
(dma-reserve-heap kheap :inline :offset-assert 192)
|
||||
((buffer external-art-buffer 2)
|
||||
(rec spool-anim 3 :inline)
|
||||
(spool-lock handle)
|
||||
(reserve-buffer external-art-buffer)
|
||||
(reserve-buffer-count int16)
|
||||
(dma-reserve-buffer-count int16)
|
||||
(active-stream string)
|
||||
(queue-stream (array spool-anim))
|
||||
(frame-mask uint32)
|
||||
(dma-reserve-heap kheap :inline)
|
||||
)
|
||||
:method-count-assert 16
|
||||
:size-assert #xd0
|
||||
:flag-assert #x10000000d0
|
||||
(:methods
|
||||
(new (symbol type) _type_ 0)
|
||||
(update (_type_ symbol) int 9)
|
||||
(clear-rec (_type_) int 10)
|
||||
(spool-push (_type_ string int process float) int 11)
|
||||
(file-status (_type_ string int) symbol 12)
|
||||
(reserve-alloc (_type_) kheap 13)
|
||||
(reserve-free (_type_ kheap) int 14)
|
||||
(none-reserved? (_type_) symbol 15)
|
||||
(new (symbol type) _type_)
|
||||
(update (_type_ symbol) int)
|
||||
(clear-rec (_type_) int)
|
||||
(spool-push (_type_ string int process float) int)
|
||||
(file-status (_type_ string int) symbol)
|
||||
(reserve-alloc (_type_) kheap)
|
||||
(reserve-free (_type_ kheap) int)
|
||||
(none-reserved? (_type_) symbol)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type external-art-control
|
||||
(defmethod inspect external-art-control ((this external-art-control))
|
||||
(defmethod inspect ((this external-art-control))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -255,17 +240,14 @@
|
||||
|
||||
;; definition of type subtitle-range
|
||||
(deftype subtitle-range (basic)
|
||||
((start-frame float :offset-assert 4)
|
||||
(end-frame float :offset-assert 8)
|
||||
(message basic 8 :offset-assert 12)
|
||||
((start-frame float)
|
||||
(end-frame float)
|
||||
(message basic 8)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x2c
|
||||
:flag-assert #x90000002c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type subtitle-range
|
||||
(defmethod inspect subtitle-range ((this subtitle-range))
|
||||
(defmethod inspect ((this subtitle-range))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-7)
|
||||
@@ -283,18 +265,15 @@
|
||||
|
||||
;; definition of type subtitle-image
|
||||
(deftype subtitle-image (basic)
|
||||
((width uint16 :offset-assert 4)
|
||||
(height uint16 :offset-assert 6)
|
||||
(palette rgba 16 :offset 16)
|
||||
(data uint8 :dynamic :offset-assert 80)
|
||||
((width uint16)
|
||||
(height uint16)
|
||||
(palette rgba 16 :offset 16)
|
||||
(data uint8 :dynamic)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x50
|
||||
:flag-assert #x900000050
|
||||
)
|
||||
|
||||
;; definition for method 3 of type subtitle-image
|
||||
(defmethod inspect subtitle-image ((this subtitle-image))
|
||||
(defmethod inspect ((this subtitle-image))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
|
||||
+79
-82
@@ -2,7 +2,7 @@
|
||||
(in-package goal)
|
||||
|
||||
;; definition for method 8 of type subtitle-range
|
||||
(defmethod mem-usage subtitle-range ((this subtitle-range) (arg0 memory-usage-block) (arg1 int))
|
||||
(defmethod mem-usage ((this subtitle-range) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 length) (max 73 (-> arg0 length)))
|
||||
(set! (-> arg0 data 72 name) "subtitle")
|
||||
(+! (-> arg0 data 72 count) 1)
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
;; definition for method 3 of type load-dir
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect load-dir ((this load-dir))
|
||||
(defmethod inspect ((this load-dir))
|
||||
(local-vars (sv-16 basic))
|
||||
(format #t "[~8x] ~A~%" this (-> this type))
|
||||
(format #t "~Tlevel: ~A~%" (-> this lev))
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
;; definition for method 8 of type load-dir
|
||||
;; WARN: Return type mismatch symbol vs load-dir.
|
||||
(defmethod mem-usage load-dir ((this load-dir) (arg0 memory-usage-block) (arg1 int))
|
||||
(defmethod mem-usage ((this load-dir) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 length) (max 85 (-> arg0 length)))
|
||||
(set! (-> arg0 data 84 name) "array")
|
||||
(+! (-> arg0 data 84 count) 1)
|
||||
@@ -68,7 +68,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type load-dir-art-group
|
||||
(defmethod load-to-heap-by-name load-dir-art-group ((this load-dir-art-group) (arg0 string) (arg1 symbol) (arg2 kheap) (arg3 int))
|
||||
(defmethod load-to-heap-by-name ((this load-dir-art-group) (arg0 string) (arg1 symbol) (arg2 kheap) (arg3 int))
|
||||
(let ((s5-0 (-> this string-array)))
|
||||
(dotimes (s3-0 (-> s5-0 length))
|
||||
(when (string= arg0 (-> s5-0 s3-0))
|
||||
@@ -95,7 +95,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 10 of type load-dir-art-group
|
||||
(defmethod set-loaded-art load-dir-art-group ((this load-dir-art-group) (arg0 art-group))
|
||||
(defmethod set-loaded-art ((this load-dir-art-group) (arg0 art-group))
|
||||
(let ((s4-0 (-> this string-array)))
|
||||
(dotimes (s3-0 (-> s4-0 length))
|
||||
(when (string= (-> arg0 name) (-> s4-0 s3-0))
|
||||
@@ -179,7 +179,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 2 of type external-art-buffer
|
||||
(defmethod print external-art-buffer ((this external-art-buffer))
|
||||
(defmethod print ((this external-art-buffer))
|
||||
(format
|
||||
#t
|
||||
"#<~A ~S ~D ~A @ #x~X>"
|
||||
@@ -204,7 +204,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type external-art-buffer
|
||||
(defmethod set-pending-file external-art-buffer ((this external-art-buffer) (arg0 string) (arg1 int) (arg2 handle) (arg3 float))
|
||||
(defmethod set-pending-file ((this external-art-buffer) (arg0 string) (arg1 int) (arg2 handle) (arg3 float))
|
||||
(set! (-> this pending-load-file) arg0)
|
||||
(set! (-> this pending-load-file-part) arg1)
|
||||
(set! (-> this pending-load-file-owner) arg2)
|
||||
@@ -213,18 +213,18 @@
|
||||
)
|
||||
|
||||
;; definition for method 15 of type external-art-buffer
|
||||
(defmethod unlock! external-art-buffer ((this external-art-buffer))
|
||||
(defmethod unlock! ((this external-art-buffer))
|
||||
(set! (-> this locked?) #f)
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for method 11 of type external-art-buffer
|
||||
(defmethod inactive? external-art-buffer ((this external-art-buffer))
|
||||
(defmethod inactive? ((this external-art-buffer))
|
||||
(!= (-> this status) 'active)
|
||||
)
|
||||
|
||||
;; definition for method 12 of type external-art-buffer
|
||||
(defmethod file-status external-art-buffer ((this external-art-buffer) (arg0 string) (arg1 int))
|
||||
(defmethod file-status ((this external-art-buffer) (arg0 string) (arg1 int))
|
||||
(when (and (name= (-> this pending-load-file) arg0) (= (-> this pending-load-file-part) arg1))
|
||||
(if (and (name= (-> this load-file) arg0) (= (-> this load-file-part) arg1))
|
||||
(-> this status)
|
||||
@@ -234,7 +234,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 13 of type art-group
|
||||
(defmethod link-art! art-group ((this art-group))
|
||||
(defmethod link-art! ((this art-group))
|
||||
(when this
|
||||
(countdown (s5-0 (-> this length))
|
||||
(let* ((s3-0 (-> this data s5-0))
|
||||
@@ -287,7 +287,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 14 of type art-group
|
||||
(defmethod unlink-art! art-group ((this art-group))
|
||||
(defmethod unlink-art! ((this art-group))
|
||||
(when this
|
||||
(countdown (s5-0 (-> this length))
|
||||
(let* ((s3-0 (-> this data s5-0))
|
||||
@@ -325,7 +325,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 13 of type external-art-buffer
|
||||
(defmethod link-file external-art-buffer ((this external-art-buffer) (arg0 art-group))
|
||||
(defmethod link-file ((this external-art-buffer) (arg0 art-group))
|
||||
(when arg0
|
||||
(link-art! arg0)
|
||||
(set! (-> this art-group) arg0)
|
||||
@@ -334,7 +334,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 14 of type external-art-buffer
|
||||
(defmethod unlink-file external-art-buffer ((this external-art-buffer) (arg0 art-group))
|
||||
(defmethod unlink-file ((this external-art-buffer) (arg0 art-group))
|
||||
(when arg0
|
||||
(unlink-art! arg0)
|
||||
(set! (-> this art-group) #f)
|
||||
@@ -344,7 +344,7 @@
|
||||
|
||||
;; definition for method 10 of type external-art-buffer
|
||||
;; WARN: Found some very strange gotos. Check result carefully, this is not well tested.
|
||||
(defmethod update external-art-buffer ((this external-art-buffer))
|
||||
(defmethod update ((this external-art-buffer))
|
||||
(when (or (not (name= (-> this pending-load-file) (-> this load-file)))
|
||||
(!= (-> this pending-load-file-part) (-> this load-file-part))
|
||||
)
|
||||
@@ -530,7 +530,7 @@
|
||||
(define *preload-spool-anims* #t)
|
||||
|
||||
;; definition for method 12 of type external-art-control
|
||||
(defmethod file-status external-art-control ((this external-art-control) (arg0 string) (arg1 int))
|
||||
(defmethod file-status ((this external-art-control) (arg0 string) (arg1 int))
|
||||
(dotimes (s3-0 2)
|
||||
(let ((v1-3 (file-status (-> this buffer s3-0) arg0 arg1)))
|
||||
(if v1-3
|
||||
@@ -542,7 +542,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type external-art-control
|
||||
(defmethod update external-art-control ((this external-art-control) (arg0 symbol))
|
||||
(defmethod update ((this external-art-control) (arg0 symbol))
|
||||
(if (nonzero? (-> this reserve-buffer-count))
|
||||
(spool-push this "reserved" 0 *dproc* (if (-> this reserve-buffer)
|
||||
-110.0
|
||||
@@ -667,12 +667,12 @@
|
||||
)
|
||||
|
||||
;; definition for method 15 of type external-art-control
|
||||
(defmethod none-reserved? external-art-control ((this external-art-control))
|
||||
(defmethod none-reserved? ((this external-art-control))
|
||||
(zero? (-> this reserve-buffer-count))
|
||||
)
|
||||
|
||||
;; definition for method 13 of type external-art-control
|
||||
(defmethod reserve-alloc external-art-control ((this external-art-control))
|
||||
(defmethod reserve-alloc ((this external-art-control))
|
||||
(cond
|
||||
((or (nonzero? (-> this dma-reserve-buffer-count)) (= *master-mode* 'progress))
|
||||
(set! (-> this dma-reserve-buffer-count) 1)
|
||||
@@ -697,7 +697,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 14 of type external-art-control
|
||||
(defmethod reserve-free external-art-control ((this external-art-control) (arg0 kheap))
|
||||
(defmethod reserve-free ((this external-art-control) (arg0 kheap))
|
||||
(cond
|
||||
((nonzero? (-> this dma-reserve-buffer-count))
|
||||
(set! (-> this dma-reserve-buffer-count) 0)
|
||||
@@ -726,7 +726,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 10 of type external-art-control
|
||||
(defmethod clear-rec external-art-control ((this external-art-control))
|
||||
(defmethod clear-rec ((this external-art-control))
|
||||
(dotimes (v1-0 3)
|
||||
(set! (-> this rec v1-0 type) spool-anim)
|
||||
(set! (-> this rec v1-0 name) #f)
|
||||
@@ -738,7 +738,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 11 of type external-art-control
|
||||
(defmethod spool-push external-art-control ((this external-art-control) (arg0 string) (arg1 int) (arg2 process) (arg3 float))
|
||||
(defmethod spool-push ((this external-art-control) (arg0 string) (arg1 int) (arg2 process) (arg3 float))
|
||||
(when (and (= arg3 -99.0) arg2)
|
||||
(let ((a0-2 (target-pos 0)))
|
||||
(set! arg3 (vector-vector-distance a0-2 (-> (the-as process-drawable arg2) root trans)))
|
||||
@@ -798,31 +798,28 @@
|
||||
|
||||
;; definition of type spooler-block
|
||||
(deftype spooler-block (basic)
|
||||
((anim spool-anim :offset-assert 4)
|
||||
(idle art-joint-anim :offset-assert 8)
|
||||
(exit art-joint-anim :offset-assert 12)
|
||||
(break-func (function process-drawable object) :offset-assert 16)
|
||||
(part int32 :offset-assert 20)
|
||||
(part-audio-start float :offset-assert 24)
|
||||
(old-status uint16 :offset-assert 28)
|
||||
(old-pos int32 :offset-assert 32)
|
||||
(good-time time-frame :offset-assert 40)
|
||||
(old-time time-frame :offset-assert 48)
|
||||
(good-count int32 :offset-assert 56)
|
||||
(sid sound-id :offset-assert 60)
|
||||
(real-start-time time-frame :offset-assert 64)
|
||||
(paused? symbol :offset-assert 72)
|
||||
((anim spool-anim)
|
||||
(idle art-joint-anim)
|
||||
(exit art-joint-anim)
|
||||
(break-func (function process-drawable object))
|
||||
(part int32)
|
||||
(part-audio-start float)
|
||||
(old-status uint16)
|
||||
(old-pos int32)
|
||||
(good-time time-frame)
|
||||
(old-time time-frame)
|
||||
(good-count int32)
|
||||
(sid sound-id)
|
||||
(real-start-time time-frame)
|
||||
(paused? symbol)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x4c
|
||||
:flag-assert #x90000004c
|
||||
(:methods
|
||||
(new (symbol type art-joint-anim (function process-drawable symbol)) _type_ 0)
|
||||
(new (symbol type art-joint-anim (function process-drawable symbol)) _type_)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type spooler-block
|
||||
(defmethod inspect spooler-block ((this spooler-block))
|
||||
(defmethod inspect ((this spooler-block))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -1211,7 +1208,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 3 of type gui-control
|
||||
(defmethod inspect gui-control ((this gui-control))
|
||||
(defmethod inspect ((this gui-control))
|
||||
(format #t "[~8x] ~A~%" this (-> this type))
|
||||
(format #t "~Tengine: ~A~%" (-> this engine))
|
||||
(let ((a2-2 (-> this engine alive-list next0)))
|
||||
@@ -1229,7 +1226,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 2 of type gui-connection
|
||||
(defmethod print gui-connection ((this gui-connection))
|
||||
(defmethod print ((this gui-connection))
|
||||
(let* ((t9-0 format)
|
||||
(a0-1 #t)
|
||||
(a1-0 "#<gc ~12S ~2D ~6D ~6,,0f ~7S ~8S ")
|
||||
@@ -1456,13 +1453,13 @@
|
||||
)
|
||||
|
||||
;; definition for method 24 of type gui-control
|
||||
(defmethod channel-id-set! gui-control ((this gui-control) (arg0 gui-connection) (arg1 sound-id))
|
||||
(defmethod channel-id-set! ((this gui-control) (arg0 gui-connection) (arg1 sound-id))
|
||||
(set! (-> this ids (-> arg0 channel)) arg1)
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for method 15 of type gui-control
|
||||
(defmethod lookup-gui-connection gui-control ((this gui-control) (arg0 process) (arg1 gui-channel) (arg2 string) (arg3 sound-id))
|
||||
(defmethod lookup-gui-connection ((this gui-control) (arg0 process) (arg1 gui-channel) (arg2 string) (arg3 sound-id))
|
||||
(let ((s1-0 (the-as gui-connection (-> this engine alive-list next0))))
|
||||
(-> this engine)
|
||||
(let ((s0-0 (-> s1-0 next0)))
|
||||
@@ -1498,7 +1495,7 @@
|
||||
|
||||
;; definition for method 14 of type gui-control
|
||||
;; WARN: Return type mismatch int vs sound-id.
|
||||
(defmethod lookup-gui-connection-id gui-control ((this gui-control) (arg0 string) (arg1 gui-channel) (arg2 gui-action))
|
||||
(defmethod lookup-gui-connection-id ((this gui-control) (arg0 string) (arg1 gui-channel) (arg2 gui-action))
|
||||
(let ((s2-0 (the-as gui-connection (-> this engine alive-list next0))))
|
||||
(-> this engine)
|
||||
(let ((s1-0 (-> s2-0 next0)))
|
||||
@@ -1530,7 +1527,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 20 of type gui-control
|
||||
(defmethod set-falloff! gui-control ((this gui-control) (arg0 sound-id) (arg1 symbol) (arg2 int) (arg3 int) (arg4 int))
|
||||
(defmethod set-falloff! ((this gui-control) (arg0 sound-id) (arg1 symbol) (arg2 int) (arg3 int) (arg4 int))
|
||||
(when (nonzero? arg0)
|
||||
(let ((v1-2 (lookup-gui-connection *gui-control* (the-as process #f) (gui-channel none) (the-as string #f) arg0)))
|
||||
(when v1-2
|
||||
@@ -1558,7 +1555,7 @@
|
||||
;; definition for method 18 of type gui-control
|
||||
;; WARN: Return type mismatch object vs symbol.
|
||||
;; WARN: disable def twice: 34. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare.
|
||||
(defmethod gui-control-method-18 gui-control ((this gui-control) (arg0 gui-channel))
|
||||
(defmethod gui-control-method-18 ((this gui-control) (arg0 gui-channel))
|
||||
(let ((v1-0 arg0))
|
||||
(the-as
|
||||
symbol
|
||||
@@ -1580,7 +1577,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 23 of type gui-control
|
||||
(defmethod handle-command gui-control ((this gui-control) (arg0 gui-channel) (arg1 gui-channel) (arg2 symbol) (arg3 gui-connection))
|
||||
(defmethod handle-command ((this gui-control) (arg0 gui-channel) (arg1 gui-channel) (arg2 symbol) (arg3 gui-connection))
|
||||
(let ((s5-0 (-> this ids arg1)))
|
||||
(cond
|
||||
((nonzero? s5-0)
|
||||
@@ -1652,7 +1649,7 @@
|
||||
|
||||
;; definition for method 19 of type gui-control
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod handle-command-list gui-control ((this gui-control) (arg0 gui-channel) (arg1 gui-connection))
|
||||
(defmethod handle-command-list ((this gui-control) (arg0 gui-channel) (arg1 gui-connection))
|
||||
(local-vars (sv-16 int) (sv-32 int) (sv-48 int))
|
||||
(let ((gp-0 #t))
|
||||
(cond
|
||||
@@ -1720,7 +1717,7 @@
|
||||
|
||||
;; definition for method 17 of type gui-control
|
||||
;; WARN: Return type mismatch int vs gui-status.
|
||||
(defmethod get-status gui-control ((this gui-control) (arg0 sound-id))
|
||||
(defmethod get-status ((this gui-control) (arg0 sound-id))
|
||||
(let ((gp-0 (the-as gui-connection #f)))
|
||||
(if (zero? arg0)
|
||||
(return (gui-status unknown))
|
||||
@@ -1854,15 +1851,15 @@
|
||||
)
|
||||
|
||||
;; definition for method 16 of type gui-control
|
||||
(defmethod set-action! gui-control ((this gui-control)
|
||||
(arg0 gui-action)
|
||||
(arg1 sound-id)
|
||||
(arg2 gui-channel)
|
||||
(arg3 gui-action)
|
||||
(arg4 string)
|
||||
(arg5 (function gui-connection symbol))
|
||||
(arg6 process)
|
||||
)
|
||||
(defmethod set-action! ((this gui-control)
|
||||
(arg0 gui-action)
|
||||
(arg1 sound-id)
|
||||
(arg2 gui-channel)
|
||||
(arg3 gui-action)
|
||||
(arg4 string)
|
||||
(arg5 (function gui-connection symbol))
|
||||
(arg6 process)
|
||||
)
|
||||
(local-vars (sv-16 gui-action) (sv-17 gui-action) (sv-20 string) (sv-24 (function gui-connection symbol)))
|
||||
(set! sv-16 arg0)
|
||||
(set! sv-17 arg3)
|
||||
@@ -1905,14 +1902,14 @@
|
||||
;; definition for method 9 of type gui-control
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs sound-id.
|
||||
(defmethod add-process gui-control ((this gui-control)
|
||||
(arg0 process)
|
||||
(arg1 gui-channel)
|
||||
(arg2 gui-action)
|
||||
(arg3 string)
|
||||
(arg4 float)
|
||||
(arg5 time-frame)
|
||||
)
|
||||
(defmethod add-process ((this gui-control)
|
||||
(arg0 process)
|
||||
(arg1 gui-channel)
|
||||
(arg2 gui-action)
|
||||
(arg3 string)
|
||||
(arg4 float)
|
||||
(arg5 time-frame)
|
||||
)
|
||||
(local-vars
|
||||
(sv-16 int)
|
||||
(sv-20 gui-connection)
|
||||
@@ -1979,7 +1976,7 @@
|
||||
|
||||
;; definition for method 10 of type gui-control
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod remove-process gui-control ((this gui-control) (arg0 process) (arg1 gui-channel))
|
||||
(defmethod remove-process ((this gui-control) (arg0 process) (arg1 gui-channel))
|
||||
(let ((s3-0 (the-as gui-connection (-> this engine alive-list next0))))
|
||||
(-> this engine)
|
||||
(let ((s2-0 (-> s3-0 next0)))
|
||||
@@ -2000,15 +1997,15 @@
|
||||
;; definition for method 12 of type gui-control
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs sound-id.
|
||||
(defmethod gui-control-method-12 gui-control ((this gui-control)
|
||||
(arg0 process)
|
||||
(arg1 gui-channel)
|
||||
(arg2 gui-action)
|
||||
(arg3 string)
|
||||
(arg4 int)
|
||||
(arg5 float)
|
||||
(arg6 sound-id)
|
||||
)
|
||||
(defmethod gui-control-method-12 ((this gui-control)
|
||||
(arg0 process)
|
||||
(arg1 gui-channel)
|
||||
(arg2 gui-action)
|
||||
(arg3 string)
|
||||
(arg4 int)
|
||||
(arg5 float)
|
||||
(arg6 sound-id)
|
||||
)
|
||||
(local-vars
|
||||
(sv-16 gui-connection)
|
||||
(sv-20 int)
|
||||
@@ -2101,7 +2098,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 21 of type gui-control
|
||||
(defmethod gui-control-method-21 gui-control ((this gui-control) (arg0 gui-connection) (arg1 vector))
|
||||
(defmethod gui-control-method-21 ((this gui-control) (arg0 gui-connection) (arg1 vector))
|
||||
(case (shr (the-as int (-> arg0 channel)) 4)
|
||||
((1 2)
|
||||
(let ((s5-0 (-> this spool-connections)))
|
||||
@@ -2173,7 +2170,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 11 of type gui-control
|
||||
(defmethod stop-str gui-control ((this gui-control) (arg0 gui-connection))
|
||||
(defmethod stop-str ((this gui-control) (arg0 gui-connection))
|
||||
(case (shr (the-as int (-> arg0 channel)) 4)
|
||||
((1 2)
|
||||
(if (= (get-status this (-> arg0 id)) (gui-status active))
|
||||
@@ -2189,7 +2186,7 @@
|
||||
|
||||
;; definition for method 22 of type gui-control
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod gui-control-method-22 gui-control ((this gui-control) (arg0 gui-connection) (arg1 process) (arg2 symbol))
|
||||
(defmethod gui-control-method-22 ((this gui-control) (arg0 gui-connection) (arg1 process) (arg2 symbol))
|
||||
(local-vars (v1-66 symbol) (v1-143 symbol))
|
||||
(with-pp
|
||||
(when (and (>= (the-as uint (-> arg0 channel)) (the-as uint 16))
|
||||
@@ -2408,7 +2405,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 13 of type gui-control
|
||||
(defmethod update gui-control ((this gui-control) (arg0 symbol))
|
||||
(defmethod update ((this gui-control) (arg0 symbol))
|
||||
(set! (-> this ids 65)
|
||||
(the-as sound-id (if (and (>= (-> *display* base-clock frame-counter) (-> *game-info* blackout-time))
|
||||
(= (-> *setting-control* user-current bg-a) 0.0)
|
||||
|
||||
+16
-25
@@ -3,19 +3,16 @@
|
||||
|
||||
;; definition of type ramdisk-rpc-fill
|
||||
(deftype ramdisk-rpc-fill (structure)
|
||||
((rsvd1 int32 :offset-assert 0)
|
||||
(ee-id int32 :offset-assert 4)
|
||||
(rsvd2 int32 2 :offset-assert 8)
|
||||
(filename uint128 :offset-assert 16)
|
||||
((rsvd1 int32)
|
||||
(ee-id int32)
|
||||
(rsvd2 int32 2)
|
||||
(filename uint128)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x20
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ramdisk-rpc-fill
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect ramdisk-rpc-fill ((this ramdisk-rpc-fill))
|
||||
(defmethod inspect ((this ramdisk-rpc-fill))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -31,18 +28,15 @@
|
||||
|
||||
;; definition of type ramdisk-rpc-load
|
||||
(deftype ramdisk-rpc-load (structure)
|
||||
((rsvd int32 :offset-assert 0)
|
||||
(ee-id int32 :offset-assert 4)
|
||||
(offset uint32 :offset-assert 8)
|
||||
(length uint32 :offset-assert 12)
|
||||
((rsvd int32)
|
||||
(ee-id int32)
|
||||
(offset uint32)
|
||||
(length uint32)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ramdisk-rpc-load
|
||||
(defmethod inspect ramdisk-rpc-load ((this ramdisk-rpc-load))
|
||||
(defmethod inspect ((this ramdisk-rpc-load))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -58,20 +52,17 @@
|
||||
|
||||
;; definition of type ramdisk-rpc-load-to-ee
|
||||
(deftype ramdisk-rpc-load-to-ee (structure)
|
||||
((rsvd int32 :offset-assert 0)
|
||||
(addr int32 :offset-assert 4)
|
||||
(offset int32 :offset-assert 8)
|
||||
(length int32 :offset-assert 12)
|
||||
(filename uint128 :offset-assert 16)
|
||||
((rsvd int32)
|
||||
(addr int32)
|
||||
(offset int32)
|
||||
(length int32)
|
||||
(filename uint128)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x20
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ramdisk-rpc-load-to-ee
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect ramdisk-rpc-load-to-ee ((this ramdisk-rpc-load-to-ee))
|
||||
(defmethod inspect ((this ramdisk-rpc-load-to-ee))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
|
||||
Reference in New Issue
Block a user