aboutsummaryrefslogtreecommitdiff
path: root/renderer.scm
diff options
context:
space:
mode:
Diffstat (limited to 'renderer.scm')
-rw-r--r--renderer.scm33
1 files changed, 14 insertions, 19 deletions
diff --git a/renderer.scm b/renderer.scm
index 48698f7..b6ba238 100644
--- a/renderer.scm
+++ b/renderer.scm
@@ -209,6 +209,18 @@
(row-loop (cdr rows) (+ row 1)))))
(tilemap-layers tilemap))))
+ (define (draw-attack-hitbox renderer e tw cx cy)
+ (when (> (entity-ref e #:attack-timer 0) 0)
+ (let* ((ex (inexact->exact (floor (entity-ref e #:x 0))))
+ (ey (inexact->exact (floor (entity-ref e #:y 0))))
+ (ew (inexact->exact (floor (entity-ref e #:width 0))))
+ (eh (inexact->exact (floor (entity-ref e #:height 0))))
+ (facing (entity-ref e #:facing 1))
+ (ax (if (> facing 0) (+ ex ew) (- ex tw))))
+ (set! (sdl2:render-draw-color renderer) +debug-attack-color+)
+ (sdl2:render-fill-rect! renderer
+ (sdl2:make-rect (- ax cx) (- ey cy) tw eh)))))
+
(define (draw-debug-entities renderer camera scene)
(let* ((tilemap (scene-tilemap scene))
(tw (tilemap-tilewidth tilemap))
@@ -222,28 +234,11 @@
((eq? type 'player)
(set! (sdl2:render-draw-color renderer) +debug-player-color+)
(sdl2:render-fill-rect! renderer rect)
- (when (> (entity-ref e #:attack-timer 0) 0)
- (let* ((px (inexact->exact (floor (entity-ref e #:x 0))))
- (py (inexact->exact (floor (entity-ref e #:y 0))))
- (pw (inexact->exact (floor (entity-ref e #:width 0))))
- (ph (inexact->exact (floor (entity-ref e #:height 0))))
- (facing (entity-ref e #:facing 1))
- (ax (if (> facing 0) (+ px pw) (- px tw))))
- (set! (sdl2:render-draw-color renderer) +debug-attack-color+)
- (sdl2:render-fill-rect! renderer
- (sdl2:make-rect (- ax cx) (- py cy) tw ph)))))
+ (draw-attack-hitbox renderer e tw cx cy))
((eq? type 'enemy)
(set! (sdl2:render-draw-color renderer) +debug-enemy-color+)
(sdl2:render-fill-rect! renderer rect)
- (when (> (entity-ref e #:attack-timer 0) 0)
- (let* ((ex (inexact->exact (floor (entity-ref e #:x 0))))
- (ey (inexact->exact (floor (entity-ref e #:y 0))))
- (eh (inexact->exact (floor (entity-ref e #:height 0))))
- (facing (entity-ref e #:facing 1))
- (ax (if (> facing 0) (+ ex tw) (- ex tw))))
- (set! (sdl2:render-draw-color renderer) +debug-attack-color+)
- (sdl2:render-fill-rect! renderer
- (sdl2:make-rect (- ax cx) (- ey cy) tw eh))))))))
+ (draw-attack-hitbox renderer e tw cx cy)))))
(scene-entities scene))))
(define (render-debug-scene! renderer scene)