mirror of
https://github.com/open-goal/jak-project
synced 2026-08-07 02:06:59 -04:00
a3e004f475
Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
1567 lines
56 KiB
Common Lisp
1567 lines
56 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: headset-h.gc
|
|
;; name in dgo: headset-h
|
|
;; dgos: ENGINE, GAME
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(deftype headset-queue (structure)
|
|
((write-offset int32)
|
|
(read-offset int32)
|
|
(bytes int32)
|
|
(size int32)
|
|
(data uint32)
|
|
)
|
|
:pack-me
|
|
(:methods
|
|
(headset-queue-method-9 () none)
|
|
(headset-queue-method-10 () none)
|
|
(headset-queue-method-11 () none)
|
|
(headset-queue-method-12 () none)
|
|
)
|
|
)
|
|
|
|
|
|
(deftype nci-codec-io-block (structure)
|
|
((pcm-buffer uint32)
|
|
(samples-in-pcm-buffer int16)
|
|
(nelly-buffer uint32)
|
|
(nelly-buffer-size uint16)
|
|
(nelly-buffer-read-byte-offset uint16)
|
|
(nelly-buffer-read-bit-offset uint8)
|
|
(nelly-buffer-write-byte-offset uint16)
|
|
(nelly-buffer-write-bit-offset uint8)
|
|
)
|
|
:pack-me
|
|
)
|
|
|
|
|
|
(define *headset-input-buffer* (new 'static 'array uint8 512
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
)
|
|
)
|
|
|
|
(define *headset-input-bytes* 0)
|
|
|
|
(define *headset-output-buffer* (new 'static 'array uint8 512
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
)
|
|
)
|
|
|
|
(define *headset-output-bytes* 0)
|
|
|
|
(define *headset-output-offset* 0)
|
|
|
|
(define *headset-cmp-out-buffer* (new 'static 'array uint8 100
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
)
|
|
)
|
|
|
|
(define *headset-cmp-out-frames* 0)
|
|
|
|
(define *headset-scratch-buffer* (new 'static 'array uint8 160
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
)
|
|
)
|
|
|
|
(define *headset-mix-buffer* (new 'static 'array uint8 160
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
#x0
|
|
)
|
|
)
|
|
|
|
(define *headset-decoder-ids* (new 'static 'array int8 4 0 0 0 0))
|
|
|
|
(define *headset-decoder-ptrs*
|
|
(new 'static 'boxed-array :type nci-codec-io-block :length 0 :allocated-length 4)
|
|
)
|
|
|
|
(deftype headset-decoder (structure)
|
|
((client-idx int8)
|
|
(last-time int32)
|
|
(cmp-queue headset-queue :inline)
|
|
(io nci-codec-io-block :inline)
|
|
(scratch uint8 16)
|
|
(id int8)
|
|
)
|
|
:allow-misaligned
|
|
)
|
|
|
|
|
|
(deftype headset (process)
|
|
((flags uint32)
|
|
(decoders headset-decoder 4 :inline)
|
|
(client-to-decoder uint8 16)
|
|
(encoder-io nci-codec-io-block :inline)
|
|
(last-speech-time int32)
|
|
(prev-operation basic)
|
|
(bytes-in-playback-queue int32)
|
|
(first-send basic)
|
|
(frame-ct int32)
|
|
(client-talking uint8 16)
|
|
)
|
|
(:methods
|
|
(headset-method-15 () none)
|
|
(headset-method-16 () none)
|
|
(headset-method-17 () none)
|
|
(headset-method-18 () none)
|
|
(headset-method-19 () none)
|
|
(headset-method-20 () none)
|
|
(headset-method-21 () none)
|
|
(headset-method-22 () none)
|
|
(headset-method-23 () none)
|
|
(headset-method-24 () none)
|
|
(headset-method-25 () none)
|
|
(headset-method-26 () none)
|
|
(headset-method-27 () none)
|
|
(headset-method-28 () none)
|
|
(headset-method-29 () none)
|
|
(headset-method-30 () none)
|
|
(headset-method-31 () none)
|
|
(headset-method-32 () none)
|
|
)
|
|
)
|
|
|
|
|
|
(define *headset* (the-as headset #f))
|