[game] music player (#1416)

* music flava hack toggle

* fix hint subtitles not being considered offscreen

* music player works

* fixes + citadel, maincave, lavatube music

* add remaining tracks

* fix test

* fixes

* fix lib
This commit is contained in:
ManDude
2022-06-04 19:53:49 +01:00
committed by GitHub
parent 0c16d3c3d8
commit d01c16f451
28 changed files with 856 additions and 262 deletions
+3 -3
View File
@@ -1501,12 +1501,12 @@
;; definition for function draw-percent-bar
;; INFO: Return type mismatch int vs none.
(defun draw-percent-bar ((arg0 int) (arg1 int) (arg2 float) (arg3 int))
(defun draw-percent-bar ((arg0 int) (arg1 int) (arg2 float) (arg3 rgba))
(let* ((s2-0 (-> *display* frames (-> *display* on-screen) frame global-buf))
(gp-0 (-> s2-0 base))
)
(draw-sprite2d-xy s2-0 arg0 arg1 255 14 (new 'static 'rgba :a #x60))
(draw-sprite2d-xy s2-0 arg0 (+ arg1 2) (the int (* 255.0 arg2)) 10 (the-as rgba arg3))
(draw-sprite2d-xy s2-0 arg0 (+ arg1 2) (the int (* 255.0 arg2)) 10 arg3)
(let ((a3-3 (-> s2-0 base)))
(let ((v1-3 (the-as dma-packet (-> s2-0 base))))
(set! (-> v1-3 dma) (new 'static 'dma-tag :id (dma-tag-id next)))
@@ -1709,7 +1709,7 @@
(a0-34 (logior (logand v1-82 -256) (shr (shl (the int (+ 64.0 (* 191.0 f0-12))) 56) 56)))
(a3-5 (logior (logand a0-34 -65281) (shr (shl (shr (shl a0-34 56) 56) 56) 48)))
)
(draw-percent-bar (- 75 (-> obj left-x-offset)) (+ s2-1 8) f0-12 (the-as int a3-5))
(draw-percent-bar (- 75 (-> obj left-x-offset)) (+ s2-1 8) f0-12 (the-as rgba a3-5))
)
(set! sv-304 format)
(let ((a0-42 (clear *temp-string*))
+11 -13
View File
@@ -180,19 +180,17 @@
;; definition for function target-has-all-the-cells?
;; INFO: Return type mismatch basic vs symbol.
(defun target-has-all-the-cells? ()
(with-pp
(the-as symbol (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-0 from) pp)
(set! (-> a1-0 num-params) 2)
(set! (-> a1-0 message) 'query)
(set! (-> a1-0 param 0) (the-as uint 'pickup))
(set! (-> a1-0 param 1) (the-as uint 6))
(>= (the int (the-as float (send-event-function *target* a1-0))) 100)
)
)
)
)
(defbehavior target-has-all-the-cells? process ()
(the-as symbol (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-0 from) self)
(set! (-> a1-0 num-params) 2)
(set! (-> a1-0 message) 'query)
(set! (-> a1-0 param 0) (the-as uint 'pickup))
(set! (-> a1-0 param 1) (the-as uint 6))
(>= (the int (the-as float (send-event-function *target* a1-0))) 100)
)
)
)
)
;; failed to figure out what this is: