Files
jak-project/goal_src/engine/gfx/sprite/sprite-h.gc
T
ManDude 89ccb8cbc7 [decomp] progress (#780)
* cleanup `main`

* whitespace

* start `progress` decomp pt1

* fill in more stuff

* Update label_types.jsonc

* run cheats

* clang

* make most of `progress` decompile

* `progress` pt 2

* [decompiler] support dynamic format strings

* Make `progress-draw` decompile and almost all `progress`

* make clang shut up

* fix unhandled format string

* fix `progress-draw`

* Update DecompilerTypeSystem.cpp

* fix?

* fixes

* fix a few functions

* make `language-enum`

* warn on weird floats

* fix minor pad bug

* dump stuff in `progress`

* make `progress-screen` enum

* progress progress

* update refs and fix stupid bug

* trying to get it to work

* it works!?

* disable sound functions

* fixes

* final touches

* tests

* tests

* add process allocations

* use the right register for windows

* another try for windows, counting is hard

* one more try

* use process allocations

Co-authored-by: water <awaterford111445@gmail.com>
2021-09-06 20:35:03 -04:00

95 lines
3.1 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: sprite-h.gc
;; name in dgo: sprite-h
;; dgos: GAME, ENGINE
;; definition of type sprite-vec-data-2d
(deftype sprite-vec-data-2d (structure)
((x-y-z-sx vector :inline :offset-assert 0)
(flag-rot-sy vector :inline :offset-assert 16)
(r-g-b-a vector :inline :offset-assert 32)
(x float :offset 0)
(y float :offset 4)
(z float :offset 8)
(sx float :offset 12)
(sy float :offset 28)
(rot float :offset 24)
(flag int32 :offset 16)
(matrix int32 :offset 20)
(warp-turns int32 :offset 16)
(r float :offset 32)
(g float :offset 36)
(b float :offset 40)
(a float :offset 44)
(trans vector3s :inline :offset 0)
(color rgbaf :inline :offset 32)
(data uint128 1 :offset 0)
(data64 uint64 6 :offset 0)
)
:method-count-assert 9
:size-assert #x30
:flag-assert #x900000030
)
(deftype sprite-array-2d (basic)
((num-sprites int32 2 :offset-assert 4)
(num-valid int32 2 :offset-assert 12)
(vec-data pointer :offset-assert 20)
(adgif-data (inline-array adgif-shader) :offset-assert 24)
(pad uint128 4 :offset-assert 32)
(data uint128 1 :offset-assert 96)
)
(:methods
(new (symbol type int int) _type_ 0)
)
:method-count-assert 9
:size-assert #x70
:flag-assert #x900000070
)
(deftype sprite-vec-data-3d (structure)
((x-y-z-sx vector :inline :offset-assert 0)
(qx-qy-qz-sy vector :inline :offset-assert 16)
(r-g-b-a vector :inline :offset-assert 32)
(x float :offset 0)
(y float :offset 4)
(z float :offset 8)
(sx float :offset 12)
(sy float :offset 28)
(qx float :offset 16)
(qy float :offset 20)
(qz float :offset 24)
(r float :offset 32)
(g float :offset 36)
(b float :offset 40)
(a float :offset 44)
(trans vector3s :inline :offset 0)
(rot vector3s :inline :offset 16)
(color rgbaf :inline :offset 32)
(data uint128 1 :offset 0)
)
:method-count-assert 9
:size-assert #x30
:flag-assert #x900000030
)
(deftype sprite-array-3d (basic)
((num-sprites int32 2 :offset-assert 4)
(num-valid int32 2 :offset-assert 12)
(vec-data pointer :offset-assert 20)
(adgif-data (inline-array adgif-shader) :offset-assert 24)
(data uint128 1 :offset-assert 32)
)
(:methods
(new (symbol type int int) _type_ 0)
)
:method-count-assert 9
:size-assert #x30
:flag-assert #x900000030
)
(define-extern sprite-init-distorter (function dma-buffer uint none))
(define-extern sprite-draw-distorters (function dma-buffer none))
(define-extern sprite-vu1-block vu-function)