jak-project/goal_src/jak2/engine/scene/scene-h.gc
water111 f7bd0752f8
[decomp] Decompile first batch of files in engine (#1787)
* wip

* getting stuff set up so we can actually run test cases

* better handle block entry stuff

* types2 working on gstring

* comments

* math ref working

* up to first stack stuff

* stack fixes

* bounding box

* math stuff is working

* float fixes

* temp debug for (method 9 profile-array)

* stupid stupid bug

* debugging

* everything is broken

* some amount of type stuff works

* bitfield

* texture bitfields not working

* temp

* types

* more stuff

* type check

* temp

* float related fixes for light and res problems

* revisit broken files, fix bugs

* more types

* vector debug

* bug fixes for decompiler crashes in harder functions

* update goal_src
2022-08-24 00:29:51 -04:00

113 lines
4.4 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: scene-h.gc
;; name in dgo: scene-h
;; dgos: ENGINE, GAME
;; DECOMP BEGINS
(deftype scene-actor (basic)
((name basic :offset-assert 4)
(level basic :offset-assert 8)
(art-group basic :offset-assert 12)
(prefix basic :offset-assert 16)
(draw-frames basic :offset-assert 20)
(scissor-frames basic :offset-assert 24)
(camera int16 :offset-assert 28)
(light-index uint8 :offset-assert 30)
(shadow-mask uint8 :offset-assert 31)
(shadow-values uint32 :offset-assert 32)
(flags uint32 :offset-assert 36)
(command-list basic :offset-assert 40)
(shadow-flags int32 :offset-assert 44)
(shadow-volume-joint basic :offset-assert 48)
(draw-seg uint64 :offset-assert 56)
(no-draw-seg uint64 :offset-assert 64)
(process uint64 :offset-assert 72)
)
:method-count-assert 10
:size-assert #x50
:flag-assert #xa00000050
(:methods
(scene-actor-method-9 () none 9)
)
)
(deftype scene (art-group)
((mask-to-clear uint32 :offset-assert 32)
(entity basic :offset-assert 36)
(art-group basic :offset-assert 40)
(anim basic :offset-assert 44)
(parts int32 :offset-assert 48)
(command-list basic :offset-assert 52)
(cut-list basic :offset-assert 56)
(wait-max-time time-frame :offset-assert 64)
(wait-air-time time-frame :offset-assert 72)
(wait-ground-time time-frame :offset-assert 80)
(draw-target basic :offset-assert 88)
(abort basic :offset-assert 92)
(actor basic :offset-assert 96)
(load-point basic :offset-assert 100)
(end-point basic :offset-assert 104)
(borrow basic :offset-assert 108)
(sfx-volume float :offset-assert 112)
(ambient-volume float :offset-assert 116)
(music-volume float :offset-assert 120)
(blackout-end basic :offset-assert 124)
(peaceful basic :offset-assert 128)
(music-delay float :offset-assert 132)
(save basic :offset-assert 136)
(scene-task uint16 :offset-assert 140)
)
:method-count-assert 17
:size-assert #x8e
:flag-assert #x110000008e
(:methods
(scene-method-15 () none 15)
(scene-method-16 () none 16)
)
)
(deftype scene-player (process-drawable)
((scene-list basic :offset-assert 200)
(scene basic :offset-assert 204)
(scene-index int32 :offset-assert 208)
(anim basic :offset-assert 212)
(next-anim basic :offset-assert 216)
(camera uint64 :offset-assert 224)
(main-entity basic :offset-assert 232)
(wait basic :offset-assert 236)
(old-target-pos transformq :inline :offset-assert 240)
(pre-cut-frame basic :offset-assert 288)
(preload-continue basic :offset-assert 292)
(dma-max uint32 :offset-assert 296)
(gui-id uint32 :offset-assert 300)
(aborted? basic :offset-assert 304)
(scene-start-time time-frame :offset-assert 312)
(targ-speed float :offset-assert 320)
(cur-speed float :offset-assert 324)
(speed-change-time time-frame :offset-assert 328)
(speed-press-time time-frame :offset-assert 336)
(speed-change-speed float :offset-assert 344)
(subtitle-change-time time-frame :offset-assert 352)
(user-sound uint32 4 :offset-assert 360)
)
:heap-base #x100
:method-count-assert 26
:size-assert #x178
:flag-assert #x1a01000178
(:methods
(scene-player-method-20 () none 20)
(scene-player-method-21 () none 21)
(scene-player-method-22 () none 22)
(scene-player-method-23 () none 23)
(scene-player-method-24 () none 24)
(scene-player-method-25 () none 25)
)
)
(define *scene-player* (the-as scene-player #f))