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:
ManDude
2023-10-30 03:20:02 +00:00
committed by GitHub
parent 09536c68ac
commit cd68cb671e
2079 changed files with 94384 additions and 117066 deletions
+41 -44
View File
@@ -34,37 +34,34 @@
;; definition of type actor-link-info
(deftype actor-link-info (basic)
((process process :offset-assert 4)
(next entity-actor :offset-assert 8)
(prev entity-actor :offset-assert 12)
((process process)
(next entity-actor)
(prev entity-actor)
)
:method-count-assert 26
:size-assert #x10
:flag-assert #x1a00000010
(:methods
(new (symbol type process symbol) _type_ 0)
(get-matching-actor-type-mask (_type_ type) int 9)
(actor-count-before (_type_) int 10)
(link-to-next-and-prev-actor (_type_) actor-link-info 11)
(get-next (_type_) entity-actor 12)
(get-prev (_type_) entity-actor 13)
(get-next-process (_type_) process 14)
(get-prev-process (_type_) process 15)
(apply-function-forward (_type_ (function entity-actor object object) object) int 16)
(apply-function-reverse (_type_ (function entity-actor object object) object) int 17)
(apply-all (_type_ (function entity-actor object object) object) int 18)
(send-to-all (_type_ symbol) none 19)
(send-to-all-after (_type_ symbol) object 20)
(send-to-all-before (_type_ symbol) object 21)
(send-to-next-and-prev (_type_ symbol) none 22)
(send-to-next (_type_ symbol) none 23)
(send-to-prev (_type_ symbol) none 24)
(actor-count (_type_) int 25)
(new (symbol type process symbol) _type_)
(get-matching-actor-type-mask (_type_ type) int)
(actor-count-before (_type_) int)
(link-to-next-and-prev-actor (_type_) actor-link-info)
(get-next (_type_) entity-actor)
(get-prev (_type_) entity-actor)
(get-next-process (_type_) process)
(get-prev-process (_type_) process)
(apply-function-forward (_type_ (function entity-actor object object) object) int)
(apply-function-reverse (_type_ (function entity-actor object object) object) int)
(apply-all (_type_ (function entity-actor object object) object) int)
(send-to-all (_type_ symbol) none)
(send-to-all-after (_type_ symbol) object)
(send-to-all-before (_type_ symbol) object)
(send-to-next-and-prev (_type_ symbol) none)
(send-to-next (_type_ symbol) none)
(send-to-prev (_type_ symbol) none)
(actor-count (_type_) int)
)
)
;; definition for method 3 of type actor-link-info
(defmethod inspect actor-link-info ((this actor-link-info))
(defmethod inspect ((this actor-link-info))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -78,12 +75,12 @@
)
;; definition for method 27 of type entity-actor
(defmethod next-actor entity-actor ((this entity-actor))
(defmethod next-actor ((this entity-actor))
(entity-actor-lookup this 'next-actor 0)
)
;; definition for method 28 of type entity-actor
(defmethod prev-actor entity-actor ((this entity-actor))
(defmethod prev-actor ((this entity-actor))
(entity-actor-lookup this 'prev-actor 0)
)
@@ -106,29 +103,29 @@
)
;; definition for method 12 of type actor-link-info
(defmethod get-next actor-link-info ((this actor-link-info))
(defmethod get-next ((this actor-link-info))
(-> this next)
)
;; definition for method 13 of type actor-link-info
(defmethod get-prev actor-link-info ((this actor-link-info))
(defmethod get-prev ((this actor-link-info))
(-> this prev)
)
;; definition for method 14 of type actor-link-info
;; WARN: Return type mismatch basic vs process.
(defmethod get-next-process actor-link-info ((this actor-link-info))
(defmethod get-next-process ((this actor-link-info))
(the-as process (and (-> this next) (-> this next extra process)))
)
;; definition for method 15 of type actor-link-info
;; WARN: Return type mismatch basic vs process.
(defmethod get-prev-process actor-link-info ((this actor-link-info))
(defmethod get-prev-process ((this actor-link-info))
(the-as process (and (-> this prev) (-> this prev extra process)))
)
;; definition for method 11 of type actor-link-info
(defmethod link-to-next-and-prev-actor actor-link-info ((this actor-link-info))
(defmethod link-to-next-and-prev-actor ((this actor-link-info))
(let ((a0-1 (-> this process entity)))
(set! (-> this next) (entity-actor-lookup a0-1 'next-actor 0))
)
@@ -139,7 +136,7 @@
)
;; definition for method 16 of type actor-link-info
(defmethod apply-function-forward actor-link-info ((this actor-link-info) (arg0 (function entity-actor object object)) (arg1 object))
(defmethod apply-function-forward ((this actor-link-info) (arg0 (function entity-actor object object)) (arg1 object))
(let ((s3-0 (-> this next)))
(while s3-0
(if (arg0 s3-0 arg1)
@@ -152,7 +149,7 @@
)
;; definition for method 17 of type actor-link-info
(defmethod apply-function-reverse actor-link-info ((this actor-link-info) (arg0 (function entity-actor object object)) (arg1 object))
(defmethod apply-function-reverse ((this actor-link-info) (arg0 (function entity-actor object object)) (arg1 object))
(let ((s3-0 (-> this prev)))
(while s3-0
(if (arg0 s3-0 arg1)
@@ -165,7 +162,7 @@
)
;; definition for method 18 of type actor-link-info
(defmethod apply-all actor-link-info ((this actor-link-info) (arg0 (function entity-actor object object)) (arg1 object))
(defmethod apply-all ((this actor-link-info) (arg0 (function entity-actor object object)) (arg1 object))
(let ((s4-0 (-> this process entity)))
(while (let ((a0-2 s4-0))
(entity-actor-lookup a0-2 'prev-actor 0)
@@ -185,7 +182,7 @@
)
;; definition for method 20 of type actor-link-info
(defmethod send-to-all-after actor-link-info ((this actor-link-info) (arg0 symbol))
(defmethod send-to-all-after ((this actor-link-info) (arg0 symbol))
(with-pp
(let ((s4-0 (-> this next))
(s5-0 (the-as object #f))
@@ -209,7 +206,7 @@
)
;; definition for method 21 of type actor-link-info
(defmethod send-to-all-before actor-link-info ((this actor-link-info) (arg0 symbol))
(defmethod send-to-all-before ((this actor-link-info) (arg0 symbol))
(with-pp
(let ((s4-0 (-> this prev))
(s5-0 (the-as object #f))
@@ -234,7 +231,7 @@
;; definition for method 23 of type actor-link-info
;; WARN: Return type mismatch symbol vs none.
(defmethod send-to-next actor-link-info ((this actor-link-info) (arg0 symbol))
(defmethod send-to-next ((this actor-link-info) (arg0 symbol))
(let ((a0-1 (-> this next)))
(when a0-1
(let ((a0-2 (-> a0-1 extra process)))
@@ -249,7 +246,7 @@
;; definition for method 24 of type actor-link-info
;; WARN: Return type mismatch symbol vs none.
(defmethod send-to-prev actor-link-info ((this actor-link-info) (arg0 symbol))
(defmethod send-to-prev ((this actor-link-info) (arg0 symbol))
(let ((a0-1 (-> this prev)))
(when a0-1
(let ((a0-2 (-> a0-1 extra process)))
@@ -264,7 +261,7 @@
;; definition for method 22 of type actor-link-info
;; WARN: Return type mismatch symbol vs none.
(defmethod send-to-next-and-prev actor-link-info ((this actor-link-info) (arg0 symbol))
(defmethod send-to-next-and-prev ((this actor-link-info) (arg0 symbol))
(send-to-next this arg0)
(send-to-prev this arg0)
(none)
@@ -272,14 +269,14 @@
;; definition for method 19 of type actor-link-info
;; WARN: Return type mismatch symbol vs none.
(defmethod send-to-all actor-link-info ((this actor-link-info) (arg0 symbol))
(defmethod send-to-all ((this actor-link-info) (arg0 symbol))
(send-to-all-after this arg0)
(send-to-all-before this arg0)
(none)
)
;; definition for method 25 of type actor-link-info
(defmethod actor-count actor-link-info ((this actor-link-info))
(defmethod actor-count ((this actor-link-info))
(let ((s5-0 (-> this process entity))
(gp-0 0)
)
@@ -299,7 +296,7 @@
)
;; definition for method 9 of type actor-link-info
(defmethod get-matching-actor-type-mask actor-link-info ((this actor-link-info) (arg0 type))
(defmethod get-matching-actor-type-mask ((this actor-link-info) (arg0 type))
(let ((s3-0 (-> this process entity))
(s5-0 0)
)
@@ -324,7 +321,7 @@
)
;; definition for method 10 of type actor-link-info
(defmethod actor-count-before actor-link-info ((this actor-link-info))
(defmethod actor-count-before ((this actor-link-info))
(let* ((s5-0 (-> this process entity))
(s4-0 s5-0)
(gp-0 0)
+75 -114
View File
@@ -12,32 +12,29 @@
;; definition of type entity-perm
(deftype entity-perm (structure)
((user-object object 2 :offset-assert 0)
(user-uint64 uint64 :offset 0)
(user-float float 2 :offset 0)
(user-int32 int32 2 :offset 0)
(user-uint32 uint32 2 :offset 0)
(user-int16 int16 4 :offset 0)
(user-uint16 uint16 4 :offset 0)
(user-int8 int8 8 :offset 0)
(user-uint8 uint8 8 :offset 0)
(status entity-perm-status :offset 8)
(dummy uint8 1 :offset 10)
(task game-task :offset 11)
(aid actor-id :offset 12)
(quad uint128 :offset 0)
((user-object object 2)
(user-uint64 uint64 :overlay-at (-> user-object 0))
(user-float float 2 :overlay-at (-> user-object 0))
(user-int32 int32 2 :overlay-at (-> user-object 0))
(user-uint32 uint32 2 :overlay-at (-> user-object 0))
(user-int16 int16 4 :overlay-at (-> user-object 0))
(user-uint16 uint16 4 :overlay-at (-> user-object 0))
(user-int8 int8 8 :overlay-at (-> user-object 0))
(user-uint8 uint8 8 :overlay-at (-> user-object 0))
(status entity-perm-status :offset 8)
(dummy uint8 1 :offset 10)
(task game-task :offset 11)
(aid actor-id :offset 12)
(quad uint128 :overlay-at (-> user-object 0))
)
:method-count-assert 10
:size-assert #x10
:flag-assert #xa00000010
(:methods
(update (_type_ symbol entity-perm-status) _type_ 9)
(update (_type_ symbol entity-perm-status) _type_)
)
)
;; definition for method 3 of type entity-perm
;; INFO: Used lq/sq
(defmethod inspect entity-perm ((this entity-perm))
(defmethod inspect ((this entity-perm))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -63,30 +60,27 @@
;; definition of type entity-links
(deftype entity-links (structure)
((prev-link entity-links :offset-assert 0)
(next-link entity-links :offset-assert 4)
(entity entity :offset-assert 8)
(process process :offset-assert 12)
(level level :offset-assert 16)
(vis-id int32 :offset-assert 20)
(kill-mask task-mask :offset-assert 24)
(vis-dist meters :offset-assert 28)
(trans vector :inline :offset-assert 32)
(perm entity-perm :inline :offset-assert 48)
(status uint16 :offset 56)
(aid uint32 :offset 60)
(task uint8 :offset 59)
((prev-link entity-links)
(next-link entity-links)
(entity entity)
(process process)
(level level)
(vis-id int32)
(kill-mask task-mask)
(vis-dist meters)
(trans vector :inline)
(perm entity-perm :inline)
(status uint16 :overlay-at (-> perm status))
(aid uint32 :overlay-at (-> perm aid))
(task uint8 :overlay-at (-> perm task))
)
:method-count-assert 10
:size-assert #x40
:flag-assert #xa00000040
(:methods
(birth? (_type_ vector) symbol 9)
(birth? (_type_ vector) symbol)
)
)
;; definition for method 3 of type entity-links
(defmethod inspect entity-links ((this entity-links))
(defmethod inspect ((this entity-links))
(when (not this)
(set! this this)
(goto cfg-42)
@@ -171,15 +165,12 @@
;; definition of type entity-perm-array
(deftype entity-perm-array (inline-array-class)
((data entity-perm :inline :dynamic :offset-assert 16)
((data entity-perm :inline :dynamic)
)
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition for method 3 of type entity-perm-array
(defmethod inspect entity-perm-array ((this entity-perm-array))
(defmethod inspect ((this entity-perm-array))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -197,15 +188,12 @@
;; definition of type entity-links-array
(deftype entity-links-array (inline-array-class)
((data entity-links :inline :dynamic :offset-assert 16)
((data entity-links :inline :dynamic)
)
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition for method 3 of type entity-links-array
(defmethod inspect entity-links-array ((this entity-links-array))
(defmethod inspect ((this entity-links-array))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -223,90 +211,72 @@
;; definition of type entity
(deftype entity (res-lump)
((trans vector :inline :offset-assert 32)
(aid uint32 :offset-assert 48)
((trans vector :inline)
(aid uint32)
)
:method-count-assert 27
:size-assert #x34
:flag-assert #x1b00000034
(:methods
(birth! (_type_) _type_ 22)
(kill! (_type_) _type_ 23)
(add-to-level! (_type_ level-group level actor-id) none 24)
(remove-from-level! (_type_ level-group) _type_ 25)
(get-level (_type_) level 26)
(birth! (_type_) _type_)
(kill! (_type_) _type_)
(add-to-level! (_type_ level-group level actor-id) none)
(remove-from-level! (_type_ level-group) _type_)
(get-level (_type_) level)
)
)
;; definition of type entity-camera
(deftype entity-camera (entity)
((connect connectable :inline :offset-assert 64)
((connect connectable :inline)
)
:method-count-assert 27
:size-assert #x50
:flag-assert #x1b00000050
)
;; definition of type entity-nav-mesh
(deftype entity-nav-mesh (entity)
((nav-mesh nav-mesh :offset-assert 52)
((nav-mesh nav-mesh)
)
:method-count-assert 29
:size-assert #x38
:flag-assert #x1d00000038
(:methods
(initialize-nav-mesh! (_type_) none 27)
(debug-draw (_type_) none 28)
(initialize-nav-mesh! (_type_) none)
(debug-draw (_type_) none)
)
)
;; definition of type entity-race-mesh
(deftype entity-race-mesh (entity)
((race-mesh race-mesh :offset-assert 52)
((race-mesh race-mesh)
)
:method-count-assert 29
:size-assert #x38
:flag-assert #x1d00000038
(:methods
(entity-race-mesh-method-27 () none 27)
(entity-race-mesh-method-28 () none 28)
(entity-race-mesh-method-27 () none)
(entity-race-mesh-method-28 () none)
)
)
;; definition of type entity-actor
(deftype entity-actor (entity)
((etype type :offset 56)
(task game-task :offset-assert 60)
(kill-mask task-mask :offset 52)
(vis-id int16 :offset-assert 62)
(quat quaternion :inline :offset-assert 64)
((etype type :offset 56)
(task game-task)
(kill-mask task-mask :offset 52)
(vis-id int16)
(quat quaternion :inline)
)
:method-count-assert 33
:size-assert #x50
:flag-assert #x2100000050
(:methods
(next-actor (_type_) entity-actor 27)
(prev-actor (_type_) entity-actor 28)
(debug-print (_type_ symbol type) none 29)
(toggle-status (_type_ entity-perm-status symbol) none 30)
(get-simple-travel-vector (_type_ vector vector vector object float) nav-mesh 31)
(project-point-to-nav-mesh (_type_ vector vector nav-poly float) nav-poly 32)
(next-actor (_type_) entity-actor)
(prev-actor (_type_) entity-actor)
(debug-print (_type_ symbol type) none)
(toggle-status (_type_ entity-perm-status symbol) none)
(get-simple-travel-vector (_type_ vector vector vector object float) nav-mesh)
(project-point-to-nav-mesh (_type_ vector vector nav-poly float) nav-poly)
)
)
;; definition of type actor-reference
(deftype actor-reference (structure)
((actor entity :offset-assert 0)
(id uint32 :offset-assert 4)
((actor entity)
(id uint32)
)
:pack-me
:method-count-assert 9
:size-assert #x8
:flag-assert #x900000008
)
;; definition for method 3 of type actor-reference
(defmethod inspect actor-reference ((this actor-reference))
(defmethod inspect ((this actor-reference))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -320,15 +290,12 @@
;; definition of type actor-group
(deftype actor-group (inline-array-class)
((data actor-reference :inline :dynamic :offset-assert 16)
((data actor-reference :inline :dynamic)
)
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition for method 3 of type actor-group
(defmethod inspect actor-group ((this actor-group))
(defmethod inspect ((this actor-group))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -346,19 +313,16 @@
;; definition of type entity-info
(deftype entity-info (basic)
((ptype type :offset-assert 4)
(package string :offset-assert 8)
(art-group pair :offset-assert 12)
(pool symbol :offset-assert 16)
(heap-size int32 :offset-assert 20)
((ptype type)
(package string)
(art-group pair)
(pool symbol)
(heap-size int32)
)
:method-count-assert 9
:size-assert #x18
:flag-assert #x900000018
)
;; definition for method 3 of type entity-info
(defmethod inspect entity-info ((this entity-info))
(defmethod inspect ((this entity-info))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -375,17 +339,14 @@
;; definition of type actor-bank
(deftype actor-bank (basic)
((pause-dist meters :offset-assert 4)
(birth-dist meters :offset-assert 8)
(birth-max int32 :offset-assert 12)
((pause-dist meters)
(birth-dist meters)
(birth-max int32)
)
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition for method 3 of type actor-bank
(defmethod inspect actor-bank ((this actor-bank))
(defmethod inspect ((this actor-bank))
(when (not this)
(set! this this)
(goto cfg-4)
+39 -42
View File
@@ -12,7 +12,7 @@
;; definition for method 8 of type drawable-actor
;; WARN: Return type mismatch int vs drawable-actor.
(defmethod mem-usage drawable-actor ((this drawable-actor) (arg0 memory-usage-block) (arg1 int))
(defmethod mem-usage ((this drawable-actor) (arg0 memory-usage-block) (arg1 int))
(set! (-> arg0 length) (max 44 (-> arg0 length)))
(set! (-> arg0 data 43 name) "entity")
(+! (-> arg0 data 43 count) 1)
@@ -26,7 +26,7 @@
;; definition for method 8 of type drawable-inline-array-actor
;; WARN: Return type mismatch int vs drawable-inline-array-actor.
(defmethod mem-usage drawable-inline-array-actor ((this drawable-inline-array-actor) (arg0 memory-usage-block) (arg1 int))
(defmethod mem-usage ((this drawable-inline-array-actor) (arg0 memory-usage-block) (arg1 int))
(set! (-> arg0 length) (max 1 (-> arg0 length)))
(set! (-> arg0 data 0 name) (symbol->string 'drawable-group))
(+! (-> arg0 data 0 count) 1)
@@ -41,13 +41,13 @@
)
;; definition for method 2 of type entity-links
(defmethod print entity-links ((this entity-links))
(defmethod print ((this entity-links))
(format #t "#<entity-links :process ~A @ #x~X>" (-> this process) this)
this
)
;; definition for method 2 of type entity-perm
(defmethod print entity-perm ((this entity-perm))
(defmethod print ((this entity-perm))
(format
#t
"#<entity-perm :aid ~D :task ~D :status #x~X :data #x~X @ #x~X>"
@@ -61,7 +61,7 @@
)
;; definition for method 2 of type actor-group
(defmethod print actor-group ((this actor-group))
(defmethod print ((this actor-group))
(format #t "#<actor-group")
(dotimes (s5-0 (-> this length))
(format #t " ~A" (-> this data s5-0 actor))
@@ -71,7 +71,7 @@
)
;; definition for method 3 of type actor-group
(defmethod inspect actor-group ((this actor-group))
(defmethod inspect ((this actor-group))
(format #t "[~8x] ~A~%" this (-> this type))
(format #t "~Tlength: ~D~%" (-> this length))
(format #t "~Tallocated-length: ~D~%" (-> this allocated-length))
@@ -83,25 +83,25 @@
)
;; definition for method 22 of type entity
(defmethod birth! entity ((this entity))
(defmethod birth! ((this entity))
(format #t "birth ~A~%" this)
this
)
;; definition for method 23 of type entity
(defmethod kill! entity ((this entity))
(defmethod kill! ((this entity))
(format #t "kill ~A~%" this)
this
)
;; definition for method 2 of type entity
(defmethod print entity ((this entity))
(defmethod print ((this entity))
(format #t "#<~A :name ~S @ #x~X>" (-> this type) (res-lump-struct this 'name structure) this)
this
)
;; definition for method 26 of type entity
(defmethod get-level entity ((this entity))
(defmethod get-level ((this entity))
(dotimes (v1-0 (-> *level* length))
(let ((a1-3 (-> *level* level v1-0)))
(when (= (-> a1-3 status) 'active)
@@ -257,7 +257,7 @@
;; definition for method 18 of type level-group
;; WARN: Return type mismatch int vs none.
(defmethod update-nav-meshes-method level-group ((this level-group))
(defmethod update-nav-meshes-method ((this level-group))
"Clashes with a function name"
(when (not (paused?))
(dotimes (s5-0 (-> this length))
@@ -530,7 +530,7 @@
)
;; definition for method 2 of type process
(defmethod print process ((this process))
(defmethod print ((this process))
(cond
((and (-> this top-thread) (!= (-> this status) 'dead))
(format
@@ -572,7 +572,7 @@
)
;; definition for method 3 of type entity
(defmethod inspect entity ((this entity))
(defmethod inspect ((this entity))
(call-parent-method this)
(format #t "~Ttrans: ~`vector`P~%" (-> this trans))
(format #t "~Taid: ~D~%" (-> this aid))
@@ -580,7 +580,7 @@
)
;; definition for method 3 of type entity-nav-mesh
(defmethod inspect entity-nav-mesh ((this entity-nav-mesh))
(defmethod inspect ((this entity-nav-mesh))
((the-as (function object object) (find-parent-method entity-nav-mesh 3)) this)
(format #t "~Tnav-mesh ~A~%" (-> this nav-mesh))
(if (and (-> this nav-mesh) (nonzero? (-> this nav-mesh)))
@@ -590,7 +590,7 @@
)
;; definition for method 3 of type entity-actor
(defmethod inspect entity-actor ((this entity-actor))
(defmethod inspect ((this entity-actor))
(call-parent-method this)
(format #t "~Tetype: ~A~%" (-> this etype))
(format #t "~Ttask: ~d~%" (-> this task))
@@ -662,7 +662,7 @@
;; definition for method 29 of type entity-actor
;; WARN: Return type mismatch entity-actor vs none.
(defmethod debug-print entity-actor ((this entity-actor) (arg0 symbol) (arg1 type))
(defmethod debug-print ((this entity-actor) (arg0 symbol) (arg1 type))
(let ((s4-0 (-> this etype)))
(when (or (not arg1) (and s4-0 (valid? s4-0 type (the-as string #f) #f 0) (type-type? s4-0 arg1)))
(format #t "~5D #x~8X ~-26S" (-> this extra vis-id) this (res-lump-struct this 'name structure))
@@ -736,7 +736,7 @@
;; definition for method 14 of type level-group
;; WARN: Return type mismatch int vs none.
(defmethod debug-print-entities level-group ((this level-group) (arg0 symbol) (arg1 type))
(defmethod debug-print-entities ((this level-group) (arg0 symbol) (arg1 type))
(let ((t9-0 format)
(a0-1 #t)
(a1-1
@@ -776,7 +776,7 @@
;; definition for method 24 of type entity-actor
;; INFO: Used lq/sq
;; WARN: Return type mismatch entity-actor vs none.
(defmethod add-to-level! entity-actor ((this entity-actor) (arg0 level-group) (arg1 level) (arg2 actor-id))
(defmethod add-to-level! ((this entity-actor) (arg0 level-group) (arg1 level) (arg2 actor-id))
(let ((v1-4 (-> arg1 entity data (-> arg1 entity length))))
(+! (-> arg1 entity length) 1)
(set! (-> v1-4 process) #f)
@@ -848,7 +848,7 @@
)
;; definition for method 25 of type entity
(defmethod remove-from-level! entity ((this entity) (arg0 level-group))
(defmethod remove-from-level! ((this entity) (arg0 level-group))
(let ((v1-0 (-> this extra)))
(cond
((= (-> v1-0 next-link) v1-0)
@@ -887,7 +887,7 @@
;; definition for method 25 of type level-group
;; WARN: Return type mismatch int vs none.
(defmethod update-vis-volumes level-group ((this level-group))
(defmethod update-vis-volumes ((this level-group))
(local-vars (sv-16 pointer) (sv-20 pointer) (sv-24 pointer) (sv-28 process))
(dotimes (s5-0 (-> this length))
(let ((v1-3 (-> this level s5-0)))
@@ -986,7 +986,7 @@
;; WARN: Stack slot offset 32 signed mismatch
;; WARN: Stack slot offset 32 signed mismatch
;; WARN: Return type mismatch int vs none.
(defmethod update-vis-volumes-from-nav-mesh level-group ((this level-group))
(defmethod update-vis-volumes-from-nav-mesh ((this level-group))
(local-vars
(sv-16 pointer)
(sv-20 vector)
@@ -1092,7 +1092,7 @@
;; WARN: Stack slot offset 20 signed mismatch
;; WARN: Stack slot offset 20 signed mismatch
;; WARN: Return type mismatch int vs none.
(defmethod print-volume-sizes level-group ((this level-group))
(defmethod print-volume-sizes ((this level-group))
(local-vars
(sv-16 pointer)
(sv-20 float)
@@ -1195,18 +1195,15 @@
;; definition of type debug-actor-info
(deftype debug-actor-info (basic)
((name basic :offset-assert 4)
(handle handle :offset-assert 8)
(process basic :offset-assert 16)
(pid int32 :offset-assert 20)
((name basic)
(handle handle)
(process basic)
(pid int32)
)
:method-count-assert 9
:size-assert #x18
:flag-assert #x900000018
)
;; definition for method 3 of type debug-actor-info
(defmethod inspect debug-actor-info ((this debug-actor-info))
(defmethod inspect ((this debug-actor-info))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -1403,7 +1400,7 @@
;; definition for method 15 of type level-group
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod debug-draw-actors level-group ((this level-group) (arg0 symbol))
(defmethod debug-draw-actors ((this level-group) (arg0 symbol))
(local-vars
(sv-16 symbol)
(sv-20 vector)
@@ -1777,13 +1774,13 @@
)
;; definition for method 22 of type entity-camera
(defmethod birth! entity-camera ((this entity-camera))
(defmethod birth! ((this entity-camera))
(add-connection *camera-engine* *camera* nothing this #f #f)
this
)
;; definition for method 23 of type entity-camera
(defmethod kill! entity-camera ((this entity-camera))
(defmethod kill! ((this entity-camera))
(remove-by-param1 *camera-engine* (the-as int this))
this
)
@@ -1800,7 +1797,7 @@
)
;; definition for method 22 of type entity-actor
(defmethod birth! entity-actor ((this entity-actor))
(defmethod birth! ((this entity-actor))
(let* ((s5-0 (-> this etype))
(v1-0 (entity-info-lookup s5-0))
(s4-0 (get-process *default-dead-pool* s5-0 (if v1-0
@@ -1844,7 +1841,7 @@
)
;; definition for method 23 of type entity-actor
(defmethod kill! entity-actor ((this entity-actor))
(defmethod kill! ((this entity-actor))
(let ((a0-1 (-> this extra process)))
(if a0-1
(deactivate a0-1)
@@ -1859,7 +1856,7 @@
;; WARN: Return type mismatch bsp-header vs none.
;; ERROR: Unsupported inline assembly instruction kind - [mfc0 s5, Count]
;; ERROR: Unsupported inline assembly instruction kind - [mfc0 v1, Count]
(defmethod birth bsp-header ((this bsp-header))
(defmethod birth ((this bsp-header))
(local-vars (v1-74 int) (s5-0 int) (sv-16 int))
(.mfc0 s5-0 Count)
(let ((a2-0 (if (nonzero? (-> this actors))
@@ -2039,7 +2036,7 @@
;; definition for method 18 of type bsp-header
;; WARN: Return type mismatch bsp-header vs none.
(defmethod deactivate-entities bsp-header ((this bsp-header))
(defmethod deactivate-entities ((this bsp-header))
(let ((v1-1 (-> this level heap base))
(a0-2 (-> this level heap top-base))
)
@@ -2149,7 +2146,7 @@
)
;; definition for method 9 of type entity-perm
(defmethod update entity-perm ((this entity-perm) (arg0 symbol) (arg1 entity-perm-status))
(defmethod update ((this entity-perm) (arg0 symbol) (arg1 entity-perm-status))
(cond
((= arg0 'game)
(logclear! (-> this status) arg1)
@@ -2285,7 +2282,7 @@
)
;; definition for method 12 of type process-drawable
(defmethod run-logic? process-drawable ((this process-drawable))
(defmethod run-logic? ((this process-drawable))
(or (not (logtest? (-> this mask) (process-mask actor-pause)))
(or (>= (+ (-> *ACTOR-bank* pause-dist) (-> this root pause-adjust-distance))
(vector-vector-distance (-> this root trans) (math-camera-pos))
@@ -2297,7 +2294,7 @@
)
;; definition for method 9 of type entity-links
(defmethod birth? entity-links ((this entity-links) (arg0 vector))
(defmethod birth? ((this entity-links) (arg0 vector))
(and (not (logtest? (-> this perm status) (entity-perm-status bit-0 dead)))
(< (vector-vector-distance (-> this trans) arg0) (-> *ACTOR-bank* birth-dist))
)
@@ -2311,7 +2308,7 @@
;; ERROR: Stack slot load at 96 mismatch: defined as size 4, got size 16
;; WARN: Return type mismatch int vs none.
;; WARN: Function (method 17 level-group) has a return type of none, but the expression builder found a return statement.
(defmethod actors-update level-group ((this level-group))
(defmethod actors-update ((this level-group))
(local-vars
(sv-16 vector)
(sv-24 int)
@@ -2547,7 +2544,7 @@
;; definition for method 30 of type entity-actor
;; WARN: Return type mismatch entity-perm-status vs none.
(defmethod toggle-status entity-actor ((this entity-actor) (arg0 entity-perm-status) (arg1 symbol))
(defmethod toggle-status ((this entity-actor) (arg0 entity-perm-status) (arg1 symbol))
(let ((v1-0 (-> this extra)))
(if arg1
(logior! (-> v1-0 perm status) arg0)
+27 -27
View File
@@ -2,7 +2,7 @@
(in-package goal)
;; definition for method 7 of type process
(defmethod relocate process ((this process) (arg0 int))
(defmethod relocate ((this process) (arg0 int))
(let ((v1-0 *kernel-context*))
(set! (-> v1-0 relocating-process) this)
(set! (-> v1-0 relocating-min) (the-as int (&-> this type)))
@@ -91,14 +91,14 @@
)
;; definition for method 7 of type cpu-thread
(defmethod relocate cpu-thread ((this cpu-thread) (arg0 int))
(defmethod relocate ((this cpu-thread) (arg0 int))
(&+! (-> this process) arg0)
this
)
;; definition for method 7 of type process-drawable
;; WARN: Return type mismatch process vs process-drawable.
(defmethod relocate process-drawable ((this process-drawable) (arg0 int))
(defmethod relocate ((this process-drawable) (arg0 int))
(let ((v1-0 *kernel-context*))
(set! (-> v1-0 relocating-process) this)
(set! (-> v1-0 relocating-min) (the-as int (&-> this type)))
@@ -158,7 +158,7 @@
)
;; definition for method 7 of type collide-shape
(defmethod relocate collide-shape ((this collide-shape) (arg0 int))
(defmethod relocate ((this collide-shape) (arg0 int))
(&+! (-> this process) arg0)
(&+! (-> this root-prim) arg0)
this
@@ -166,7 +166,7 @@
;; definition for method 7 of type collide-shape-moving
;; WARN: Return type mismatch collide-shape vs collide-shape-moving.
(defmethod relocate collide-shape-moving ((this collide-shape-moving) (arg0 int))
(defmethod relocate ((this collide-shape-moving) (arg0 int))
(if (-> this dynam)
(&+! (-> this dynam) arg0)
)
@@ -174,26 +174,26 @@
)
;; definition for method 7 of type collide-shape-prim
(defmethod relocate collide-shape-prim ((this collide-shape-prim) (arg0 int))
(defmethod relocate ((this collide-shape-prim) (arg0 int))
(&+! (-> this cshape) arg0)
this
)
;; definition for method 7 of type collide-shape-prim-group
(defmethod relocate collide-shape-prim-group ((this collide-shape-prim-group) (arg0 int))
(defmethod relocate ((this collide-shape-prim-group) (arg0 int))
(&+! (-> this cshape) arg0)
(set! (-> this child) (the-as (inline-array collide-shape-prim) (&+ (the-as pointer (-> this child)) arg0)))
this
)
;; definition for method 7 of type fact-info
(defmethod relocate fact-info ((this fact-info) (arg0 int))
(defmethod relocate ((this fact-info) (arg0 int))
(&+! (-> this process) arg0)
this
)
;; definition for method 7 of type draw-control
(defmethod relocate draw-control ((this draw-control) (arg0 int))
(defmethod relocate ((this draw-control) (arg0 int))
(&+! (-> this skeleton) arg0)
(&+! (-> this process) arg0)
(when (-> this ripple)
@@ -213,7 +213,7 @@
)
;; definition for method 7 of type joint-control
(defmethod relocate joint-control ((this joint-control) (arg0 int))
(defmethod relocate ((this joint-control) (arg0 int))
(if (-> this effect)
(&+! (-> this effect) arg0)
)
@@ -228,7 +228,7 @@
)
;; definition for method 7 of type cspace-array
(defmethod relocate cspace-array ((this cspace-array) (arg0 int))
(defmethod relocate ((this cspace-array) (arg0 int))
(countdown (v1-0 (-> this length))
(let ((a2-2 (-> this data v1-0)))
(if (-> a2-2 parent)
@@ -255,62 +255,62 @@
)
;; definition for method 7 of type path-control
(defmethod relocate path-control ((this path-control) (arg0 int))
(defmethod relocate ((this path-control) (arg0 int))
(&+! (-> this process) arg0)
this
)
;; definition for method 7 of type vol-control
(defmethod relocate vol-control ((this vol-control) (arg0 int))
(defmethod relocate ((this vol-control) (arg0 int))
(&+! (-> this process) arg0)
this
)
;; definition for method 7 of type water-control
(defmethod relocate water-control ((this water-control) (arg0 int))
(defmethod relocate ((this water-control) (arg0 int))
(&+! (-> this process) arg0)
this
)
;; definition for method 7 of type actor-link-info
(defmethod relocate actor-link-info ((this actor-link-info) (arg0 int))
(defmethod relocate ((this actor-link-info) (arg0 int))
(&+! (-> this process) arg0)
this
)
;; definition for method 7 of type align-control
(defmethod relocate align-control ((this align-control) (arg0 int))
(defmethod relocate ((this align-control) (arg0 int))
(&+! (-> this process) arg0)
this
)
;; definition for method 7 of type joint-mod
(defmethod relocate joint-mod ((this joint-mod) (arg0 int))
(defmethod relocate ((this joint-mod) (arg0 int))
(&+! (-> this process) arg0)
(&+! (-> this joint) arg0)
this
)
;; definition for method 7 of type joint-mod-wheel
(defmethod relocate joint-mod-wheel ((this joint-mod-wheel) (arg0 int))
(defmethod relocate ((this joint-mod-wheel) (arg0 int))
(&+! (-> this process) arg0)
this
)
;; definition for method 7 of type joint-mod-ik
(defmethod relocate joint-mod-ik ((this joint-mod-ik) (arg0 int))
(defmethod relocate ((this joint-mod-ik) (arg0 int))
(&+! (-> this process) arg0)
this
)
;; definition for method 7 of type effect-control
(defmethod relocate effect-control ((this effect-control) (arg0 int))
(defmethod relocate ((this effect-control) (arg0 int))
(&+! (-> this process) arg0)
this
)
;; definition for method 7 of type sparticle-launch-control
(defmethod relocate sparticle-launch-control ((this sparticle-launch-control) (arg0 int))
(defmethod relocate ((this sparticle-launch-control) (arg0 int))
(&+! (-> this proc) arg0)
(countdown (v1-2 (-> this length))
(let* ((a0-4 (-> this data v1-2))
@@ -343,7 +343,7 @@
;; definition for method 7 of type camera-master
;; WARN: Return type mismatch process vs camera-master.
(defmethod relocate camera-master ((this camera-master) (arg0 int))
(defmethod relocate ((this camera-master) (arg0 int))
(if (nonzero? (-> this water-drip))
(&+! (-> this water-drip) arg0)
)
@@ -352,7 +352,7 @@
;; definition for method 7 of type time-of-day-proc
;; WARN: Return type mismatch process vs time-of-day-proc.
(defmethod relocate time-of-day-proc ((this time-of-day-proc) (arg0 int))
(defmethod relocate ((this time-of-day-proc) (arg0 int))
(if (nonzero? (-> this sun))
(&+! (-> this sun) arg0)
)
@@ -367,7 +367,7 @@
;; definition for method 7 of type part-tracker
;; WARN: Return type mismatch process vs part-tracker.
(defmethod relocate part-tracker ((this part-tracker) (arg0 int))
(defmethod relocate ((this part-tracker) (arg0 int))
(if (nonzero? (-> this root))
(&+! (-> this root) arg0)
)
@@ -379,7 +379,7 @@
;; definition for method 7 of type part-spawner
;; WARN: Return type mismatch process vs part-spawner.
(defmethod relocate part-spawner ((this part-spawner) (arg0 int))
(defmethod relocate ((this part-spawner) (arg0 int))
(if (nonzero? (-> this root))
(&+! (-> this root) arg0)
)
@@ -394,7 +394,7 @@
;; definition for method 7 of type lightning-tracker
;; WARN: Return type mismatch process vs lightning-tracker.
(defmethod relocate lightning-tracker ((this lightning-tracker) (arg0 int))
(defmethod relocate ((this lightning-tracker) (arg0 int))
(if (nonzero? (-> this root))
(&+! (-> this root) arg0)
)
@@ -406,7 +406,7 @@
;; definition for method 7 of type manipy
;; WARN: Return type mismatch process-drawable vs manipy.
(defmethod relocate manipy ((this manipy) (arg0 int))
(defmethod relocate ((this manipy) (arg0 int))
(if (nonzero? (-> this joint 0))
(&+! (-> this joint 0) arg0)
)
+22 -28
View File
@@ -10,45 +10,39 @@
(elt-count uint32 :offset 112 :size 15)
(inlined? uint8 :offset 127 :size 1)
)
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition of type res-lump
(deftype res-lump (basic)
((length int32 :offset-assert 4)
(allocated-length int32 :offset-assert 8)
(data-base pointer :offset-assert 12)
(data-top pointer :offset-assert 16)
(data-size int32 :offset-assert 20)
(extra entity-links :offset-assert 24)
(tag (pointer res-tag) :offset-assert 28)
((length int32)
(allocated-length int32)
(data-base pointer)
(data-top pointer)
(data-size int32)
(extra entity-links)
(tag (pointer res-tag))
)
:method-count-assert 22
:size-assert #x20
:flag-assert #x1600000020
(:methods
(new (symbol type int int) _type_ 0)
(get-property-data (_type_ symbol symbol float pointer (pointer res-tag) pointer) pointer :no-virtual 9)
(get-property-struct (_type_ symbol symbol float structure (pointer res-tag) pointer) structure :no-virtual 10)
(get-property-value (_type_ symbol symbol float uint128 (pointer res-tag) pointer) uint128 :no-virtual 11)
(get-property-value-float (_type_ symbol symbol float float (pointer res-tag) pointer) float :no-virtual 12)
(get-tag-index-data (_type_ int) pointer 13)
(get-tag-data (_type_ res-tag) pointer 14)
(allocate-data-memory-for-tag! (_type_ res-tag) res-tag 15)
(sort! (_type_) _type_ 16)
(add-data! (_type_ res-tag pointer) res-lump 17)
(add-32bit-data! (_type_ res-tag object) res-lump 18)
(lookup-tag-idx (_type_ symbol symbol float) res-tag-pair :no-virtual 19)
(make-property-data (_type_ float res-tag-pair pointer) pointer 20)
(get-curve-data! (_type_ curve symbol symbol float) symbol 21)
(new (symbol type int int) _type_)
(get-property-data (_type_ symbol symbol float pointer (pointer res-tag) pointer) pointer :no-virtual)
(get-property-struct (_type_ symbol symbol float structure (pointer res-tag) pointer) structure :no-virtual)
(get-property-value (_type_ symbol symbol float uint128 (pointer res-tag) pointer) uint128 :no-virtual)
(get-property-value-float (_type_ symbol symbol float float (pointer res-tag) pointer) float :no-virtual)
(get-tag-index-data (_type_ int) pointer)
(get-tag-data (_type_ res-tag) pointer)
(allocate-data-memory-for-tag! (_type_ res-tag) res-tag)
(sort! (_type_) _type_)
(add-data! (_type_ res-tag pointer) res-lump)
(add-32bit-data! (_type_ res-tag object) res-lump)
(lookup-tag-idx (_type_ symbol symbol float) res-tag-pair :no-virtual)
(make-property-data (_type_ float res-tag-pair pointer) pointer)
(get-curve-data! (_type_ curve symbol symbol float) symbol)
)
)
;; definition for method 3 of type res-lump
;; INFO: this function exists in multiple non-identical object files
(defmethod inspect res-lump ((this res-lump))
(defmethod inspect ((this res-lump))
(when (not this)
(set! this this)
(goto cfg-4)
+47 -47
View File
@@ -2,7 +2,7 @@
(in-package goal)
;; definition for method 2 of type res-tag
(defmethod print res-tag ((this res-tag))
(defmethod print ((this res-tag))
(if (zero? (-> this inlined?))
(format
#t
@@ -26,7 +26,7 @@
;; definition for method 4 of type res-tag
;; WARN: Return type mismatch uint vs int.
(defmethod length res-tag ((this res-tag))
(defmethod length ((this res-tag))
(the-as int (if (zero? (-> this inlined?))
(* (-> this elt-count) 4)
(* (-> this elt-count) (-> this elt-type size))
@@ -36,12 +36,12 @@
;; definition for method 13 of type res-lump
;; INFO: Used lq/sq
(defmethod get-tag-index-data res-lump ((this res-lump) (arg0 int))
(defmethod get-tag-index-data ((this res-lump) (arg0 int))
(&+ (-> this data-base) (-> this tag arg0 data-offset))
)
;; definition for method 14 of type res-lump
(defmethod get-tag-data res-lump ((this res-lump) (arg0 res-tag))
(defmethod get-tag-data ((this res-lump) (arg0 res-tag))
(&+ (-> this data-base) (-> arg0 data-offset))
)
@@ -58,20 +58,20 @@
)
;; definition for method 4 of type res-lump
(defmethod length res-lump ((this res-lump))
(defmethod length ((this res-lump))
(-> this length)
)
;; definition for method 5 of type res-lump
;; WARN: Return type mismatch uint vs int.
(defmethod asize-of res-lump ((this res-lump))
(defmethod asize-of ((this res-lump))
(the-as int (+ (-> this type psize) (* (-> this allocated-length) 16) (-> this data-size)))
)
;; definition for method 3 of type res-lump
;; INFO: this function exists in multiple non-identical object files
;; INFO: Used lq/sq
(defmethod inspect res-lump ((this res-lump))
(defmethod inspect ((this res-lump))
(format #t "[~8x] ~A~%" this (-> this type))
(format #t "~Textra: ~A~%" (-> this extra))
(format #t "~Tallocated-length: ~D~%" (-> this allocated-length))
@@ -113,7 +113,7 @@
;; definition for method 19 of type res-lump
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs res-tag-pair.
(defmethod lookup-tag-idx res-lump ((this res-lump) (arg0 symbol) (arg1 symbol) (arg2 float))
(defmethod lookup-tag-idx ((this res-lump) (arg0 symbol) (arg1 symbol) (arg2 float))
(local-vars (t4-1 int))
(when (or (= arg0 'id)
(= arg0 'aid)
@@ -213,7 +213,7 @@
;; definition for method 20 of type res-lump
;; INFO: Used lq/sq
(defmethod make-property-data res-lump ((this res-lump) (arg0 float) (arg1 res-tag-pair) (arg2 pointer))
(defmethod make-property-data ((this res-lump) (arg0 float) (arg1 res-tag-pair) (arg2 pointer))
(rlet ((vf1 :class vf)
(vf2 :class vf)
(vf3 :class vf)
@@ -395,14 +395,14 @@
;; definition for method 9 of type res-lump
;; INFO: Used lq/sq
(defmethod get-property-data res-lump ((this res-lump)
(arg0 symbol)
(arg1 symbol)
(arg2 float)
(arg3 pointer)
(arg4 (pointer res-tag))
(arg5 pointer)
)
(defmethod get-property-data ((this res-lump)
(arg0 symbol)
(arg1 symbol)
(arg2 float)
(arg3 pointer)
(arg4 (pointer res-tag))
(arg5 pointer)
)
(let ((s3-0 (lookup-tag-idx this arg0 arg1 arg2)))
(cond
((< (the-as int s3-0) 0)
@@ -422,14 +422,14 @@
;; definition for method 10 of type res-lump
;; INFO: Used lq/sq
;; WARN: Return type mismatch object vs structure.
(defmethod get-property-struct res-lump ((this res-lump)
(arg0 symbol)
(arg1 symbol)
(arg2 float)
(arg3 structure)
(arg4 (pointer res-tag))
(arg5 pointer)
)
(defmethod get-property-struct ((this res-lump)
(arg0 symbol)
(arg1 symbol)
(arg2 float)
(arg3 structure)
(arg4 (pointer res-tag))
(arg5 pointer)
)
(let ((s3-0 (lookup-tag-idx this arg0 arg1 arg2)))
(cond
((< (the-as int s3-0) 0)
@@ -455,14 +455,14 @@
;; definition for method 11 of type res-lump
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs uint128.
(defmethod get-property-value res-lump ((this res-lump)
(arg0 symbol)
(arg1 symbol)
(arg2 float)
(arg3 uint128)
(arg4 (pointer res-tag))
(arg5 pointer)
)
(defmethod get-property-value ((this res-lump)
(arg0 symbol)
(arg1 symbol)
(arg2 float)
(arg3 uint128)
(arg4 (pointer res-tag))
(arg5 pointer)
)
(let ((a2-1 (lookup-tag-idx this arg0 arg1 arg2)))
(cond
((< (the-as int a2-1) 0)
@@ -532,14 +532,14 @@
;; definition for method 12 of type res-lump
;; INFO: Used lq/sq
(defmethod get-property-value-float res-lump ((this res-lump)
(arg0 symbol)
(arg1 symbol)
(arg2 float)
(arg3 float)
(arg4 (pointer res-tag))
(arg5 pointer)
)
(defmethod get-property-value-float ((this res-lump)
(arg0 symbol)
(arg1 symbol)
(arg2 float)
(arg3 float)
(arg4 (pointer res-tag))
(arg5 pointer)
)
(local-vars (v1-8 uint) (v1-11 int))
(let ((a2-1 (lookup-tag-idx this arg0 arg1 arg2)))
(cond
@@ -612,7 +612,7 @@
;; definition for method 16 of type res-lump
;; INFO: Used lq/sq
(defmethod sort! res-lump ((this res-lump))
(defmethod sort! ((this res-lump))
(let ((v1-0 -1))
(while (nonzero? v1-0)
(set! v1-0 0)
@@ -641,7 +641,7 @@
;; definition for method 15 of type res-lump
;; INFO: Used lq/sq
(defmethod allocate-data-memory-for-tag! res-lump ((this res-lump) (arg0 res-tag))
(defmethod allocate-data-memory-for-tag! ((this res-lump) (arg0 res-tag))
(local-vars (resource-mem pointer))
(let* ((tag-pair (lookup-tag-idx this (-> arg0 name) 'exact (-> arg0 key-frame)))
(existing-tag (-> this tag (-> tag-pair lo)))
@@ -705,7 +705,7 @@
)
;; definition for method 17 of type res-lump
(defmethod add-data! res-lump ((this res-lump) (arg0 res-tag) (arg1 pointer))
(defmethod add-data! ((this res-lump) (arg0 res-tag) (arg1 pointer))
(let ((a0-2 (allocate-data-memory-for-tag! this arg0)))
(when a0-2
(let* ((v1-2 this)
@@ -730,7 +730,7 @@
)
;; definition for method 18 of type res-lump
(defmethod add-32bit-data! res-lump ((this res-lump) (arg0 res-tag) (arg1 object))
(defmethod add-32bit-data! ((this res-lump) (arg0 res-tag) (arg1 object))
(local-vars (sv-16 object))
(set! sv-16 arg1)
(let* ((v1-0 arg0)
@@ -742,7 +742,7 @@
;; definition for method 21 of type res-lump
;; INFO: Used lq/sq
(defmethod get-curve-data! res-lump ((this res-lump) (arg0 curve) (arg1 symbol) (arg2 symbol) (arg3 float))
(defmethod get-curve-data! ((this res-lump) (arg0 curve) (arg1 symbol) (arg2 symbol) (arg3 float))
(local-vars (sv-16 res-tag) (sv-32 res-tag))
(let ((s5-0 #f))
(set! sv-16 (new 'static 'res-tag))
@@ -802,7 +802,7 @@
;; WARN: Using new Jak 2 rtype-of
;; WARN: Using new Jak 2 rtype-of
;; WARN: Using new Jak 2 rtype-of
(defmethod mem-usage res-lump ((this res-lump) (arg0 memory-usage-block) (arg1 int))
(defmethod mem-usage ((this res-lump) (arg0 memory-usage-block) (arg1 int))
(local-vars (sv-16 int))
(let ((s3-0 48)
(s2-0 "res")