Files
jak-project/test/decompiler/reference/engine/level/level-h_REF.gc
T
water111 79683a44b1 [graphics] shrub (#1261)
* update

* renderer appears to work
2022-03-29 21:38:48 -04:00

478 lines
25 KiB
Common Lisp
Vendored
Generated

;;-*-Lisp-*-
(in-package goal)
;; definition of type level-vis-info
(deftype level-vis-info (basic)
((level symbol :offset-assert 4)
(from-level symbol :offset-assert 8)
(from-bsp bsp-header :offset-assert 12)
(flags uint32 :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 pointer :offset-assert 44)
(current-vis-string uint32 :offset-assert 48)
(vis-string uint32 :dynamic :offset-assert 52)
)
:method-count-assert 9
:size-assert #x34
:flag-assert #x900000034
)
;; definition for method 3 of type level-vis-info
(defmethod inspect level-vis-info ((obj level-vis-info))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tlevel: ~A~%" (-> obj level))
(format #t "~Tfrom-level: ~A~%" (-> obj from-level))
(format #t "~Tfrom-bsp: ~A~%" (-> obj from-bsp))
(format #t "~Tflags: #x~X~%" (-> obj flags))
(format #t "~Tlength: ~D~%" (-> obj length))
(format #t "~Tallocated-length: ~D~%" (-> obj allocated-length))
(format #t "~Tdictionary-length: ~D~%" (-> obj dictionary-length))
(format #t "~Tdictionary: #x~X~%" (-> obj dictionary))
(format #t "~Tstring-block: #x~X~%" (-> obj string-block))
(format #t "~Tramdisk: ~D~%" (-> obj ramdisk))
(format #t "~Tvis-bits: #x~X~%" (-> obj vis-bits))
(format #t "~Tcurrent-vis-string: ~D~%" (-> obj current-vis-string))
(format #t "~Tvis-string[0] @ #x~X~%" (-> obj vis-string))
obj
)
;; definition for method 5 of type level-vis-info
;; INFO: Return type mismatch uint vs int.
(defmethod asize-of level-vis-info ((obj level-vis-info))
(the-as int (+ (-> level-vis-info size) (-> obj dictionary-length)))
)
;; definition of type level-load-info
(deftype level-load-info (basic)
((name-list symbol 3 :offset-assert 4)
(index int32 :offset-assert 16)
(name symbol :offset 4)
(visname symbol :offset 8)
(nickname symbol :offset 12)
(packages pair :offset-assert 20)
(sound-banks pair :offset-assert 24)
(music-bank symbol :offset-assert 28)
(ambient-sounds pair :offset-assert 32)
(mood symbol :offset-assert 36)
(mood-func symbol :offset-assert 40)
(ocean symbol :offset-assert 44)
(sky symbol :offset-assert 48)
(sun-fade float :offset-assert 52)
(continues pair :offset-assert 56)
(tasks pair :offset-assert 60)
(priority int32 :offset-assert 64)
(load-commands pair :offset-assert 68)
(alt-load-commands pair :offset-assert 72)
(bsp-mask uint64 :offset-assert 80)
(bsphere sphere :offset-assert 88)
(buzzer int32 :offset-assert 92)
(bottom-height meters :offset-assert 96)
(run-packages pair :offset-assert 100)
(prev-level basic :offset-assert 104)
(next-level basic :offset-assert 108)
(wait-for-load symbol :offset-assert 112)
)
:method-count-assert 9
:size-assert #x74
:flag-assert #x900000074
)
;; definition for method 3 of type level-load-info
(defmethod inspect level-load-info ((obj level-load-info))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tname-list[3] @ #x~X~%" (&-> obj name))
(format #t "~Tindex: ~D~%" (-> obj index))
(format #t "~Tname: ~A~%" (-> obj name))
(format #t "~Tvisname: ~A~%" (-> obj visname))
(format #t "~Tnickname: ~A~%" (-> obj nickname))
(format #t "~Tpackages: ~A~%" (-> obj packages))
(format #t "~Tsound-banks: ~A~%" (-> obj sound-banks))
(format #t "~Tmusic-bank: ~A~%" (-> obj music-bank))
(format #t "~Tambient-sounds: ~A~%" (-> obj ambient-sounds))
(format #t "~Tmood: ~A~%" (-> obj mood))
(format #t "~Tmood-func: ~A~%" (-> obj mood-func))
(format #t "~Tocean: ~A~%" (-> obj ocean))
(format #t "~Tsky: ~A~%" (-> obj sky))
(format #t "~Tsun-fade: ~f~%" (-> obj sun-fade))
(format #t "~Tcontinues: ~A~%" (-> obj continues))
(format #t "~Ttasks: ~A~%" (-> obj tasks))
(format #t "~Tpriority: ~D~%" (-> obj priority))
(format #t "~Tload-commands: ~A~%" (-> obj load-commands))
(format #t "~Talt-load-commands: ~A~%" (-> obj alt-load-commands))
(format #t "~Tbsp-mask: ~D~%" (-> obj bsp-mask))
(format #t "~Tbsphere: #<sphere @ #x~X>~%" (-> obj bsphere))
(format #t "~Tbuzzer: ~D~%" (-> obj buzzer))
(format #t "~Tbottom-height: (meters ~m)~%" (-> obj bottom-height))
(format #t "~Trun-packages: ~A~%" (-> obj run-packages))
(format #t "~Tprev-level: ~A~%" (-> obj prev-level))
(format #t "~Tnext-level: ~A~%" (-> obj next-level))
(format #t "~Twait-for-load: ~A~%" (-> obj wait-for-load))
obj
)
;; 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)
)
:method-count-assert 9
:size-assert #x50
:flag-assert #x900000050
)
;; definition for method 3 of type login-state
(defmethod inspect login-state ((obj login-state))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tstate: ~D~%" (-> obj state))
(format #t "~Tpos: ~D~%" (-> obj pos))
(format #t "~Telts: ~D~%" (-> obj elts))
(format #t "~Telt[16] @ #x~X~%" (-> obj elt))
obj
)
;; 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)
(other level :offset-assert 24)
(heap kheap :inline :offset-assert 32)
(bsp bsp-header :offset-assert 48)
(art-group load-dir-art-group :offset-assert 52)
(info level-load-info :offset-assert 56)
(texture-page texture-page 9 :offset-assert 60)
(loaded-texture-page texture-page 16 :offset-assert 96)
(loaded-texture-page-count int32 :offset-assert 160)
(foreground-sink-group dma-foreground-sink-group 3 :inline :offset-assert 176)
(foreground-draw-engine engine 3 :offset-assert 272)
(entity entity-links-array :offset-assert 284)
(ambient entity-ambient-data-array :offset-assert 288)
(closest-object float 9 :offset-assert 292)
(upload-size int32 9 :offset-assert 328)
(level-distance meters :offset-assert 364)
(inside-sphere? symbol :offset-assert 368)
(inside-boxes? symbol :offset-assert 372)
(display? symbol :offset-assert 376)
(meta-inside? symbol :offset-assert 380)
(mood mood-context :offset-assert 384)
(mood-func (function mood-context float int none) :offset-assert 388)
(vis-bits pointer :offset-assert 392)
(all-visible? symbol :offset-assert 396)
(force-all-visible? symbol :offset-assert 400)
(linking basic :offset-assert 404)
(vis-info level-vis-info 8 :offset-assert 408)
(vis-self-index int32 :offset-assert 440)
(vis-adj-index int32 :offset-assert 444)
(vis-buffer uint8 2048 :offset-assert 448)
(mem-usage-block memory-usage-block :offset-assert 2496)
(mem-usage int32 :offset-assert 2500)
(code-memory-start pointer :offset-assert 2504)
(code-memory-end pointer :offset-assert 2508)
(texture-mask uint32 9 :offset-assert 2512)
(force-inside? symbol :offset-assert 2548)
(pad uint8 56 :offset-assert 2552)
)
:method-count-assert 29
:size-assert #xa30
:flag-assert #x1d00000a30
(:methods
(deactivate (_type_) _type_ 9)
(is-object-visible? (_type_ int) symbol 10)
(add-irq-to-tex-buckets! (_type_) none 11)
(unload! (_type_) _type_ 12)
(bsp-name (_type_) symbol 13)
(compute-memory-usage (_type_ object) memory-usage-block 14)
(point-in-boxes? (_type_ vector) symbol 15)
(update-vis! (_type_ level-vis-info uint uint) symbol 16)
(load-continue (_type_) _type_ 17)
(load-begin (_type_) _type_ 18)
(login-begin (_type_) _type_ 19)
(vis-load (_type_) uint 20)
(dummy-21 (_type_) none 21)
(birth (_type_) _type_ 22)
(level-status-set! (_type_ symbol) _type_ 23)
(load-required-packages (_type_) _type_ 24)
(init-vis (_type_) int 25)
(vis-clear (_type_) int 26)
(debug-print-splitbox (_type_ vector string) none 27)
(art-group-get-by-name (_type_ string) art-group 28)
)
)
;; definition for method 3 of type level
(defmethod inspect level ((obj level))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tname: ~A~%" (-> obj name))
(format #t "~Tload-name: ~A~%" (-> obj load-name))
(format #t "~Tnickname: ~A~%" (-> obj nickname))
(format #t "~Tindex: ~D~%" (-> obj index))
(format #t "~Tstatus: ~A~%" (-> obj status))
(format #t "~Tother: ~A~%" (-> obj other))
(format #t "~Theap: #<kheap @ #x~X>~%" (-> obj heap))
(format #t "~Tbsp: ~A~%" (-> obj bsp))
(format #t "~Tart-group: ~A~%" (-> obj art-group))
(format #t "~Tinfo: ~A~%" (-> obj info))
(format #t "~Ttexture-page[9] @ #x~X~%" (-> obj texture-page))
(format #t "~Tloaded-texture-page[16] @ #x~X~%" (-> obj loaded-texture-page))
(format #t "~Tloaded-texture-page-count: ~D~%" (-> obj loaded-texture-page-count))
(format #t "~Tforeground-sink-group[3] @ #x~X~%" (-> obj foreground-sink-group))
(format #t "~Tforeground-draw-engine[3] @ #x~X~%" (-> obj foreground-draw-engine))
(format #t "~Tentity: ~A~%" (-> obj entity))
(format #t "~Tambient: ~A~%" (-> obj ambient))
(format #t "~Tclosest-object[9] @ #x~X~%" (-> obj closest-object))
(format #t "~Tupload-size[9] @ #x~X~%" (-> obj upload-size))
(format #t "~Tlevel-distance: (meters ~m)~%" (-> obj level-distance))
(format #t "~Tinside-sphere?: ~A~%" (-> obj inside-sphere?))
(format #t "~Tinside-boxes?: ~A~%" (-> obj inside-boxes?))
(format #t "~Tdisplay?: ~A~%" (-> obj display?))
(format #t "~Tmeta-inside?: ~A~%" (-> obj meta-inside?))
(format #t "~Tmood: ~A~%" (-> obj mood))
(format #t "~Tmood-func: ~A~%" (-> obj mood-func))
(format #t "~Tvis-bits: #x~X~%" (-> obj vis-bits))
(format #t "~Tall-visible?: ~A~%" (-> obj all-visible?))
(format #t "~Tforce-all-visible?: ~A~%" (-> obj force-all-visible?))
(format #t "~Tlinking: ~A~%" (-> obj linking))
(format #t "~Tvis-info[8] @ #x~X~%" (-> obj vis-info))
(format #t "~Tvis-self-index: ~D~%" (-> obj vis-self-index))
(format #t "~Tvis-adj-index: ~D~%" (-> obj vis-adj-index))
(format #t "~Tvis-buffer[2048] @ #x~X~%" (-> obj vis-buffer))
(format #t "~Tmem-usage-block: ~A~%" (-> obj mem-usage-block))
(format #t "~Tmem-usage: ~D~%" (-> obj mem-usage))
(format #t "~Tcode-memory-start: #x~X~%" (-> obj code-memory-start))
(format #t "~Tcode-memory-end: #x~X~%" (-> obj code-memory-end))
(format #t "~Ttexture-mask[9] @ #x~X~%" (-> obj texture-mask))
(format #t "~Tforce-inside?: ~A~%" (-> obj force-inside?))
obj
)
;; 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-assert 16)
(border? basic :offset-assert 20)
(vis? basic :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)
(_hack-pad uint8 :offset 90)
(level0 level :inline :offset-assert 96)
(level1 level :inline :offset-assert 2704)
(level-default level :inline :offset-assert 5312)
(level level 3 :inline :offset 96)
(data level 3 :inline :offset 96)
(pad uint32 :offset-assert 7920)
)
:method-count-assert 27
:size-assert #x1ef4
:flag-assert #x1b00001ef4
(:methods
(level-get (_type_ symbol) level 9)
(level-get-with-status (_type_ symbol) level 10)
(level-get-for-use (_type_ symbol symbol) level 11)
(activate-levels! (_type_) int 12)
(debug-print-entities (_type_ symbol type) none 13)
(debug-draw-actors (_type_ symbol) none 14)
(actors-update (_type_) object 15)
(level-update (_type_) int 16)
(level-get-target-inside (_type_) level 17)
(alloc-levels! (_type_ symbol) int 18)
(load-commands-set! (_type_ pair) pair 19)
(art-group-get-by-name (_type_ string) art-group 20)
(load-command-get-index (_type_ symbol int) pair 21)
(update-vis-volumes (_type_) none 22)
(update-vis-volumes-from-nav-mesh (_type_) none 23)
(print-volume-sizes (_type_) none 24)
(level-status (_type_ symbol) symbol 25)
(level-get-most-disposable (_type_) level 26)
)
)
;; definition for method 3 of type level-group
(defmethod inspect level-group ((obj level-group))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tlength: ~D~%" (-> obj length))
(format #t "~Tentity-link: ~`entity-links`P~%" (-> obj entity-link))
(format #t "~Tborder?: ~A~%" (-> obj border?))
(format #t "~Tvis?: ~A~%" (-> obj vis?))
(format #t "~Twant-level: ~A~%" (-> obj want-level))
(format #t "~Treceiving-level: ~A~%" (-> obj receiving-level))
(format #t "~Tload-commands: ~A~%" (-> obj load-commands))
(format #t "~Tplay?: ~A~%" (-> obj play?))
(format #t "~Tlevel[3] @ #x~X~%" (-> obj level0))
(format #t "~Tdata[3] @ #x~X~%" (-> obj level0))
(format #t "~Tlevel0: ~`level`P~%" (-> obj level0))
(format #t "~Tlevel1: ~`level`P~%" (-> obj level1))
(format #t "~Tlevel-default: ~`level`P~%" (-> obj level-default))
obj
)
;; failed to figure out what this is:
(if (zero? *level*)
(set! *level*
(new 'static 'level-group
:length 2
:log-in-level-bsp #f
:loading-level #f
:entity-link #f
:border? #f
:want-level #f
:load-commands '()
:play? #f
:level0
(new 'static 'level
:name #f
:status 'inactive
:foreground-sink-group
(new 'static 'inline-array dma-foreground-sink-group 3
(new 'static 'dma-foreground-sink-group
:sink
(new 'static 'array dma-foreground-sink 3
(new 'static 'dma-foreground-sink :bucket (bucket-id merc-tfrag-tex0))
(new 'static 'generic-dma-foreground-sink :bucket (bucket-id gmerc-tfrag-tex) :foreground-output-bucket 1)
)
)
(new 'static 'dma-foreground-sink-group
:sink
(new 'static 'array dma-foreground-sink 3
(new 'static 'dma-foreground-sink :bucket (bucket-id bucket-49) :foreground-texture-page 1)
(new 'static 'generic-dma-foreground-sink
:bucket (bucket-id bucket-50)
:foreground-texture-page 1
:foreground-output-bucket 1
)
)
)
(new 'static 'dma-foreground-sink-group
:sink
(new 'static 'array dma-foreground-sink 3
(new 'static 'dma-foreground-sink :bucket (bucket-id bucket-58) :foreground-texture-page 2)
(new 'static 'generic-dma-foreground-sink
:bucket (bucket-id bucket-59)
:foreground-texture-page 2
:foreground-output-bucket 1
)
)
)
)
:inside-sphere? #f
:inside-boxes? #f
:force-inside? #f
)
:level1
(new 'static 'level
:name #f
:index 1
:status 'inactive
:foreground-sink-group
(new 'static 'inline-array dma-foreground-sink-group 3
(new 'static 'dma-foreground-sink-group
:sink
(new 'static 'array dma-foreground-sink 3
(new 'static 'dma-foreground-sink :bucket (bucket-id merc-tfrag-tex1) :foreground-texture-level 1)
(new 'static 'generic-dma-foreground-sink
:bucket (bucket-id gmerc-tfrag-tex1)
:foreground-texture-level 1
:foreground-output-bucket 1
)
)
)
(new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3
(new 'static 'dma-foreground-sink
:bucket (bucket-id bucket-52)
:foreground-texture-page 1
:foreground-texture-level 1
)
(new 'static 'generic-dma-foreground-sink
:bucket (bucket-id bucket-53)
:foreground-texture-page 1
:foreground-texture-level 1
:foreground-output-bucket 1
)
)
)
(new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3
(new 'static 'dma-foreground-sink
:bucket (bucket-id bucket-61)
:foreground-texture-page 2
:foreground-texture-level 1
)
(new 'static 'generic-dma-foreground-sink
:bucket (bucket-id bucket-62)
:foreground-texture-page 2
:foreground-texture-level 1
:foreground-output-bucket 1
)
)
)
)
:inside-sphere? #f
:inside-boxes? #f
:force-inside? #f
)
:level-default
(new 'static 'level
:name 'default
:index 2
:status 'reserved
:foreground-sink-group
(new 'static 'inline-array dma-foreground-sink-group 3
(new 'static 'dma-foreground-sink-group
:sink
(new 'static 'array dma-foreground-sink 3
(new 'static 'dma-foreground-sink :bucket (bucket-id bucket-45) :foreground-texture-level 2)
(new 'static 'generic-dma-foreground-sink
:bucket (bucket-id bucket-46)
:foreground-texture-level 2
:foreground-output-bucket 1
)
)
)
(new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3
(new 'static 'dma-foreground-sink
:bucket (bucket-id bucket-55)
:foreground-texture-page 1
:foreground-texture-level 2
)
(new 'static 'generic-dma-foreground-sink
:bucket (bucket-id bucket-56)
:foreground-texture-page 1
:foreground-texture-level 2
:foreground-output-bucket 1
)
)
)
(new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3
(new 'static 'dma-foreground-sink
:bucket (bucket-id bucket-58)
:foreground-texture-page 2
:foreground-texture-level 2
)
(new 'static 'generic-dma-foreground-sink
:bucket (bucket-id bucket-59)
:foreground-texture-page 2
:foreground-texture-level 2
:foreground-output-bucket 1
)
)
)
)
:inside-sphere? #f
:inside-boxes? #f
:force-inside? #f
)
)
)
)