mirror of
https://github.com/open-goal/jak-project
synced 2026-05-24 15:21:12 -04:00
a6d5c4eda3
* change * recognize vector float product and update tests
49 lines
1.3 KiB
Common Lisp
Vendored
49 lines
1.3 KiB
Common Lisp
Vendored
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; definition of type transform
|
|
(deftype transform (structure)
|
|
((trans vector :inline :offset-assert 0)
|
|
(rot vector :inline :offset-assert 16)
|
|
(scale vector :inline :offset-assert 32)
|
|
)
|
|
:method-count-assert 9
|
|
:size-assert #x30
|
|
:flag-assert #x900000030
|
|
)
|
|
|
|
;; definition for method 3 of type transform
|
|
(defmethod inspect transform ((obj transform))
|
|
(format #t "[~8x] ~A~%" obj 'transform)
|
|
(format #t "~Ttrans: ~`vector`P~%" (-> obj trans))
|
|
(format #t "~Trot: ~`vector`P~%" (-> obj rot))
|
|
(format #t "~Tscale: ~`vector`P~%" (-> obj scale))
|
|
obj
|
|
)
|
|
|
|
;; definition of type trs
|
|
(deftype trs (basic)
|
|
((trans vector :inline :offset-assert 16)
|
|
(rot vector :inline :offset-assert 32)
|
|
(scale vector :inline :offset-assert 48)
|
|
)
|
|
:method-count-assert 9
|
|
:size-assert #x40
|
|
:flag-assert #x900000040
|
|
(:methods
|
|
(new (symbol type) _type_ 0)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type trs
|
|
(defmethod inspect trs ((obj trs))
|
|
(format #t "[~8x] ~A~%" obj (-> obj type))
|
|
(format #t "~Ttrans: ~`vector`P~%" (-> obj trans))
|
|
(format #t "~Trot: ~`vector`P~%" (-> obj rot))
|
|
(format #t "~Tscale: ~`vector`P~%" (-> obj scale))
|
|
obj
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
0
|