2020-10-26 21:08:24 -04:00
|
|
|
;;-*-Lisp-*-
|
2020-09-04 14:44:23 -04:00
|
|
|
(in-package goal)
|
|
|
|
|
|
|
|
;; name: eye-h.gc
|
|
|
|
;; name in dgo: eye-h
|
|
|
|
;; dgos: GAME, ENGINE
|
|
|
|
|
2022-02-12 22:39:25 -05:00
|
|
|
(define-extern get-eye-block (function int int int))
|
2022-02-15 18:42:48 -05:00
|
|
|
(define-extern merc-eye-anim (function process-drawable none))
|
2022-02-15 19:37:51 -05:00
|
|
|
(define-extern update-eyes (function none))
|
2022-02-12 22:39:25 -05:00
|
|
|
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
|
2021-05-28 20:11:06 -04:00
|
|
|
(deftype eye (structure)
|
2022-05-19 21:30:14 -04:00
|
|
|
((data vector 2 :inline :offset-assert 0)
|
|
|
|
(x float :offset 0)
|
|
|
|
(y float :offset 4)
|
|
|
|
(lid float :offset 8)
|
|
|
|
(iris-scale float :offset 16)
|
|
|
|
(pupil-scale float :offset 20)
|
|
|
|
(lid-scale float :offset 24)
|
2021-05-28 20:11:06 -04:00
|
|
|
)
|
|
|
|
:method-count-assert 9
|
|
|
|
:size-assert #x20
|
|
|
|
:flag-assert #x900000020
|
|
|
|
)
|
|
|
|
|
2022-02-12 22:39:25 -05:00
|
|
|
|
2021-05-28 20:11:06 -04:00
|
|
|
(deftype eye-control (structure)
|
2022-02-12 22:39:25 -05:00
|
|
|
((process handle :offset-assert 0)
|
|
|
|
(random-time uint16 :offset-assert 8)
|
|
|
|
(level uint16 :offset-assert 10)
|
|
|
|
(blink float :offset-assert 12)
|
|
|
|
(shaders (inline-array adgif-shader) :offset-assert 16)
|
|
|
|
(left eye :inline :offset-assert 32)
|
|
|
|
(right eye :inline :offset-assert 64)
|
2021-05-28 20:11:06 -04:00
|
|
|
)
|
|
|
|
:method-count-assert 9
|
|
|
|
:size-assert #x60
|
|
|
|
:flag-assert #x900000060
|
|
|
|
)
|
|
|
|
|
2022-02-12 22:39:25 -05:00
|
|
|
|
2021-05-28 20:11:06 -04:00
|
|
|
(deftype eye-control-array (basic)
|
2022-02-12 22:39:25 -05:00
|
|
|
((data eye-control 11 :inline :offset-assert 16)
|
2021-05-28 20:11:06 -04:00
|
|
|
)
|
|
|
|
:method-count-assert 9
|
|
|
|
:size-assert #x430
|
|
|
|
:flag-assert #x900000430
|
|
|
|
)
|
|
|
|
|
2022-02-12 22:39:25 -05:00
|
|
|
|
2021-05-28 20:11:06 -04:00
|
|
|
(deftype eye-work (structure)
|
2022-02-12 22:39:25 -05:00
|
|
|
((sprite-tmpl dma-gif-packet :inline :offset-assert 0)
|
|
|
|
(sprite-tmpl2 dma-gif-packet :inline :offset-assert 32)
|
|
|
|
(adgif-tmpl dma-gif-packet :inline :offset-assert 64)
|
|
|
|
(blink-table float 10 :offset-assert 96)
|
2021-05-28 20:11:06 -04:00
|
|
|
)
|
|
|
|
:method-count-assert 9
|
|
|
|
:size-assert #x88
|
|
|
|
:flag-assert #x900000088
|
|
|
|
)
|
|
|
|
|
2022-02-12 22:39:25 -05:00
|
|
|
|
2021-05-28 20:11:06 -04:00
|
|
|
(define *eye-control-array* (new 'static 'eye-control-array))
|
|
|
|
|
|
|
|
(dotimes (v1-5 11)
|
2022-02-12 22:39:25 -05:00
|
|
|
(set! (-> *eye-control-array* data v1-5 process) (the-as handle #f))
|
|
|
|
(set! (-> *eye-control-array* data v1-5 shaders) (the-as (inline-array adgif-shader) #f))
|
2021-05-28 20:11:06 -04:00
|
|
|
(set! (-> *eye-control-array* data v1-5 random-time) (the-as uint 60))
|
|
|
|
(set! (-> *eye-control-array* data v1-5 blink) 0.0)
|
|
|
|
)
|
2021-08-14 23:15:10 -04:00
|
|
|
|
2022-02-12 22:39:25 -05:00
|
|
|
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|