mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 11:26:18 -04:00
[texture-h] fixes (#356)
* move commonly used scripts to specific folders * fixes * Update test.sh * Update test.sh * Fix file permission * move commonly used scripts to specific folders * fixes * Update test.sh * Update test.sh * Fix file permission * [texture-h] fixes * [display-h] use bitfield types
This commit is contained in:
parent
fcbf5b60ff
commit
8b62de35ea
|
@ -2107,10 +2107,7 @@
|
|||
(deftype profile-frame (structure)
|
||||
((name basic :offset-assert 0)
|
||||
(time-stamp uint32 :offset-assert 4)
|
||||
(color uint32 :offset-assert 8)
|
||||
(r uint8 :offset 8) ;; TODO : verify colors
|
||||
(g uint8 :offset 9) ;; TODO (again) : these are actually bitfields
|
||||
(b uint8 :offset 10)
|
||||
(color rgba :offset-assert 8)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #xc
|
||||
|
@ -2126,7 +2123,7 @@
|
|||
:size-assert #x4010
|
||||
:flag-assert #xe00004010
|
||||
(:methods
|
||||
(get-last-frame-time-stamp (profile-bar) uint 9)
|
||||
(get-last-frame-time-stamp (_type_) uint 9)
|
||||
(dummy-10 () none 10)
|
||||
(dummy-11 () none 11)
|
||||
(dummy-12 () none 12)
|
||||
|
@ -3260,63 +3257,28 @@
|
|||
)
|
||||
|
||||
|
||||
;;(define-extern gs-trxreg object) ;; unknown type
|
||||
;;(define-extern gif-packet object) ;; unknown type
|
||||
;;(define-extern gs-fogcol object) ;; unknown type
|
||||
;;(define-extern gs-zbuf object) ;; unknown type
|
||||
;;(define-extern gif-bank object) ;; unknown type
|
||||
;; ;; unknown type
|
||||
;;(define-extern gs-trxpos object) ;; unknown type
|
||||
;;(define-extern gs-xy-offset object) ;; unknown type
|
||||
;;(define-extern gs-tex1 object) ;; unknown type
|
||||
;;(define-extern gs-prim object) ;; unknown type
|
||||
;;(define-extern gif-tag object) ;; unknown type
|
||||
;;(define-extern gs-display object) ;; unknown type
|
||||
;;(define-extern gs-prmode-cont object) ;; unknown type
|
||||
;;(define-extern gs-scissor object) ;; unknown type
|
||||
;;(define-extern gs-st object) ;; unknown type
|
||||
;;(define-extern gs-smode2 object) ;; unknown type
|
||||
(define-extern add-reg-gif-packet (function gif-packet int int none))
|
||||
;;(define-extern draw-context object) ;; unknown type
|
||||
;;(define-extern gs-texclut object) ;; unknown type
|
||||
;;(define-extern gs-bgcolor object) ;; unknown type
|
||||
(define-extern open-gif-packet (function gif-packet gif-packet))
|
||||
;;(define-extern gif-tag-count object) ;; unknown type
|
||||
;;(define-extern gs-test object) ;; unknown type
|
||||
;;(define-extern gs-tex0 object) ;; unknown type
|
||||
;;(define-extern gif-tag64 object) ;; unknown type
|
||||
;;(define-extern gs-alpha object) ;; unknown type
|
||||
;;(define-extern gs-miptbp object) ;; unknown type
|
||||
;;(define-extern gs-color-clamp object) ;; unknown type
|
||||
;;(define-extern gif-p3cnt object) ;; unknown type
|
||||
;;(define-extern gs-clamp object) ;; unknown type
|
||||
;;(define-extern gs-uv object) ;; unknown type
|
||||
;;(define-extern gif-stat object) ;; unknown type
|
||||
|
||||
;;(define-extern gif-mode object) ;; unknown type
|
||||
|
||||
;;(define-extern gs-trxdir object) ;; unknown type
|
||||
;;(define-extern gs-xyzf object) ;; unknown type
|
||||
;;(define-extern gs-csr object) ;; unknown type
|
||||
(define-extern draw-context-set-xy (function draw-context int int none))
|
||||
|
||||
;;(define-extern gs-frame object) ;; unknown type
|
||||
;;(define-extern gs-texa object) ;; unknown type
|
||||
;;(define-extern gs-bank object) ;; unknown type
|
||||
;;(define-extern gif-cnt object) ;; unknown type
|
||||
;;(define-extern gif-ctrl object) ;; unknown type
|
||||
;;(define-extern gs-gif-tag object) ;; unknown type
|
||||
;;(define-extern gs-pmode object) ;; unknown type
|
||||
;;(define-extern gs-dthe object) ;; unknown type
|
||||
;;(define-extern gs-fog object) ;; unknown type
|
||||
;;(define-extern gs-xyz object) ;; unknown type
|
||||
|
||||
;;(define-extern gif-tag-prim object) ;; unknown type
|
||||
;;(define-extern gif-p3tag object) ;; unknown type
|
||||
(define-extern close-gif-packet (function gif-packet int gif-packet))
|
||||
;;(define-extern gs-display-fb object) ;; unknown type
|
||||
;;(define-extern gs-bitbltbuf object) ;; unknown type
|
||||
;;(define-extern gs-rgbaq object) ;; unknown type
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;
|
||||
|
@ -3324,11 +3286,11 @@
|
|||
;;;;;;;;;;;;;;;
|
||||
|
||||
(deftype display-env (structure)
|
||||
((pmode uint64 :offset-assert 0)
|
||||
(smode2 uint64 :offset-assert 8)
|
||||
(dspfb uint64 :offset-assert 16)
|
||||
(display uint64 :offset-assert 24)
|
||||
(bgcolor uint64 :offset-assert 32)
|
||||
((pmode gs-pmode :offset-assert 0)
|
||||
(smode2 gs-smode2 :offset-assert 8)
|
||||
(dspfb gs-display-fb :offset-assert 16)
|
||||
(display gs-display :offset-assert 24)
|
||||
(bgcolor gs-bgcolor :offset-assert 32)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 9
|
||||
|
@ -3409,7 +3371,7 @@
|
|||
(on-screen int32 :offset-assert 560)
|
||||
(last-screen int32 :offset-assert 564)
|
||||
(frames virtual-frame 6 :inline :offset-assert 568)
|
||||
(bg-clear-color uint32 4 :offset-assert 760)
|
||||
(bg-clear-color rgba 4 :offset-assert 760)
|
||||
(real-frame-counter uint64 :offset-assert 776)
|
||||
(base-frame-counter uint64 :offset-assert 784)
|
||||
(game-frame-counter uint64 :offset-assert 792)
|
||||
|
@ -3671,13 +3633,16 @@
|
|||
;; texture-h
|
||||
;;;;;;;;;;;;;;
|
||||
|
||||
;; texture-h
|
||||
(define-extern *texture-enable-user-menu* int)
|
||||
(define-extern *texture-enable-user* int)
|
||||
|
||||
(deftype texture-id (uint32)
|
||||
()
|
||||
((index uint16 :offset 8 :size 12)
|
||||
(page uint16 :offset 20 :size 12)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x4
|
||||
:flag-assert #x900000004
|
||||
;; likely a bitfield type
|
||||
)
|
||||
|
||||
(deftype texture-pool-segment (structure)
|
||||
|
@ -3785,6 +3750,13 @@
|
|||
)
|
||||
)
|
||||
|
||||
(deftype shader-ptr (uint32)
|
||||
()
|
||||
:method-count-assert 9
|
||||
:size-assert #x4
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|
||||
;; texture-h
|
||||
(deftype texture-link (structure)
|
||||
((next uint32 :offset-assert 0)
|
||||
|
@ -3806,6 +3778,15 @@
|
|||
:flag-assert #x90000000c
|
||||
)
|
||||
|
||||
;; texture-h
|
||||
(deftype texture-page-dir (basic)
|
||||
((pad uint8 #x10))
|
||||
(:methods
|
||||
(dummy-9 () none 9)
|
||||
)
|
||||
:flag-assert #xa00000014
|
||||
)
|
||||
|
||||
;; texture-h
|
||||
(deftype texture-relocate-later (basic)
|
||||
((memcpy basic :offset-assert 4)
|
||||
|
@ -3820,12 +3801,13 @@
|
|||
:flag-assert #x90000001c
|
||||
)
|
||||
|
||||
(define-extern *texture-page-dir* texture-page-dir)
|
||||
|
||||
;; texture-h
|
||||
(deftype adgif-shader (structure)
|
||||
(
|
||||
;;(quad UNKNOWN 5 :offset-assert 0)
|
||||
;;(prims UNKNOWN 10 :offset-assert 0)
|
||||
(tex0 uint64 :offset-assert 0)
|
||||
((quad uint128 5 :offset 0)
|
||||
(prims uint64 10 :offset 0)
|
||||
(tex0 uint64 :offset 0)
|
||||
(tex1 uint64 :offset 16)
|
||||
(miptbp1 uint64 :offset 32)
|
||||
(clamp uint64 :offset 48)
|
||||
|
@ -3834,7 +3816,6 @@
|
|||
(link-test uint32 :offset 8)
|
||||
(texture-id uint32 :offset 24)
|
||||
(next uint32 :offset 40)
|
||||
(_pad uint64)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x50
|
||||
|
@ -3851,6 +3832,19 @@
|
|||
|
||||
(define-extern *texture-relocate-later* texture-relocate-later)
|
||||
|
||||
(define-extern *sky-base-vram-word* int)
|
||||
(define-extern *sky-base-block* int)
|
||||
(define-extern *sky-base-page* int)
|
||||
(define-extern *depth-cue-base-vram-word* int)
|
||||
(define-extern *depth-cue-base-block* int)
|
||||
(define-extern *depth-cue-base-page* int)
|
||||
(define-extern *eyes-base-vram-word* int)
|
||||
(define-extern *eyes-base-block* int)
|
||||
(define-extern *eyes-base-page* int)
|
||||
(define-extern *ocean-base-vram-word* int)
|
||||
(define-extern *ocean-base-block* int)
|
||||
(define-extern *ocean-base-page* int)
|
||||
|
||||
;;;;;;;;;;;;;;
|
||||
;; level-h
|
||||
;;;;;;;;;;;;;;
|
||||
|
|
|
@ -199,18 +199,6 @@
|
|||
["L17", "font-work", true]
|
||||
],
|
||||
|
||||
"display": [
|
||||
["L47", "float", true],
|
||||
["L42", "float", true],
|
||||
["L43", "float", true],
|
||||
["L44", "float", true],
|
||||
["L45", "float", true],
|
||||
["L48", "float", true],
|
||||
["L46", "float", true],
|
||||
["L50", "float", true],
|
||||
["L49", "float", true]
|
||||
],
|
||||
|
||||
"text-h": [["L2", "_auto_", true]],
|
||||
|
||||
"font-h": [
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
;; dgos: GAME, ENGINE
|
||||
|
||||
(deftype display-env (structure)
|
||||
((pmode uint64 :offset-assert 0)
|
||||
(smode2 uint64 :offset-assert 8)
|
||||
(dspfb uint64 :offset-assert 16)
|
||||
(display uint64 :offset-assert 24)
|
||||
(bgcolor uint64 :offset-assert 32)
|
||||
((pmode gs-pmode :offset-assert 0)
|
||||
(smode2 gs-smode2 :offset-assert 8)
|
||||
(dspfb gs-display-fb :offset-assert 16)
|
||||
(display gs-display :offset-assert 24)
|
||||
(bgcolor gs-bgcolor :offset-assert 32)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 9
|
||||
|
@ -107,7 +107,7 @@
|
|||
(on-screen int32 :offset-assert 560)
|
||||
(last-screen int32 :offset-assert 564)
|
||||
(frames virtual-frame 6 :inline :offset-assert 568)
|
||||
(bg-clear-color uint32 4 :offset-assert 760)
|
||||
(bg-clear-color rgba 4 :offset-assert 760)
|
||||
(real-frame-counter uint64 :offset-assert 776)
|
||||
(base-frame-counter uint64 :offset-assert 784)
|
||||
(game-frame-counter uint64 :offset-assert 792)
|
||||
|
@ -179,10 +179,10 @@
|
|||
(set! (-> obj frames 4 frame) (-> obj frames 0 frame))
|
||||
(set! (-> obj frames 5 frame) (-> obj frames 1 frame))
|
||||
(default-buffer-init *default-regs-buffer*)
|
||||
(set! (-> obj bg-clear-color 0) #x80808080)
|
||||
(set! (-> obj bg-clear-color 1) #x80808080)
|
||||
(set! (-> obj bg-clear-color 2) #x80808080)
|
||||
(set! (-> obj bg-clear-color 3) #x80808080)
|
||||
(set! (-> obj bg-clear-color 0) (new-rgba #x80 #x80 #x80 #x80))
|
||||
(set! (-> obj bg-clear-color 1) (new-rgba #x80 #x80 #x80 #x80))
|
||||
(set! (-> obj bg-clear-color 2) (new-rgba #x80 #x80 #x80 #x80))
|
||||
(set! (-> obj bg-clear-color 3) (new-rgba #x80 #x80 #x80 #x80))
|
||||
obj
|
||||
)
|
||||
|
||||
|
|
|
@ -7,32 +7,20 @@
|
|||
|
||||
;; mask for different texture things.
|
||||
;; these are the ones that will be displayed in the menu
|
||||
(define *texture-enable-user-menu* 31)
|
||||
(define *texture-enable-user-menu* #x1f)
|
||||
|
||||
;; enabled textures.
|
||||
(define *texture-enable-user* 0)
|
||||
|
||||
(deftype texture-id (uint32)
|
||||
()
|
||||
((index uint16 :offset 8 :size 12)
|
||||
(page uint16 :offset 20 :size 12)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x4
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|
||||
(defmethod inspect texture-id ((obj texture-id))
|
||||
(format #t "[~8x] ~A~%" obj 'texture-id)
|
||||
(format #t "~Tindex: ~D~%" (shr (shl (the-as int obj) 44) 52))
|
||||
|
||||
;; you aren't supposed to do this.
|
||||
(format #t "~Tpage: ~D~%" (shr (logand #xffffffff obj) 20))
|
||||
;; (set! t9-2 format)
|
||||
;; (set! a0-3 '#t)
|
||||
;; (set! a1-2 "~Tpage: ~D~%")
|
||||
;; (.srl a2-2 obj 20)
|
||||
;; (t9-2 a0-3 a1-2 a2-2)
|
||||
obj
|
||||
)
|
||||
|
||||
(deftype texture-pool-segment (structure)
|
||||
((dest uint32 :offset-assert 0)
|
||||
(size uint32 :offset-assert 4)
|
||||
|
@ -185,13 +173,12 @@
|
|||
|
||||
(define *texture-relocate-later* (new 'global 'texture-relocate-later))
|
||||
(set! (-> *texture-relocate-later* memcpy) #f)
|
||||
(define *texture-page-dir* #f)
|
||||
(define *texture-page-dir* (the texture-page-dir #f))
|
||||
|
||||
(deftype adgif-shader (structure)
|
||||
(
|
||||
;;(quad UNKNOWN 5 :offset-assert 0)
|
||||
;;(prims UNKNOWN 10 :offset-assert 0)
|
||||
(tex0 uint64 :offset-assert 0)
|
||||
((quad uint128 5 :offset 0)
|
||||
(prims uint64 10 :offset 0)
|
||||
(tex0 uint64 :offset 0)
|
||||
(tex1 uint64 :offset 16)
|
||||
(miptbp1 uint64 :offset 32)
|
||||
(clamp uint64 :offset 48)
|
||||
|
@ -200,7 +187,6 @@
|
|||
(link-test uint32 :offset 8)
|
||||
(texture-id uint32 :offset 24)
|
||||
(next uint32 :offset 40)
|
||||
(_pad uint64)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x50
|
||||
|
|
|
@ -47,8 +47,6 @@
|
|||
;;;; bitfield types
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; TODO: verify these are in the right order.
|
||||
;; maybe used in timer-h for the color field of profile-frame?
|
||||
(deftype rgba (uint32)
|
||||
((r uint8 :offset 0)
|
||||
(g uint8 :offset 8)
|
||||
|
@ -58,6 +56,12 @@
|
|||
:flag-assert #x900000004
|
||||
)
|
||||
|
||||
(defmacro new-rgba (r g b a)
|
||||
"Macro for making a new rgba in static space"
|
||||
|
||||
`(new 'static 'rgba :r ,r :g ,g :b ,b :a ,a)
|
||||
)
|
||||
|
||||
;; TODO: fields
|
||||
(deftype xyzw (uint128)
|
||||
()
|
||||
|
|
|
@ -92,10 +92,7 @@
|
|||
(deftype profile-frame (structure)
|
||||
((name basic :offset-assert 0)
|
||||
(time-stamp uint32 :offset-assert 4)
|
||||
(color uint32 :offset-assert 8)
|
||||
(r uint8 :offset 8) ;; TODO : verify colors
|
||||
(g uint8 :offset 9) ;; TODO (again) : these are actually bitfields
|
||||
(b uint8 :offset 10)
|
||||
(color rgba :offset-assert 8)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #xc
|
||||
|
@ -107,7 +104,7 @@
|
|||
(format #t "[~8x] profile-frame~%" this-frame)
|
||||
(format #t "~Tname: ~A~%" (-> this-frame name))
|
||||
(format #t "~Ttime-stamp: ~D~%" (-> this-frame time-stamp))
|
||||
(format #t "~Tcolor: ~D ~D ~D~%" (-> this-frame r) (-> this-frame g) (-> this-frame b))
|
||||
(format #t "~Tcolor: ~D ~D ~D~%" (-> this-frame color r) (-> this-frame color g) (-> this-frame color b))
|
||||
)
|
||||
obj
|
||||
)
|
||||
|
@ -122,7 +119,7 @@
|
|||
:size-assert #x4010
|
||||
:flag-assert #xe00004010
|
||||
(:methods
|
||||
(get-last-frame-time-stamp (profile-bar) uint 9)
|
||||
(get-last-frame-time-stamp (_type_) uint 9)
|
||||
(dummy-10 () none 10)
|
||||
(dummy-11 () none 11)
|
||||
(dummy-12 () none 12)
|
||||
|
|
Loading…
Reference in a new issue