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:
+88
-103
@@ -3,21 +3,18 @@
|
||||
|
||||
;; definition of type bsp-node
|
||||
(deftype bsp-node (structure)
|
||||
((front int16 :offset-assert 0)
|
||||
(back int16 :offset-assert 2)
|
||||
(front-box-min vector4b :inline :offset-assert 4)
|
||||
(front-box-max vector4b :inline :offset-assert 8)
|
||||
(back-box-min vector4b :inline :offset-assert 12)
|
||||
(back-box-max vector4b :inline :offset-assert 16)
|
||||
((front int16)
|
||||
(back int16)
|
||||
(front-box-min vector4b :inline)
|
||||
(front-box-max vector4b :inline)
|
||||
(back-box-min vector4b :inline)
|
||||
(back-box-max vector4b :inline)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 9
|
||||
:size-assert #x14
|
||||
:flag-assert #x900000014
|
||||
)
|
||||
|
||||
;; definition for method 3 of type bsp-node
|
||||
(defmethod inspect bsp-node ((this bsp-node))
|
||||
(defmethod inspect ((this bsp-node))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -35,83 +32,77 @@
|
||||
|
||||
;; definition of type bsp-header
|
||||
(deftype bsp-header (drawable)
|
||||
((info file-info :offset 4)
|
||||
(all-visible-list (pointer uint16) :offset-assert 32)
|
||||
(visible-list-length int16 :offset-assert 36)
|
||||
(extra-vis-list-length int16 :offset-assert 38)
|
||||
(drawable-trees drawable-tree-array :offset-assert 40)
|
||||
(pat pointer :offset-assert 44)
|
||||
(pat-length int32 :offset-assert 48)
|
||||
(texture-remap-table (pointer uint64) :offset-assert 52)
|
||||
(texture-remap-table-len int32 :offset-assert 56)
|
||||
(texture-ids (pointer texture-id) :offset-assert 60)
|
||||
(texture-page-count int32 :offset-assert 64)
|
||||
(unknown-basic basic :offset-assert 68)
|
||||
(name symbol :offset-assert 72)
|
||||
(nickname symbol :offset-assert 76)
|
||||
(vis-info level-vis-info 8 :offset-assert 80)
|
||||
(actors drawable-inline-array-actor :offset-assert 112)
|
||||
(cameras (array entity-camera) :offset-assert 116)
|
||||
(nodes (inline-array bsp-node) :offset-assert 120)
|
||||
(level level :offset-assert 124)
|
||||
(current-leaf-idx uint16 :offset-assert 128)
|
||||
(texture-flags texture-page-flag 10 :offset-assert 130)
|
||||
(cam-outside-bsp uint8 :offset 152)
|
||||
(cam-using-back uint8 :offset-assert 153)
|
||||
(cam-box-idx uint16 :offset-assert 154)
|
||||
(ambients symbol :offset-assert 156)
|
||||
(subdivide-close float :offset-assert 160)
|
||||
(subdivide-far float :offset-assert 164)
|
||||
(race-meshes (array entity-race-mesh) :offset-assert 168)
|
||||
(actor-birth-order (pointer uint32) :offset-assert 172)
|
||||
(light-hash light-hash :offset-assert 176)
|
||||
(nav-meshes (array entity-nav-mesh) :offset-assert 180)
|
||||
(actor-groups (array actor-group) :offset-assert 184)
|
||||
(region-trees (array drawable-tree-region-prim) :offset-assert 188)
|
||||
(region-array region-array :offset-assert 192)
|
||||
(collide-hash collide-hash :offset-assert 196)
|
||||
(wind-array uint32 :offset 200)
|
||||
(wind-array-length int32 :offset 204)
|
||||
(city-level-info city-level-info :offset 208)
|
||||
(vis-spheres vector-array :offset 216)
|
||||
(vis-spheres-length uint32 :offset 248)
|
||||
(region-tree drawable-tree-region-prim :offset 252)
|
||||
(tfrag-masks texture-masks-array :offset-assert 256)
|
||||
(tfrag-closest (pointer float) :offset-assert 260)
|
||||
(tfrag-mask-count uint32 :offset 260)
|
||||
(shrub-masks texture-masks-array :offset-assert 264)
|
||||
(shrub-closest (pointer float) :offset-assert 268)
|
||||
(shrub-mask-count uint32 :offset 268)
|
||||
(alpha-masks texture-masks-array :offset-assert 272)
|
||||
(alpha-closest (pointer float) :offset-assert 276)
|
||||
(alpha-mask-count uint32 :offset 276)
|
||||
(water-masks texture-masks-array :offset-assert 280)
|
||||
(water-closest (pointer float) :offset-assert 284)
|
||||
(water-mask-count uint32 :offset 284)
|
||||
(bsp-scale vector :inline :offset-assert 288)
|
||||
(bsp-offset vector :inline :offset-assert 304)
|
||||
(end uint8 :offset 399)
|
||||
((info file-info :overlay-at id)
|
||||
(all-visible-list (pointer uint16))
|
||||
(visible-list-length int16)
|
||||
(extra-vis-list-length int16)
|
||||
(drawable-trees drawable-tree-array)
|
||||
(pat pointer)
|
||||
(pat-length int32)
|
||||
(texture-remap-table (pointer uint64))
|
||||
(texture-remap-table-len int32)
|
||||
(texture-ids (pointer texture-id))
|
||||
(texture-page-count int32)
|
||||
(unknown-basic basic)
|
||||
(name symbol)
|
||||
(nickname symbol)
|
||||
(vis-info level-vis-info 8)
|
||||
(actors drawable-inline-array-actor)
|
||||
(cameras (array entity-camera))
|
||||
(nodes (inline-array bsp-node))
|
||||
(level level)
|
||||
(current-leaf-idx uint16)
|
||||
(texture-flags texture-page-flag 10)
|
||||
(cam-outside-bsp uint8 :offset 152)
|
||||
(cam-using-back uint8)
|
||||
(cam-box-idx uint16)
|
||||
(ambients symbol)
|
||||
(subdivide-close float)
|
||||
(subdivide-far float)
|
||||
(race-meshes (array entity-race-mesh))
|
||||
(actor-birth-order (pointer uint32))
|
||||
(light-hash light-hash)
|
||||
(nav-meshes (array entity-nav-mesh))
|
||||
(actor-groups (array actor-group))
|
||||
(region-trees (array drawable-tree-region-prim))
|
||||
(region-array region-array)
|
||||
(collide-hash collide-hash)
|
||||
(wind-array uint32 :offset 200)
|
||||
(wind-array-length int32 :offset 204)
|
||||
(city-level-info city-level-info :offset 208)
|
||||
(vis-spheres vector-array :offset 216)
|
||||
(vis-spheres-length uint32 :offset 248)
|
||||
(region-tree drawable-tree-region-prim :offset 252)
|
||||
(tfrag-masks texture-masks-array)
|
||||
(tfrag-closest (pointer float))
|
||||
(tfrag-mask-count uint32 :overlay-at tfrag-closest)
|
||||
(shrub-masks texture-masks-array)
|
||||
(shrub-closest (pointer float))
|
||||
(shrub-mask-count uint32 :overlay-at shrub-closest)
|
||||
(alpha-masks texture-masks-array)
|
||||
(alpha-closest (pointer float))
|
||||
(alpha-mask-count uint32 :overlay-at alpha-closest)
|
||||
(water-masks texture-masks-array)
|
||||
(water-closest (pointer float))
|
||||
(water-mask-count uint32 :overlay-at water-closest)
|
||||
(bsp-scale vector :inline)
|
||||
(bsp-offset vector :inline)
|
||||
(end uint8 :offset 399)
|
||||
)
|
||||
:method-count-assert 19
|
||||
:size-assert #x190
|
||||
:flag-assert #x1300000190
|
||||
(:methods
|
||||
(birth (_type_) none 17)
|
||||
(deactivate-entities (_type_) none 18)
|
||||
(birth (_type_) none)
|
||||
(deactivate-entities (_type_) none)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type game-level
|
||||
(deftype game-level (basic)
|
||||
((master-bsp basic :offset-assert 4)
|
||||
((master-bsp basic)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x8
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|
||||
;; definition for method 3 of type game-level
|
||||
(defmethod inspect game-level ((this game-level))
|
||||
(defmethod inspect ((this game-level))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -124,22 +115,19 @@
|
||||
|
||||
;; definition of type view-frustum
|
||||
(deftype view-frustum (structure)
|
||||
((hither-top-left vector :inline :offset-assert 0)
|
||||
(hither-top-right vector :inline :offset-assert 16)
|
||||
(hither-bottom-left vector :inline :offset-assert 32)
|
||||
(hither-bottom-right vector :inline :offset-assert 48)
|
||||
(yon-top-left vector :inline :offset-assert 64)
|
||||
(yon-top-right vector :inline :offset-assert 80)
|
||||
(yon-bottom-left vector :inline :offset-assert 96)
|
||||
(yon-bottom-right vector :inline :offset-assert 112)
|
||||
((hither-top-left vector :inline)
|
||||
(hither-top-right vector :inline)
|
||||
(hither-bottom-left vector :inline)
|
||||
(hither-bottom-right vector :inline)
|
||||
(yon-top-left vector :inline)
|
||||
(yon-top-right vector :inline)
|
||||
(yon-bottom-left vector :inline)
|
||||
(yon-bottom-right vector :inline)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x80
|
||||
:flag-assert #x900000080
|
||||
)
|
||||
|
||||
;; definition for method 3 of type view-frustum
|
||||
(defmethod inspect view-frustum ((this view-frustum))
|
||||
(defmethod inspect ((this view-frustum))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -158,7 +146,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 3 of type bsp-header
|
||||
(defmethod inspect bsp-header ((this bsp-header))
|
||||
(defmethod inspect ((this bsp-header))
|
||||
(format #t "[~8x] ~A~%" this (-> this type))
|
||||
(format #t "~Tall-visible-list: #x~X~%" (-> this all-visible-list))
|
||||
(format #t "~Tvisible-list-length: ~D~%" (-> this visible-list-length))
|
||||
@@ -217,24 +205,21 @@
|
||||
|
||||
;; definition of type collide-stats
|
||||
(deftype collide-stats (structure)
|
||||
((calls uint32 :offset-assert 0)
|
||||
(spheres uint32 :offset-assert 4)
|
||||
(nodes uint32 :offset-assert 8)
|
||||
(frags uint32 :offset-assert 12)
|
||||
(tris uint32 :offset-assert 16)
|
||||
(output uint32 :offset-assert 20)
|
||||
(pad0 uint32 2 :offset-assert 24)
|
||||
(total-target uint32 8 :offset-assert 32)
|
||||
(target-cache-fill uint32 8 :offset-assert 64)
|
||||
(target-ray-poly uint32 6 :offset-assert 96)
|
||||
((calls uint32)
|
||||
(spheres uint32)
|
||||
(nodes uint32)
|
||||
(frags uint32)
|
||||
(tris uint32)
|
||||
(output uint32)
|
||||
(pad0 uint32 2)
|
||||
(total-target uint32 8)
|
||||
(target-cache-fill uint32 8)
|
||||
(target-ray-poly uint32 6)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x78
|
||||
:flag-assert #x900000078
|
||||
)
|
||||
|
||||
;; definition for method 3 of type collide-stats
|
||||
(defmethod inspect collide-stats ((this collide-stats))
|
||||
(defmethod inspect ((this collide-stats))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
|
||||
+6
-6
@@ -27,7 +27,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 8 of type bsp-header
|
||||
(defmethod mem-usage bsp-header ((this bsp-header) (arg0 memory-usage-block) (arg1 int))
|
||||
(defmethod mem-usage ((this bsp-header) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 work-bsp) this)
|
||||
(when (nonzero? (-> this info))
|
||||
(set! (-> arg0 length) (max 85 (-> arg0 length)))
|
||||
@@ -126,7 +126,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type bsp-header
|
||||
(defmethod login bsp-header ((this bsp-header))
|
||||
(defmethod login ((this bsp-header))
|
||||
(if (nonzero? (-> this drawable-trees))
|
||||
(login (-> this drawable-trees))
|
||||
)
|
||||
@@ -151,7 +151,7 @@
|
||||
;; definition for method 10 of type bsp-header
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod draw bsp-header ((this bsp-header) (arg0 bsp-header) (arg1 display-frame))
|
||||
(defmethod draw ((this bsp-header) (arg0 bsp-header) (arg1 display-frame))
|
||||
(local-vars (a3-4 uint128) (a3-5 uint128))
|
||||
(rlet ((vf16 :class vf)
|
||||
(vf17 :class vf)
|
||||
@@ -272,7 +272,7 @@
|
||||
|
||||
;; definition for method 14 of type bsp-header
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod debug-draw bsp-header ((this bsp-header) (arg0 drawable) (arg1 display-frame))
|
||||
(defmethod debug-draw ((this bsp-header) (arg0 drawable) (arg1 display-frame))
|
||||
(rlet ((vf16 :class vf)
|
||||
(vf17 :class vf)
|
||||
(vf18 :class vf)
|
||||
@@ -332,7 +332,7 @@
|
||||
|
||||
;; definition for method 13 of type bsp-header
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod collect-stats bsp-header ((this bsp-header))
|
||||
(defmethod collect-stats ((this bsp-header))
|
||||
(rlet ((vf16 :class vf)
|
||||
(vf17 :class vf)
|
||||
(vf18 :class vf)
|
||||
@@ -493,7 +493,7 @@
|
||||
|
||||
;; definition for method 16 of type bsp-header
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod collect-regions bsp-header ((this bsp-header) (arg0 sphere) (arg1 int) (arg2 region-prim-list))
|
||||
(defmethod collect-regions ((this bsp-header) (arg0 sphere) (arg1 int) (arg2 region-prim-list))
|
||||
"Determines the number of [[drawable]]s in the `obj` that overlap the given `area-of-interest` this number is stored in the `region-list`'s item count
|
||||
@param area-of-interest The area defined by a sphere that we care about overlaps
|
||||
@param _count The amount of [[drawable]]s in the object to enumerate through
|
||||
|
||||
+235
-250
@@ -3,27 +3,24 @@
|
||||
|
||||
;; definition of type level-vis-info
|
||||
(deftype level-vis-info (basic)
|
||||
((level level :offset-assert 4)
|
||||
(from-level symbol :offset-assert 8)
|
||||
(from-bsp bsp-header :offset-assert 12)
|
||||
(flags vis-info-flag :offset-assert 16)
|
||||
(length uint32 :offset-assert 20)
|
||||
(allocated-length uint32 :offset-assert 24)
|
||||
(dictionary-length uint32 :offset-assert 28)
|
||||
(dictionary uint32 :offset-assert 32)
|
||||
(string-block uint32 :offset-assert 36)
|
||||
(ramdisk uint32 :offset-assert 40)
|
||||
(vis-bits uint32 :offset-assert 44)
|
||||
(current-vis-string uint32 :offset-assert 48)
|
||||
(vis-string uint32 :dynamic :offset-assert 52)
|
||||
((level level)
|
||||
(from-level symbol)
|
||||
(from-bsp bsp-header)
|
||||
(flags vis-info-flag)
|
||||
(length uint32)
|
||||
(allocated-length uint32)
|
||||
(dictionary-length uint32)
|
||||
(dictionary uint32)
|
||||
(string-block uint32)
|
||||
(ramdisk uint32)
|
||||
(vis-bits uint32)
|
||||
(current-vis-string uint32)
|
||||
(vis-string uint32 :dynamic)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x34
|
||||
:flag-assert #x900000034
|
||||
)
|
||||
|
||||
;; definition for method 3 of type level-vis-info
|
||||
(defmethod inspect level-vis-info ((this level-vis-info))
|
||||
(defmethod inspect ((this level-vis-info))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-68)
|
||||
@@ -147,84 +144,81 @@
|
||||
|
||||
;; definition for method 5 of type level-vis-info
|
||||
;; WARN: Return type mismatch uint vs int.
|
||||
(defmethod asize-of level-vis-info ((this level-vis-info))
|
||||
(defmethod asize-of ((this level-vis-info))
|
||||
(the-as int (+ (-> level-vis-info size) (-> this dictionary-length)))
|
||||
)
|
||||
|
||||
;; definition of type level-load-info
|
||||
(deftype level-load-info (basic)
|
||||
((name-list symbol 6 :offset-assert 4)
|
||||
(index int16 :offset-assert 28)
|
||||
(task-level uint8 :offset-assert 30)
|
||||
(name symbol :offset 4)
|
||||
(visname symbol :offset 8)
|
||||
(nickname symbol :offset 12)
|
||||
(dbname symbol :offset 16)
|
||||
(taskname symbol :offset 20)
|
||||
(other-name-1 symbol :offset 24)
|
||||
(packages pair :offset-assert 32)
|
||||
(memory-mode load-buffer-mode :offset-assert 36)
|
||||
(music-bank symbol :offset-assert 40)
|
||||
(ambient-sounds symbol :offset-assert 44)
|
||||
(sound-reverb float :offset-assert 48)
|
||||
(mood-func symbol :offset-assert 52)
|
||||
(mood-init symbol :offset-assert 56)
|
||||
(ocean symbol :offset-assert 60)
|
||||
(sky symbol :offset-assert 64)
|
||||
(use-camera-other symbol :offset-assert 68)
|
||||
(part-engine-max int32 :offset-assert 72)
|
||||
(city-map-bits uint64 :offset-assert 80)
|
||||
(continues pair :offset-assert 88)
|
||||
(tasks pair :offset-assert 92)
|
||||
(priority int32 :offset-assert 96)
|
||||
(load-commands pair :offset-assert 100)
|
||||
(alt-load-commands pair :offset-assert 104)
|
||||
(bsp-mask uint64 :offset-assert 112)
|
||||
(buzzer int32 :offset-assert 120)
|
||||
(buttom-height meters :offset-assert 124)
|
||||
(run-packages pair :offset-assert 128)
|
||||
(prev-level symbol :offset-assert 132)
|
||||
(next-level symbol :offset-assert 136)
|
||||
(wait-for-load symbol :offset-assert 140)
|
||||
(login-func symbol :offset-assert 144)
|
||||
(activate-func symbol :offset-assert 148)
|
||||
(deactivate-func symbol :offset-assert 152)
|
||||
(kill-func symbol :offset-assert 156)
|
||||
(borrow-size uint16 2 :offset-assert 160)
|
||||
(borrow-level symbol 2 :offset-assert 164)
|
||||
(borrow-display? symbol 2 :offset-assert 172)
|
||||
(base-task-mask task-mask :offset-assert 180)
|
||||
(texture-anim symbol 10 :offset-assert 184)
|
||||
(texture-anim-tfrag symbol :offset 184)
|
||||
(texture-anim-pris symbol :offset 188)
|
||||
(texture-anim-shrub symbol :offset 192)
|
||||
(texture-anim-alpha symbol :offset 196)
|
||||
(texture-anim-water symbol :offset 200)
|
||||
(texture-anim-twarp symbol :offset 204)
|
||||
(texture-anim-pris2 symbol :offset 208)
|
||||
(texture-anim-sprite symbol :offset 212)
|
||||
(texture-anim-map symbol :offset 216)
|
||||
(texture-anim-sky symbol :offset 220)
|
||||
(draw-priority float :offset-assert 224)
|
||||
(level-flags uint32 :offset-assert 228)
|
||||
(fog-height float :offset-assert 232)
|
||||
(bigmap-id bigmap-id :offset-assert 236)
|
||||
(ocean-near-translucent? symbol :offset-assert 240)
|
||||
(ocean-far? symbol :offset-assert 244)
|
||||
(mood-range mood-range :inline :offset-assert 256)
|
||||
(max-rain float :offset-assert 272)
|
||||
(fog-mult float :offset-assert 276)
|
||||
(ocean-alpha float :offset-assert 280)
|
||||
(extra-sound-bank pair :offset-assert 284)
|
||||
((name-list symbol 6)
|
||||
(index int16)
|
||||
(task-level uint8)
|
||||
(name symbol :overlay-at (-> name-list 0))
|
||||
(visname symbol :overlay-at (-> name-list 1))
|
||||
(nickname symbol :overlay-at (-> name-list 2))
|
||||
(dbname symbol :overlay-at (-> name-list 3))
|
||||
(taskname symbol :overlay-at (-> name-list 4))
|
||||
(other-name-1 symbol :overlay-at (-> name-list 5))
|
||||
(packages pair)
|
||||
(memory-mode load-buffer-mode)
|
||||
(music-bank symbol)
|
||||
(ambient-sounds symbol)
|
||||
(sound-reverb float)
|
||||
(mood-func symbol)
|
||||
(mood-init symbol)
|
||||
(ocean symbol)
|
||||
(sky symbol)
|
||||
(use-camera-other symbol)
|
||||
(part-engine-max int32)
|
||||
(city-map-bits uint64)
|
||||
(continues pair)
|
||||
(tasks pair)
|
||||
(priority int32)
|
||||
(load-commands pair)
|
||||
(alt-load-commands pair)
|
||||
(bsp-mask uint64)
|
||||
(buzzer int32)
|
||||
(buttom-height meters)
|
||||
(run-packages pair)
|
||||
(prev-level symbol)
|
||||
(next-level symbol)
|
||||
(wait-for-load symbol)
|
||||
(login-func symbol)
|
||||
(activate-func symbol)
|
||||
(deactivate-func symbol)
|
||||
(kill-func symbol)
|
||||
(borrow-size uint16 2)
|
||||
(borrow-level symbol 2)
|
||||
(borrow-display? symbol 2)
|
||||
(base-task-mask task-mask)
|
||||
(texture-anim symbol 10)
|
||||
(texture-anim-tfrag symbol :overlay-at (-> texture-anim 0))
|
||||
(texture-anim-pris symbol :overlay-at (-> texture-anim 1))
|
||||
(texture-anim-shrub symbol :overlay-at (-> texture-anim 2))
|
||||
(texture-anim-alpha symbol :overlay-at (-> texture-anim 3))
|
||||
(texture-anim-water symbol :overlay-at (-> texture-anim 4))
|
||||
(texture-anim-twarp symbol :overlay-at (-> texture-anim 5))
|
||||
(texture-anim-pris2 symbol :overlay-at (-> texture-anim 6))
|
||||
(texture-anim-sprite symbol :overlay-at (-> texture-anim 7))
|
||||
(texture-anim-map symbol :overlay-at (-> texture-anim 8))
|
||||
(texture-anim-sky symbol :overlay-at (-> texture-anim 9))
|
||||
(draw-priority float)
|
||||
(level-flags uint32)
|
||||
(fog-height float)
|
||||
(bigmap-id bigmap-id)
|
||||
(ocean-near-translucent? symbol)
|
||||
(ocean-far? symbol)
|
||||
(mood-range mood-range :inline)
|
||||
(max-rain float)
|
||||
(fog-mult float)
|
||||
(ocean-alpha float)
|
||||
(extra-sound-bank pair)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 9
|
||||
:size-assert #x120
|
||||
:flag-assert #x900000120
|
||||
)
|
||||
|
||||
;; definition for method 3 of type level-load-info
|
||||
(defmethod inspect level-load-info ((this level-load-info))
|
||||
(defmethod inspect ((this level-load-info))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-51)
|
||||
@@ -367,18 +361,15 @@
|
||||
|
||||
;; definition of type login-state
|
||||
(deftype login-state (basic)
|
||||
((state int32 :offset-assert 4)
|
||||
(pos uint32 :offset-assert 8)
|
||||
(elts uint32 :offset-assert 12)
|
||||
(elt drawable 16 :offset-assert 16)
|
||||
((state int32)
|
||||
(pos uint32)
|
||||
(elts uint32)
|
||||
(elt drawable 16)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x50
|
||||
:flag-assert #x900000050
|
||||
)
|
||||
|
||||
;; definition for method 3 of type login-state
|
||||
(defmethod inspect login-state ((this login-state))
|
||||
(defmethod inspect ((this login-state))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -394,110 +385,107 @@
|
||||
|
||||
;; definition of type level
|
||||
(deftype level (basic)
|
||||
((name symbol :offset-assert 4)
|
||||
(load-name symbol :offset-assert 8)
|
||||
(nickname symbol :offset-assert 12)
|
||||
(index int32 :offset-assert 16)
|
||||
(status symbol :offset-assert 20)
|
||||
(borrow-level level 2 :offset-assert 24)
|
||||
(borrow-from-level level :offset-assert 32)
|
||||
(heap kheap :inline :offset-assert 48)
|
||||
(borrow-heap kheap 2 :inline :offset-assert 64)
|
||||
(bsp bsp-header :offset-assert 96)
|
||||
(art-group load-dir-art-group :offset-assert 100)
|
||||
(info level-load-info :offset-assert 104)
|
||||
(texture-page texture-page 18 :offset-assert 108)
|
||||
(loaded-texture-page texture-page 16 :offset-assert 180)
|
||||
(loaded-texture-page-count int32 :offset-assert 244)
|
||||
(entity entity-links-array :offset-assert 248)
|
||||
(closest-object float :offset-assert 252)
|
||||
(closest-object-array float 18 :offset 252)
|
||||
(upload-size int32 18 :offset 324)
|
||||
(inside-boxes symbol :offset-assert 396)
|
||||
(display? symbol :offset-assert 400)
|
||||
(render? symbol :offset-assert 404)
|
||||
(meta-inside? symbol :offset-assert 408)
|
||||
(force-inside? symbol :offset-assert 412)
|
||||
(mood-context mood-context :inline :offset-assert 416)
|
||||
(mood-func (function mood-context float int none) :offset-assert 2384)
|
||||
(mood-init (function mood-context none) :offset-assert 2388)
|
||||
(vis-bits pointer :offset-assert 2392)
|
||||
(all-visible? symbol :offset-assert 2396)
|
||||
(force-all-visible? symbol :offset-assert 2400)
|
||||
(linking symbol :offset-assert 2404)
|
||||
(vis-info level-vis-info 8 :offset-assert 2408)
|
||||
(vis-self-index int32 :offset-assert 2440)
|
||||
(vis-adj-index int32 :offset-assert 2444)
|
||||
(vis-buffer uint8 2048 :offset-assert 2448)
|
||||
(mem-usage-block memory-usage-block :offset-assert 4496)
|
||||
(mem-usage int32 :offset-assert 4500)
|
||||
(code-memory-start pointer :offset-assert 4504)
|
||||
(code-memory-end pointer :offset-assert 4508)
|
||||
(load-start-time time-frame :offset-assert 4512)
|
||||
(load-stop-time time-frame :offset-assert 4520)
|
||||
(load-buffer uint32 2 :offset-assert 4528)
|
||||
(load-buffer-size uint32 :offset-assert 4536)
|
||||
(load-buffer-last uint32 :offset-assert 4540)
|
||||
(load-buffer-mode load-buffer-mode :offset-assert 4544)
|
||||
(display-start-time time-frame :offset-assert 4552)
|
||||
(memory-mask uint32 :offset-assert 4560)
|
||||
(task-mask task-mask :offset-assert 4564)
|
||||
(tfrag-gs-test gs-test :offset-assert 4568)
|
||||
(texture-dirty-masks texture-mask 10 :inline :offset-assert 4576)
|
||||
(texture-mask texture-mask 18 :inline :offset-assert 4736)
|
||||
(sky-mask texture-mask :inline :offset-assert 5024)
|
||||
(tfrag-masks texture-masks-array :offset-assert 5040)
|
||||
(tfrag-dists pointer :offset-assert 5044)
|
||||
(shrub-masks texture-masks-array :offset-assert 5048)
|
||||
(shrub-dists pointer :offset-assert 5052)
|
||||
(alpha-masks texture-masks-array :offset-assert 5056)
|
||||
(alpha-dists pointer :offset-assert 5060)
|
||||
(water-masks texture-masks-array :offset-assert 5064)
|
||||
(water-dists pointer :offset-assert 5068)
|
||||
(tfrag-last-calls int32 6 :offset-assert 5072)
|
||||
(tfrag-last-calls-u32 uint32 6 :offset 5072)
|
||||
(texture-anim-array texture-anim-array 10 :offset-assert 5096)
|
||||
(light-hash light-hash :offset-assert 5136)
|
||||
(draw-priority float :offset-assert 5140)
|
||||
(draw-index int32 :offset-assert 5144)
|
||||
(part-engine engine :offset-assert 5148)
|
||||
(user-object basic 4 :offset-assert 5152)
|
||||
(loaded-text-info-count int32 :offset-assert 5168)
|
||||
(loaded-text-info game-text-info 8 :offset-assert 5172)
|
||||
(level-type type :offset-assert 5204)
|
||||
(load-order int64 :offset-assert 5208)
|
||||
(pad int8 12 :offset-assert 5216)
|
||||
((name symbol)
|
||||
(load-name symbol)
|
||||
(nickname symbol)
|
||||
(index int32)
|
||||
(status symbol)
|
||||
(borrow-level level 2)
|
||||
(borrow-from-level level)
|
||||
(heap kheap :inline)
|
||||
(borrow-heap kheap 2 :inline)
|
||||
(bsp bsp-header)
|
||||
(art-group load-dir-art-group)
|
||||
(info level-load-info)
|
||||
(texture-page texture-page 18)
|
||||
(loaded-texture-page texture-page 16)
|
||||
(loaded-texture-page-count int32)
|
||||
(entity entity-links-array)
|
||||
(closest-object float)
|
||||
(closest-object-array float 18 :overlay-at closest-object)
|
||||
(upload-size int32 18 :offset 324)
|
||||
(inside-boxes symbol)
|
||||
(display? symbol)
|
||||
(render? symbol)
|
||||
(meta-inside? symbol)
|
||||
(force-inside? symbol)
|
||||
(mood-context mood-context :inline)
|
||||
(mood-func (function mood-context float int none))
|
||||
(mood-init (function mood-context none))
|
||||
(vis-bits pointer)
|
||||
(all-visible? symbol)
|
||||
(force-all-visible? symbol)
|
||||
(linking symbol)
|
||||
(vis-info level-vis-info 8)
|
||||
(vis-self-index int32)
|
||||
(vis-adj-index int32)
|
||||
(vis-buffer uint8 2048)
|
||||
(mem-usage-block memory-usage-block)
|
||||
(mem-usage int32)
|
||||
(code-memory-start pointer)
|
||||
(code-memory-end pointer)
|
||||
(load-start-time time-frame)
|
||||
(load-stop-time time-frame)
|
||||
(load-buffer uint32 2)
|
||||
(load-buffer-size uint32)
|
||||
(load-buffer-last uint32)
|
||||
(load-buffer-mode load-buffer-mode)
|
||||
(display-start-time time-frame)
|
||||
(memory-mask uint32)
|
||||
(task-mask task-mask)
|
||||
(tfrag-gs-test gs-test)
|
||||
(texture-dirty-masks texture-mask 10 :inline)
|
||||
(texture-mask texture-mask 18 :inline)
|
||||
(sky-mask texture-mask :inline)
|
||||
(tfrag-masks texture-masks-array)
|
||||
(tfrag-dists pointer)
|
||||
(shrub-masks texture-masks-array)
|
||||
(shrub-dists pointer)
|
||||
(alpha-masks texture-masks-array)
|
||||
(alpha-dists pointer)
|
||||
(water-masks texture-masks-array)
|
||||
(water-dists pointer)
|
||||
(tfrag-last-calls int32 6)
|
||||
(tfrag-last-calls-u32 uint32 6 :overlay-at (-> tfrag-last-calls 0))
|
||||
(texture-anim-array texture-anim-array 10)
|
||||
(light-hash light-hash)
|
||||
(draw-priority float)
|
||||
(draw-index int32)
|
||||
(part-engine engine)
|
||||
(user-object basic 4)
|
||||
(loaded-text-info-count int32)
|
||||
(loaded-text-info game-text-info 8)
|
||||
(level-type type)
|
||||
(load-order int64)
|
||||
(pad int8 12)
|
||||
)
|
||||
:method-count-assert 30
|
||||
:size-assert #x146c
|
||||
:flag-assert #x1e0000146c
|
||||
(:methods
|
||||
(deactivate (_type_) _type_ 9)
|
||||
(is-object-visible? (_type_ int) symbol 10)
|
||||
(level-method-11 () none 11)
|
||||
(unload! (_type_) _type_ 12)
|
||||
(bsp-name (_type_) symbol 13)
|
||||
(compute-memory-usage! (_type_ symbol) memory-usage-block 14)
|
||||
(inside-boxes-check (_type_ vector) symbol 15)
|
||||
(update-vis! (_type_ level-vis-info uint (pointer uint8)) symbol 16)
|
||||
(load-continue (_type_) _type_ 17)
|
||||
(load-begin (_type_) _type_ 18)
|
||||
(login-begin (_type_) _type_ 19)
|
||||
(debug-print-region-splitbox (_type_ vector object) none 20)
|
||||
(get-art-group-by-name (_type_ string) art-group 21)
|
||||
(level-method-22 (_type_ symbol) int 22)
|
||||
(lookup-text (_type_ text-id symbol) string 23)
|
||||
(level-method-24 () none 24)
|
||||
(birth (_type_) _type_ 25)
|
||||
(level-status-update! (_type_ symbol) _type_ 26)
|
||||
(load-required-packages (_type_) _type_ 27)
|
||||
(init-vis-from-bsp (_type_) none 28)
|
||||
(vis-clear (_type_) none 29)
|
||||
(deactivate (_type_) _type_)
|
||||
(is-object-visible? (_type_ int) symbol)
|
||||
(level-method-11 () none)
|
||||
(unload! (_type_) _type_)
|
||||
(bsp-name (_type_) symbol)
|
||||
(compute-memory-usage! (_type_ symbol) memory-usage-block)
|
||||
(inside-boxes-check (_type_ vector) symbol)
|
||||
(update-vis! (_type_ level-vis-info uint (pointer uint8)) symbol)
|
||||
(load-continue (_type_) _type_)
|
||||
(load-begin (_type_) _type_)
|
||||
(login-begin (_type_) _type_)
|
||||
(debug-print-region-splitbox (_type_ vector object) none)
|
||||
(get-art-group-by-name (_type_ string) art-group)
|
||||
(level-method-22 (_type_ symbol) int)
|
||||
(lookup-text (_type_ text-id symbol) string)
|
||||
(level-method-24 () none)
|
||||
(birth (_type_) _type_)
|
||||
(level-status-update! (_type_ symbol) _type_)
|
||||
(load-required-packages (_type_) _type_)
|
||||
(init-vis-from-bsp (_type_) none)
|
||||
(vis-clear (_type_) none)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type level
|
||||
(defmethod inspect level ((this level))
|
||||
(defmethod inspect ((this level))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-48)
|
||||
@@ -645,71 +633,68 @@
|
||||
|
||||
;; definition of type level-group
|
||||
(deftype level-group (basic)
|
||||
((length int32 :offset-assert 4)
|
||||
(log-in-level-bsp bsp-header :offset-assert 8)
|
||||
(loading-level level :offset-assert 12)
|
||||
(entity-link entity-links :offset 16)
|
||||
(border? symbol :offset-assert 20)
|
||||
(vis? symbol :offset-assert 24)
|
||||
(want-level basic :offset-assert 28)
|
||||
(receiving-level basic :offset-assert 32)
|
||||
(load-commands pair :offset-assert 36)
|
||||
(play? symbol :offset-assert 40)
|
||||
(target-pos vector 2 :inline :offset-assert 48)
|
||||
(camera-pos vector 2 :inline :offset-assert 80)
|
||||
(heap kheap :inline :offset-assert 112)
|
||||
(sound-bank basic 4 :offset-assert 128)
|
||||
(disk-load-timing? symbol :offset-assert 144)
|
||||
(load-level symbol :offset-assert 148)
|
||||
(load-size uint32 :offset-assert 152)
|
||||
(load-time float :offset-assert 156)
|
||||
(load-login-time float :offset-assert 160)
|
||||
(draw-level-count int32 :offset-assert 164)
|
||||
(draw-level level 7 :offset-assert 168)
|
||||
(draw-index-map uint8 7 :offset-assert 196)
|
||||
(load-order uint64 :offset-assert 208)
|
||||
(pad uint8 30 :offset-assert 216)
|
||||
(level level 7 :inline :offset-assert 256)
|
||||
(level0 level :inline :offset 256)
|
||||
(level1 level :inline :offset 5488)
|
||||
(level2 level :inline :offset 10720)
|
||||
(level3 level :inline :offset 15952)
|
||||
(level4 level :inline :offset 21184)
|
||||
(level5 level :inline :offset 26416)
|
||||
(default-level level :inline :offset 31648)
|
||||
(pad2 uint8 4 :offset-assert 36880)
|
||||
((length int32)
|
||||
(log-in-level-bsp bsp-header)
|
||||
(loading-level level)
|
||||
(entity-link entity-links :offset 16)
|
||||
(border? symbol)
|
||||
(vis? symbol)
|
||||
(want-level basic)
|
||||
(receiving-level basic)
|
||||
(load-commands pair)
|
||||
(play? symbol)
|
||||
(target-pos vector 2 :inline)
|
||||
(camera-pos vector 2 :inline)
|
||||
(heap kheap :inline)
|
||||
(sound-bank basic 4)
|
||||
(disk-load-timing? symbol)
|
||||
(load-level symbol)
|
||||
(load-size uint32)
|
||||
(load-time float)
|
||||
(load-login-time float)
|
||||
(draw-level-count int32)
|
||||
(draw-level level 7)
|
||||
(draw-index-map uint8 7)
|
||||
(load-order uint64)
|
||||
(pad uint8 30)
|
||||
(level level 7 :inline)
|
||||
(level0 level :inline :overlay-at (-> level 0))
|
||||
(level1 level :inline :offset 5488)
|
||||
(level2 level :inline :offset 10720)
|
||||
(level3 level :inline :offset 15952)
|
||||
(level4 level :inline :offset 21184)
|
||||
(level5 level :inline :offset 26416)
|
||||
(default-level level :inline :offset 31648)
|
||||
(pad2 uint8 4)
|
||||
)
|
||||
:method-count-assert 31
|
||||
:size-assert #x9014
|
||||
:flag-assert #x1f00009014
|
||||
(:methods
|
||||
(level-get (_type_ symbol) level 9)
|
||||
(level-get-with-status (_type_ symbol) level 10)
|
||||
(get-level-by-heap-ptr-and-status (_type_ pointer symbol) level 11)
|
||||
(level-get-for-use (_type_ symbol symbol) level 12)
|
||||
(activate-levels! (_type_) int 13)
|
||||
(debug-print-entities (_type_ symbol type) none 14)
|
||||
(debug-draw-actors (_type_ symbol) none 15)
|
||||
(assign-draw-indices (_type_) none 16)
|
||||
(actors-update (_type_) none 17)
|
||||
(update-nav-meshes-method (_type_) none 18)
|
||||
(level-update (_type_) none 19)
|
||||
(level-get-target-inside (_type_) level 20)
|
||||
(alloc-levels-if-needed (_type_ symbol) none 21)
|
||||
(load-commands-set! (_type_ pair) none 22)
|
||||
(art-group-get-by-name (_type_ string (pointer uint32)) art-group 23)
|
||||
(alt-load-command-get-index (_type_ symbol int) pair 24)
|
||||
(update-vis-volumes (_type_) none 25)
|
||||
(update-vis-volumes-from-nav-mesh (_type_) none 26)
|
||||
(print-volume-sizes (_type_) none 27)
|
||||
(level-status (_type_ symbol) symbol 28)
|
||||
(load-in-progress? (_type_) symbol 29)
|
||||
(level-get-most-disposable (_type_) level 30)
|
||||
(level-get (_type_ symbol) level)
|
||||
(level-get-with-status (_type_ symbol) level)
|
||||
(get-level-by-heap-ptr-and-status (_type_ pointer symbol) level)
|
||||
(level-get-for-use (_type_ symbol symbol) level)
|
||||
(activate-levels! (_type_) int)
|
||||
(debug-print-entities (_type_ symbol type) none)
|
||||
(debug-draw-actors (_type_ symbol) none)
|
||||
(assign-draw-indices (_type_) none)
|
||||
(actors-update (_type_) none)
|
||||
(update-nav-meshes-method (_type_) none)
|
||||
(level-update (_type_) none)
|
||||
(level-get-target-inside (_type_) level)
|
||||
(alloc-levels-if-needed (_type_ symbol) none)
|
||||
(load-commands-set! (_type_ pair) none)
|
||||
(art-group-get-by-name (_type_ string (pointer uint32)) art-group)
|
||||
(alt-load-command-get-index (_type_ symbol int) pair)
|
||||
(update-vis-volumes (_type_) none)
|
||||
(update-vis-volumes-from-nav-mesh (_type_) none)
|
||||
(print-volume-sizes (_type_) none)
|
||||
(level-status (_type_ symbol) symbol)
|
||||
(load-in-progress? (_type_) symbol)
|
||||
(level-get-most-disposable (_type_) level)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type level-group
|
||||
(defmethod inspect level-group ((this level-group))
|
||||
(defmethod inspect ((this level-group))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-13)
|
||||
|
||||
+35
-35
@@ -21,7 +21,7 @@
|
||||
|
||||
;; definition for method 24 of type level-group
|
||||
;; WARN: Return type mismatch object vs pair.
|
||||
(defmethod alt-load-command-get-index level-group ((this level-group) (arg0 symbol) (arg1 int))
|
||||
(defmethod alt-load-command-get-index ((this level-group) (arg0 symbol) (arg1 int))
|
||||
(let ((v1-1 (-> (lookup-level-info arg0) alt-load-commands)))
|
||||
(while (nonzero? arg1)
|
||||
(+! arg1 -1)
|
||||
@@ -35,12 +35,12 @@
|
||||
)
|
||||
|
||||
;; definition for method 29 of type level-group
|
||||
(defmethod load-in-progress? level-group ((this level-group))
|
||||
(defmethod load-in-progress? ((this level-group))
|
||||
(!= (-> *level* loading-level) (-> *level* default-level))
|
||||
)
|
||||
|
||||
;; definition for method 11 of type level-group
|
||||
(defmethod get-level-by-heap-ptr-and-status level-group ((this level-group) (arg0 pointer) (arg1 symbol))
|
||||
(defmethod get-level-by-heap-ptr-and-status ((this level-group) (arg0 pointer) (arg1 symbol))
|
||||
(case arg1
|
||||
(('active)
|
||||
(dotimes (v1-1 (-> this length))
|
||||
@@ -81,7 +81,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 21 of type level
|
||||
(defmethod get-art-group-by-name level ((this level) (arg0 string))
|
||||
(defmethod get-art-group-by-name ((this level) (arg0 string))
|
||||
(countdown (s4-0 (-> this art-group art-group-array length))
|
||||
(if (name= (-> this art-group art-group-array s4-0 name) arg0)
|
||||
(return (-> this art-group art-group-array s4-0))
|
||||
@@ -91,7 +91,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 13 of type level
|
||||
(defmethod bsp-name level ((this level))
|
||||
(defmethod bsp-name ((this level))
|
||||
(if (and (!= (-> this status) 'inactive) (-> this bsp) (nonzero? (-> this bsp name)))
|
||||
(-> this bsp name)
|
||||
(-> this name)
|
||||
@@ -108,13 +108,13 @@
|
||||
)
|
||||
|
||||
;; definition for method 2 of type level
|
||||
(defmethod print level ((this level))
|
||||
(defmethod print ((this level))
|
||||
(format #t "#<~A ~A ~S @ #x~X>" (-> this type) (-> this status) (-> this name) this)
|
||||
this
|
||||
)
|
||||
|
||||
;; definition for method 7 of type bsp-header
|
||||
(defmethod relocate bsp-header ((this bsp-header) (arg0 int))
|
||||
(defmethod relocate ((this bsp-header) (arg0 int))
|
||||
(let ((s5-0 (-> *level* loading-level)))
|
||||
(when s5-0
|
||||
(cond
|
||||
@@ -153,7 +153,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 27 of type level
|
||||
(defmethod load-required-packages level ((this level))
|
||||
(defmethod load-required-packages ((this level))
|
||||
(when (not (or (not (-> this bsp)) (= *kernel-boot-mode* 'debug-boot)))
|
||||
(if (not (null? (-> this info packages)))
|
||||
(load-package "common" global)
|
||||
@@ -165,7 +165,7 @@
|
||||
;; definition for method 29 of type level
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod vis-clear level ((this level))
|
||||
(defmethod vis-clear ((this level))
|
||||
(countdown (v1-0 8)
|
||||
(nop!)
|
||||
(set! (-> this vis-info v1-0) #f)
|
||||
@@ -180,7 +180,7 @@
|
||||
|
||||
;; definition for method 28 of type level
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod init-vis-from-bsp level ((this level))
|
||||
(defmethod init-vis-from-bsp ((this level))
|
||||
(when (not (or (= (-> this status) 'inactive) (not (-> this bsp))))
|
||||
(set! (-> this all-visible?) 'loading)
|
||||
(dotimes (s5-0 8)
|
||||
@@ -211,7 +211,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 12 of type level-group
|
||||
(defmethod level-get-for-use level-group ((this level-group) (arg0 symbol) (arg1 symbol))
|
||||
(defmethod level-get-for-use ((this level-group) (arg0 symbol) (arg1 symbol))
|
||||
(local-vars (s5-1 level))
|
||||
(alloc-levels-if-needed this #f)
|
||||
(let* ((s2-0 (lookup-level-info arg0))
|
||||
@@ -259,7 +259,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 28 of type level-group
|
||||
(defmethod level-status level-group ((this level-group) (arg0 symbol))
|
||||
(defmethod level-status ((this level-group) (arg0 symbol))
|
||||
(let ((v1-1 (level-get *level* arg0)))
|
||||
(if v1-1
|
||||
(-> v1-1 status)
|
||||
@@ -269,7 +269,7 @@
|
||||
|
||||
;; definition for method 26 of type level
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod level-status-update! level ((this level) (arg0 symbol))
|
||||
(defmethod level-status-update! ((this level) (arg0 symbol))
|
||||
(case arg0
|
||||
(('inactive)
|
||||
(-> this status)
|
||||
@@ -368,7 +368,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 17 of type level
|
||||
(defmethod load-continue level ((this level))
|
||||
(defmethod load-continue ((this level))
|
||||
(local-vars (sv-16 symbol))
|
||||
(when (-> this linking)
|
||||
(when (nonzero? (link-resume))
|
||||
@@ -494,7 +494,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 18 of type level
|
||||
(defmethod load-begin level ((this level))
|
||||
(defmethod load-begin ((this level))
|
||||
(local-vars (bits-to-use int) (borrow-from-lev level) (found-borrow symbol))
|
||||
(dotimes (v1-0 2)
|
||||
(set! (-> this borrow-level v1-0) #f)
|
||||
@@ -773,7 +773,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 19 of type level
|
||||
(defmethod login-begin level ((this level))
|
||||
(defmethod login-begin ((this level))
|
||||
(set! (-> *texture-pool* allocate-func) texture-page-default-allocate)
|
||||
(cond
|
||||
((-> this bsp)
|
||||
@@ -1099,7 +1099,7 @@
|
||||
|
||||
;; definition for method 25 of type level
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod birth level ((this level))
|
||||
(defmethod birth ((this level))
|
||||
(local-vars (sv-96 int))
|
||||
(case (-> this status)
|
||||
(('loaded)
|
||||
@@ -1173,7 +1173,7 @@
|
||||
|
||||
;; definition for method 9 of type level
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod deactivate level ((this level))
|
||||
(defmethod deactivate ((this level))
|
||||
(case (-> this status)
|
||||
(('active 'alive)
|
||||
(format 0 "----------- kill ~A (status ~A)~%" this (-> this status))
|
||||
@@ -1219,7 +1219,7 @@
|
||||
|
||||
;; definition for method 12 of type level
|
||||
;; WARN: Using new Jak 2 rtype-of
|
||||
(defmethod unload! level ((this level))
|
||||
(defmethod unload! ((this level))
|
||||
(deactivate this)
|
||||
(when (!= (-> this status) 'inactive)
|
||||
(dotimes (s5-0 2)
|
||||
@@ -1377,7 +1377,7 @@
|
||||
|
||||
;; definition for method 10 of type level
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [addiu a0, a0, 56]
|
||||
(defmethod is-object-visible? level ((this level) (arg0 int))
|
||||
(defmethod is-object-visible? ((this level) (arg0 int))
|
||||
(local-vars (a0-1 int) (a0-3 int))
|
||||
(let ((v1-0 (-> this vis-bits)))
|
||||
(shift-arith-right-32 a0-1 arg0 3)
|
||||
@@ -1391,7 +1391,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 15 of type level
|
||||
(defmethod inside-boxes-check level ((this level) (arg0 vector))
|
||||
(defmethod inside-boxes-check ((this level) (arg0 vector))
|
||||
(cond
|
||||
((not (-> this bsp))
|
||||
#f
|
||||
@@ -1407,7 +1407,7 @@
|
||||
|
||||
;; definition for method 20 of type level
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod debug-print-region-splitbox level ((this level) (arg0 vector) (arg1 object))
|
||||
(defmethod debug-print-region-splitbox ((this level) (arg0 vector) (arg1 object))
|
||||
(cond
|
||||
((or (not (-> this bsp)) (zero? (-> this bsp region-tree)))
|
||||
)
|
||||
@@ -1420,7 +1420,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 8 of type level
|
||||
(defmethod mem-usage level ((this level) (arg0 memory-usage-block) (arg1 int))
|
||||
(defmethod mem-usage ((this level) (arg0 memory-usage-block) (arg1 int))
|
||||
(when (= (-> this status) 'active)
|
||||
(set! (-> arg0 length) (max 67 (-> arg0 length)))
|
||||
(set! (-> arg0 data 66 name) "entity-links")
|
||||
@@ -1476,7 +1476,7 @@
|
||||
|
||||
;; definition for method 21 of type level-group
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod alloc-levels-if-needed level-group ((this level-group) (arg0 symbol))
|
||||
(defmethod alloc-levels-if-needed ((this level-group) (arg0 symbol))
|
||||
(when (zero? (-> *level* heap base))
|
||||
(kmemopen global "level-heaps")
|
||||
(when (nmember "game" *kernel-packages*)
|
||||
@@ -1506,7 +1506,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 10 of type level-group
|
||||
(defmethod level-get-with-status level-group ((this level-group) (arg0 symbol))
|
||||
(defmethod level-get-with-status ((this level-group) (arg0 symbol))
|
||||
(dotimes (v1-0 (-> this length))
|
||||
(if (= (-> this level v1-0 status) arg0)
|
||||
(return (-> this level v1-0))
|
||||
@@ -1516,7 +1516,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 30 of type level-group
|
||||
(defmethod level-get-most-disposable level-group ((this level-group))
|
||||
(defmethod level-get-most-disposable ((this level-group))
|
||||
(dotimes (v1-0 (-> this length))
|
||||
(case (-> this level v1-0 status)
|
||||
(('inactive)
|
||||
@@ -1555,7 +1555,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 9 of type level-group
|
||||
(defmethod level-get level-group ((this level-group) (arg0 symbol))
|
||||
(defmethod level-get ((this level-group) (arg0 symbol))
|
||||
(dotimes (v1-0 (-> this length))
|
||||
(if (and (!= (-> this level v1-0 status) 'inactive)
|
||||
(or (= (-> this level v1-0 name) arg0) (= (-> this level v1-0 load-name) arg0))
|
||||
@@ -1567,7 +1567,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 23 of type level-group
|
||||
(defmethod art-group-get-by-name level-group ((this level-group) (arg0 string) (arg1 (pointer uint32)))
|
||||
(defmethod art-group-get-by-name ((this level-group) (arg0 string) (arg1 (pointer uint32)))
|
||||
(countdown (s4-0 7)
|
||||
(let ((s3-0 (-> *level* level s4-0)))
|
||||
(when (or (= (-> s3-0 status) 'active) (= (-> s3-0 status) 'reserved))
|
||||
@@ -1586,7 +1586,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 13 of type level-group
|
||||
(defmethod activate-levels! level-group ((this level-group))
|
||||
(defmethod activate-levels! ((this level-group))
|
||||
(dotimes (s5-0 (-> this length))
|
||||
(level-status-update! (-> this level s5-0) 'active)
|
||||
)
|
||||
@@ -1594,7 +1594,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 20 of type level-group
|
||||
(defmethod level-get-target-inside level-group ((this level-group))
|
||||
(defmethod level-get-target-inside ((this level-group))
|
||||
(let ((s5-0 (target-pos 0)))
|
||||
(let ((v1-1 (-> *load-state* vis-nick)))
|
||||
(when v1-1
|
||||
@@ -1665,14 +1665,14 @@
|
||||
|
||||
;; definition for method 22 of type level-group
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod load-commands-set! level-group ((this level-group) (arg0 pair))
|
||||
(defmethod load-commands-set! ((this level-group) (arg0 pair))
|
||||
(set! (-> this load-commands) arg0)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 8 of type level-group
|
||||
(defmethod mem-usage level-group ((this level-group) (arg0 memory-usage-block) (arg1 int))
|
||||
(defmethod mem-usage ((this level-group) (arg0 memory-usage-block) (arg1 int))
|
||||
(dotimes (s3-0 (-> this length))
|
||||
(mem-usage (-> this level s3-0) arg0 arg1)
|
||||
)
|
||||
@@ -1971,7 +1971,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 10 of type load-state
|
||||
(defmethod update! load-state ((this load-state))
|
||||
(defmethod update! ((this load-state))
|
||||
(local-vars (all-levels-inactive symbol))
|
||||
(let ((discarded-level #f))
|
||||
(let ((most-recent-load-order 0))
|
||||
@@ -2156,7 +2156,7 @@
|
||||
|
||||
;; definition for method 16 of type level-group
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod assign-draw-indices level-group ((this level-group))
|
||||
(defmethod assign-draw-indices ((this level-group))
|
||||
(local-vars (t0-3 symbol))
|
||||
(set! (-> this draw-level-count) 0)
|
||||
(dotimes (v1-0 7)
|
||||
@@ -2211,7 +2211,7 @@
|
||||
|
||||
;; definition for method 19 of type level-group
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod level-update level-group ((this level-group))
|
||||
(defmethod level-update ((this level-group))
|
||||
(local-vars (v1-101 symbol))
|
||||
(camera-pos)
|
||||
(new 'static 'boxed-array :type symbol :length 0 :allocated-length 6)
|
||||
|
||||
+36
-69
@@ -3,21 +3,18 @@
|
||||
|
||||
;; definition of type region
|
||||
(deftype region (structure)
|
||||
((id uint32 :offset-assert 0)
|
||||
(on-enter pair :offset-assert 4)
|
||||
(on-inside pair :offset-assert 8)
|
||||
(on-exit pair :offset-assert 12)
|
||||
((id uint32)
|
||||
(on-enter pair)
|
||||
(on-inside pair)
|
||||
(on-exit pair)
|
||||
)
|
||||
:method-count-assert 10
|
||||
:size-assert #x10
|
||||
:flag-assert #xa00000010
|
||||
(:methods
|
||||
(region-method-9 (_type_ vector) symbol 9)
|
||||
(region-method-9 (_type_ vector) symbol)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type region
|
||||
(defmethod inspect region ((this region))
|
||||
(defmethod inspect ((this region))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -33,15 +30,12 @@
|
||||
|
||||
;; definition of type region-array
|
||||
(deftype region-array (inline-array-class)
|
||||
((data region :inline :dynamic :offset-assert 16)
|
||||
((data region :inline :dynamic)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type region-array
|
||||
(defmethod inspect region-array ((this region-array))
|
||||
(defmethod inspect ((this region-array))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -59,20 +53,17 @@
|
||||
|
||||
;; definition of type drawable-region-prim
|
||||
(deftype drawable-region-prim (drawable)
|
||||
((region region :offset 8)
|
||||
((region region :offset 8)
|
||||
)
|
||||
:method-count-assert 20
|
||||
:size-assert #x20
|
||||
:flag-assert #x1400000020
|
||||
(:methods
|
||||
(debug-draw-region (_type_ int) none 17)
|
||||
(track-region (_type_ region-prim-area) symbol 18)
|
||||
(within-area? (_type_ region-prim-area) symbol 19)
|
||||
(debug-draw-region (_type_ int) none)
|
||||
(track-region (_type_ region-prim-area) symbol)
|
||||
(within-area? (_type_ region-prim-area) symbol)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type drawable-region-prim
|
||||
(defmethod inspect drawable-region-prim ((this drawable-region-prim))
|
||||
(defmethod inspect ((this drawable-region-prim))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -87,20 +78,17 @@
|
||||
|
||||
;; definition of type drawable-tree-region-prim
|
||||
(deftype drawable-tree-region-prim (drawable-tree)
|
||||
((name basic :offset 8)
|
||||
(data2 drawable-inline-array :dynamic :offset 32)
|
||||
((name basic :offset 8)
|
||||
(data2 drawable-inline-array :dynamic :offset 32)
|
||||
)
|
||||
:method-count-assert 19
|
||||
:size-assert #x20
|
||||
:flag-assert #x1300000020
|
||||
(:methods
|
||||
(drawable-tree-region-prim-method-17 (_type_ vector) symbol 17)
|
||||
(debug-print (_type_ vector object) none 18)
|
||||
(drawable-tree-region-prim-method-17 (_type_ vector) symbol)
|
||||
(debug-print (_type_ vector object) none)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type drawable-tree-region-prim
|
||||
(defmethod inspect drawable-tree-region-prim ((this drawable-tree-region-prim))
|
||||
(defmethod inspect ((this drawable-tree-region-prim))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-7)
|
||||
@@ -120,24 +108,18 @@
|
||||
|
||||
;; definition of type drawable-inline-array-region-prim
|
||||
(deftype drawable-inline-array-region-prim (drawable-inline-array)
|
||||
((data drawable-region-prim 1 :inline :offset-assert 32)
|
||||
(pad uint8 4 :offset-assert 64)
|
||||
((data drawable-region-prim 1 :inline)
|
||||
(pad uint8 4)
|
||||
)
|
||||
:method-count-assert 17
|
||||
:size-assert #x44
|
||||
:flag-assert #x1100000044
|
||||
)
|
||||
|
||||
;; definition of type drawable-region-sphere
|
||||
(deftype drawable-region-sphere (drawable-region-prim)
|
||||
()
|
||||
:method-count-assert 20
|
||||
:size-assert #x20
|
||||
:flag-assert #x1400000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type drawable-region-sphere
|
||||
(defmethod inspect drawable-region-sphere ((this drawable-region-sphere))
|
||||
(defmethod inspect ((this drawable-region-sphere))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -152,18 +134,15 @@
|
||||
|
||||
;; definition of type region-face-data
|
||||
(deftype region-face-data (structure)
|
||||
((normal vector :inline :offset-assert 0)
|
||||
(normal-offset float :offset 12)
|
||||
(num-points uint32 :offset-assert 16)
|
||||
(points vector :inline :dynamic :offset-assert 32)
|
||||
((normal vector :inline)
|
||||
(normal-offset float :overlay-at (-> normal data 3))
|
||||
(num-points uint32)
|
||||
(points vector :inline :dynamic)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x20
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type region-face-data
|
||||
(defmethod inspect region-face-data ((this region-face-data))
|
||||
(defmethod inspect ((this region-face-data))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -179,15 +158,12 @@
|
||||
|
||||
;; definition of type drawable-region-face
|
||||
(deftype drawable-region-face (drawable-region-prim)
|
||||
((data region-face-data :offset 12)
|
||||
((data region-face-data :offset 12)
|
||||
)
|
||||
:method-count-assert 20
|
||||
:size-assert #x20
|
||||
:flag-assert #x1400000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type drawable-region-face
|
||||
(defmethod inspect drawable-region-face ((this drawable-region-face))
|
||||
(defmethod inspect ((this drawable-region-face))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -203,16 +179,13 @@
|
||||
|
||||
;; definition of type region-face-array
|
||||
(deftype region-face-array (inline-array-class)
|
||||
((data drawable-region-face :inline :dynamic :offset 16)
|
||||
(pad0 uint8 4 :offset-assert 16)
|
||||
((data drawable-region-face :inline :dynamic :offset 16)
|
||||
(pad0 uint8 4)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x14
|
||||
:flag-assert #x900000014
|
||||
)
|
||||
|
||||
;; definition for method 3 of type region-face-array
|
||||
(defmethod inspect region-face-array ((this region-face-array))
|
||||
(defmethod inspect ((this region-face-array))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -230,15 +203,12 @@
|
||||
|
||||
;; definition of type drawable-region-volume
|
||||
(deftype drawable-region-volume (drawable-region-prim)
|
||||
((faces region-face-array :offset 12)
|
||||
((faces region-face-array :offset 12)
|
||||
)
|
||||
:method-count-assert 20
|
||||
:size-assert #x20
|
||||
:flag-assert #x1400000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type drawable-region-volume
|
||||
(defmethod inspect drawable-region-volume ((this drawable-region-volume))
|
||||
(defmethod inspect ((this drawable-region-volume))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
@@ -254,16 +224,13 @@
|
||||
|
||||
;; definition of type region-prim-list
|
||||
(deftype region-prim-list (structure)
|
||||
((num-items int32 :offset-assert 0)
|
||||
(items drawable-region-prim 320 :offset-assert 4)
|
||||
((num-items int32)
|
||||
(items drawable-region-prim 320)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x504
|
||||
:flag-assert #x900000504
|
||||
)
|
||||
|
||||
;; definition for method 3 of type region-prim-list
|
||||
(defmethod inspect region-prim-list ((this region-prim-list))
|
||||
(defmethod inspect ((this region-prim-list))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
|
||||
+25
-25
@@ -3,7 +3,7 @@
|
||||
|
||||
;; definition for method 8 of type drawable-region-prim
|
||||
;; WARN: Return type mismatch int vs drawable-region-prim.
|
||||
(defmethod mem-usage drawable-region-prim ((this drawable-region-prim) (arg0 memory-usage-block) (arg1 int))
|
||||
(defmethod mem-usage ((this drawable-region-prim) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 length) (max 50 (-> arg0 length)))
|
||||
(set! (-> arg0 data 49 name) "region")
|
||||
(+! (-> arg0 data 49 count) 1)
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
;; definition for method 8 of type drawable-inline-array-region-prim
|
||||
;; WARN: Return type mismatch int vs drawable-inline-array-region-prim.
|
||||
(defmethod mem-usage drawable-inline-array-region-prim ((this drawable-inline-array-region-prim) (arg0 memory-usage-block) (arg1 int))
|
||||
(defmethod mem-usage ((this drawable-inline-array-region-prim) (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)
|
||||
@@ -33,19 +33,19 @@
|
||||
|
||||
;; definition for method 10 of type drawable-tree-region-prim
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod draw drawable-tree-region-prim ((this drawable-tree-region-prim) (arg0 drawable-tree-region-prim) (arg1 display-frame))
|
||||
(defmethod draw ((this drawable-tree-region-prim) (arg0 drawable-tree-region-prim) (arg1 display-frame))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 15 of type drawable-tree-region-prim
|
||||
(defmethod unpack-vis drawable-tree-region-prim ((this drawable-tree-region-prim) (arg0 (pointer int8)) (arg1 (pointer int8)))
|
||||
(defmethod unpack-vis ((this drawable-tree-region-prim) (arg0 (pointer int8)) (arg1 (pointer int8)))
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for method 16 of type drawable-region-prim
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod collect-regions drawable-region-prim ((this drawable-region-prim) (area-of-interest sphere) (_count int) (region-list region-prim-list))
|
||||
(defmethod collect-regions ((this drawable-region-prim) (area-of-interest sphere) (_count int) (region-list region-prim-list))
|
||||
"Determines the number of [[drawable]]s in the `obj` that overlap the given `area-of-interest` this number is stored in the `region-list`'s item count
|
||||
@param area-of-interest The area defined by a sphere that we care about overlaps
|
||||
@param _count The amount of [[drawable]]s in the object to enumerate through
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
;; definition for method 16 of type drawable-inline-array-region-prim
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod collect-regions drawable-inline-array-region-prim ((this drawable-inline-array-region-prim) (arg0 sphere) (arg1 int) (arg2 region-prim-list))
|
||||
(defmethod collect-regions ((this drawable-inline-array-region-prim) (arg0 sphere) (arg1 int) (arg2 region-prim-list))
|
||||
"Determines the number of [[drawable]]s in the `obj` that overlap the given `area-of-interest` this number is stored in the `region-list`'s item count
|
||||
@param area-of-interest The area defined by a sphere that we care about overlaps
|
||||
@param _count The amount of [[drawable]]s in the object to enumerate through
|
||||
@@ -77,7 +77,7 @@
|
||||
|
||||
;; definition for method 16 of type drawable-tree-region-prim
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod collect-regions drawable-tree-region-prim ((this drawable-tree-region-prim) (arg0 sphere) (arg1 int) (arg2 region-prim-list))
|
||||
(defmethod collect-regions ((this drawable-tree-region-prim) (arg0 sphere) (arg1 int) (arg2 region-prim-list))
|
||||
"Determines the number of [[drawable]]s in the `obj` that overlap the given `area-of-interest` this number is stored in the `region-list`'s item count
|
||||
@param area-of-interest The area defined by a sphere that we care about overlaps
|
||||
@param _count The amount of [[drawable]]s in the object to enumerate through
|
||||
@@ -90,7 +90,7 @@
|
||||
|
||||
;; definition for method 17 of type drawable-region-prim
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod debug-draw-region drawable-region-prim ((this drawable-region-prim) (arg0 int))
|
||||
(defmethod debug-draw-region ((this drawable-region-prim) (arg0 int))
|
||||
(local-vars (sv-32 vector2h) (sv-36 vector))
|
||||
(set! sv-32 (new 'stack 'vector2h))
|
||||
(set! sv-36 (-> this bsphere))
|
||||
@@ -146,13 +146,13 @@
|
||||
)
|
||||
|
||||
;; definition for method 18 of type drawable-region-prim
|
||||
(defmethod track-region drawable-region-prim ((this drawable-region-prim) (arg0 region-prim-area))
|
||||
(defmethod track-region ((this drawable-region-prim) (arg0 region-prim-area))
|
||||
"TODO"
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for method 19 of type drawable-region-prim
|
||||
(defmethod within-area? drawable-region-prim ((this drawable-region-prim) (arg0 region-prim-area))
|
||||
(defmethod within-area? ((this drawable-region-prim) (arg0 region-prim-area))
|
||||
"@returns Whether or not the object overlaps with the provided [[region-prim-area]]'s extent"
|
||||
#f
|
||||
)
|
||||
@@ -160,7 +160,7 @@
|
||||
;; definition for method 9 of type region-prim-area
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; WARN: Function (method 9 region-prim-area) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod track-entered-region! region-prim-area ((this region-prim-area) (region-sphere drawable-region-sphere))
|
||||
(defmethod track-entered-region! ((this region-prim-area) (region-sphere drawable-region-sphere))
|
||||
"Enumerates through the objects `region-enter-list`, if we find the provided `region`, do nothing and exit
|
||||
otherwise, add the [[drawable-region-sphere]] to `region-enter-prim-list` and increment `region-enter-count`
|
||||
|
||||
@@ -185,7 +185,7 @@ otherwise, add the [[drawable-region-sphere]] to `region-enter-prim-list` and in
|
||||
;; definition for method 10 of type region-prim-area
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; WARN: Function (method 10 region-prim-area) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod track-exited-region! region-prim-area ((this region-prim-area) (arg0 drawable-region-sphere))
|
||||
(defmethod track-exited-region! ((this region-prim-area) (arg0 drawable-region-sphere))
|
||||
"Enumerates through the objects `region-exit-list`, if we find the provided `region`, do nothing and exit
|
||||
otherwise, add the [[drawable-region-sphere]] to `region-exit-prim-list` and increment `region-exit-count`
|
||||
|
||||
@@ -210,7 +210,7 @@ otherwise, add the [[drawable-region-sphere]] to `region-exit-prim-list` and inc
|
||||
;; definition for method 11 of type region-prim-area
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; WARN: Function (method 11 region-prim-area) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod track-inside-region! region-prim-area ((this region-prim-area) (arg0 drawable-region-sphere))
|
||||
(defmethod track-inside-region! ((this region-prim-area) (arg0 drawable-region-sphere))
|
||||
"Enumerates through the objects `region-inside-list`, if we find the provided `region`, do nothing and exit
|
||||
otherwise, add the [[drawable-region-sphere]] to `region-inside-prim-list` and increment `region-inside-count`
|
||||
|
||||
@@ -235,7 +235,7 @@ otherwise, add the [[drawable-region-sphere]] to `region-inside-prim-list` and i
|
||||
;; definition for method 12 of type region-prim-area
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; WARN: Function (method 12 region-prim-area) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod track-start-region! region-prim-area ((this region-prim-area) (arg0 drawable-region-sphere))
|
||||
(defmethod track-start-region! ((this region-prim-area) (arg0 drawable-region-sphere))
|
||||
"Enumerates through the objects `region-start-list`, if we find the provided `region`, do nothing and exit
|
||||
otherwise, add the [[drawable-region-sphere]] to `region-start-prim-list` and increment `region-start-count`
|
||||
|
||||
@@ -259,7 +259,7 @@ otherwise, add the [[drawable-region-sphere]] to `region-start-prim-list` and in
|
||||
|
||||
;; definition for method 17 of type drawable-region-sphere
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod debug-draw-region drawable-region-sphere ((this drawable-region-sphere) (arg0 int))
|
||||
(defmethod debug-draw-region ((this drawable-region-sphere) (arg0 int))
|
||||
(let ((t9-0 (method-of-type drawable-region-prim debug-draw-region)))
|
||||
(t9-0 this arg0)
|
||||
)
|
||||
@@ -271,7 +271,7 @@ otherwise, add the [[drawable-region-sphere]] to `region-start-prim-list` and in
|
||||
)
|
||||
|
||||
;; definition for method 18 of type drawable-region-sphere
|
||||
(defmethod track-region drawable-region-sphere ((this drawable-region-sphere) (area region-prim-area))
|
||||
(defmethod track-region ((this drawable-region-sphere) (area region-prim-area))
|
||||
"TODO"
|
||||
(-> this region)
|
||||
(let ((area-of-interest (-> this bsphere)))
|
||||
@@ -298,14 +298,14 @@ otherwise, add the [[drawable-region-sphere]] to `region-start-prim-list` and in
|
||||
)
|
||||
|
||||
;; definition for method 19 of type drawable-region-sphere
|
||||
(defmethod within-area? drawable-region-sphere ((this drawable-region-sphere) (area region-prim-area))
|
||||
(defmethod within-area? ((this drawable-region-sphere) (area region-prim-area))
|
||||
"@returns Whether or not the object overlaps with the provided [[region-prim-area]]'s extent"
|
||||
(spheres-overlap? (the-as sphere (-> area pos)) (the-as sphere (-> this bsphere)))
|
||||
)
|
||||
|
||||
;; definition for method 17 of type drawable-region-face
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod debug-draw-region drawable-region-face ((this drawable-region-face) (arg0 int))
|
||||
(defmethod debug-draw-region ((this drawable-region-face) (arg0 int))
|
||||
(when (zero? arg0)
|
||||
(let ((t9-0 (method-of-type drawable-region-prim debug-draw-region)))
|
||||
(t9-0 this arg0)
|
||||
@@ -335,7 +335,7 @@ otherwise, add the [[drawable-region-sphere]] to `region-start-prim-list` and in
|
||||
)
|
||||
|
||||
;; definition for method 18 of type drawable-region-face
|
||||
(defmethod track-region drawable-region-face ((this drawable-region-face) (arg0 region-prim-area))
|
||||
(defmethod track-region ((this drawable-region-face) (arg0 region-prim-area))
|
||||
"TODO"
|
||||
(local-vars (sv-48 vector) (sv-52 vector) (sv-56 object))
|
||||
(-> this region)
|
||||
@@ -404,7 +404,7 @@ otherwise, add the [[drawable-region-sphere]] to `region-start-prim-list` and in
|
||||
|
||||
;; definition for method 17 of type drawable-region-volume
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod debug-draw-region drawable-region-volume ((this drawable-region-volume) (arg0 int))
|
||||
(defmethod debug-draw-region ((this drawable-region-volume) (arg0 int))
|
||||
(let ((t9-0 (method-of-type drawable-region-prim debug-draw-region)))
|
||||
(t9-0 this arg0)
|
||||
)
|
||||
@@ -423,7 +423,7 @@ otherwise, add the [[drawable-region-sphere]] to `region-start-prim-list` and in
|
||||
)
|
||||
|
||||
;; definition for method 18 of type drawable-region-volume
|
||||
(defmethod track-region drawable-region-volume ((this drawable-region-volume) (area region-prim-area))
|
||||
(defmethod track-region ((this drawable-region-volume) (area region-prim-area))
|
||||
"TODO"
|
||||
(if (within-area? this area)
|
||||
(track-start-region! area (the-as drawable-region-sphere this))
|
||||
@@ -445,7 +445,7 @@ otherwise, add the [[drawable-region-sphere]] to `region-start-prim-list` and in
|
||||
)
|
||||
|
||||
;; definition for method 19 of type drawable-region-volume
|
||||
(defmethod within-area? drawable-region-volume ((this drawable-region-volume) (arg0 region-prim-area))
|
||||
(defmethod within-area? ((this drawable-region-volume) (arg0 region-prim-area))
|
||||
"@returns Whether or not the object overlaps with the provided [[region-prim-area]]'s extent"
|
||||
(let* ((v1-1 (-> this faces length))
|
||||
(a2-0 0)
|
||||
@@ -465,7 +465,7 @@ otherwise, add the [[drawable-region-sphere]] to `region-start-prim-list` and in
|
||||
)
|
||||
|
||||
;; definition for method 17 of type drawable-tree-region-prim
|
||||
(defmethod drawable-tree-region-prim-method-17 drawable-tree-region-prim ((this drawable-tree-region-prim) (arg0 vector))
|
||||
(defmethod drawable-tree-region-prim-method-17 ((this drawable-tree-region-prim) (arg0 vector))
|
||||
(sphere<-vector+r! (the-as sphere (-> (the-as region-prim-area #x70000000) pos)) arg0 0.0)
|
||||
(let* ((s5-0 (-> this data2 (+ (-> this length) -1) length))
|
||||
(s4-0 0)
|
||||
@@ -485,7 +485,7 @@ otherwise, add the [[drawable-region-sphere]] to `region-start-prim-list` and in
|
||||
;; definition for method 9 of type region
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs symbol.
|
||||
(defmethod region-method-9 region ((this region) (arg0 vector))
|
||||
(defmethod region-method-9 ((this region) (arg0 vector))
|
||||
(local-vars (sv-16 int) (sv-32 int))
|
||||
(sphere<-vector+r! (the-as sphere (-> (the-as region-prim-area #x70000000) pos)) arg0 0.0)
|
||||
(dotimes (s5-0 (-> *level* length))
|
||||
@@ -526,7 +526,7 @@ otherwise, add the [[drawable-region-sphere]] to `region-start-prim-list` and in
|
||||
|
||||
;; definition for method 18 of type drawable-tree-region-prim
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod debug-print drawable-tree-region-prim ((this drawable-tree-region-prim) (arg0 vector) (arg1 object))
|
||||
(defmethod debug-print ((this drawable-tree-region-prim) (arg0 vector) (arg1 object))
|
||||
(sphere<-vector+r! (the-as sphere (+ 1296 #x70000000)) arg0 0.0)
|
||||
(let* ((s4-0 (-> this data2 (+ (-> this length) -1) length))
|
||||
(s3-0 0)
|
||||
|
||||
Reference in New Issue
Block a user