summaryrefslogtreecommitdiff
path: root/draw.fnl
diff options
context:
space:
mode:
authorJakob L. Kreuze <jakob@memeware.net>2018-10-23 20:03:24 -0400
committerJakob L. Kreuze <jakob@memeware.net>2018-10-23 20:03:24 -0400
commitd2a4535049a9feccb611e6a7b80c872075de0b96 (patch)
tree57ffe4c6c6c56bcb245a30b03570648b357a2555 /draw.fnl
parent0ecfdef4d6d9de2b26208349e5f6e5ca631110dc (diff)
Breaking everything with major (but necessary to address bugs in last commit) refactoring
Diffstat (limited to 'draw.fnl')
-rw-r--r--draw.fnl33
1 files changed, 33 insertions, 0 deletions
diff --git a/draw.fnl b/draw.fnl
new file mode 100644
index 0000000..11b7594
--- /dev/null
+++ b/draw.fnl
@@ -0,0 +1,33 @@
+;;;; Copyright (C) 2018 Jakob L. Kreuze, All Rights Reserved.
+;;;;
+;;;; This file is part of slime-the-world.
+;;;;
+;;;; slime-the-world is free software: you can redistribute it and/or modify it
+;;;; under the terms of the GNU General Public License as published by the Free
+;;;; Software Foundation, either version 3 of the License, or (at your option)
+;;;; any later version.
+;;;;
+;;;; slime-the-world is distributed in the hope that it will be useful, but
+;;;; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+;;;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+;;;; more details.
+;;;;
+;;;; You should have received a copy of the GNU General Public License along
+;;;; with slime-the-world. If not, see <http://www.gnu.org/licenses/>.
+
+;; Draws from the a given tile sheet to the screen coordinates, (`x', `y'),
+;; accounting for padding and actual tile size.
+(fn tile [x y sheet frame-x frame-y]
+ (let [x-offset (+ (. sheet :padding-x)
+ (* frame-x (+ (. sheet :width) (. sheet :padding-x))))
+ y-offset (+ (. sheet :padding-y)
+ (* frame-y (+ (. sheet :height) (. sheet :padding-y))))]
+ (let [quad (love.graphics.newQuad x-offset
+ y-offset
+ (. sheet :width)
+ (. sheet :height)
+ (: (. sheet :img) :getWidth)
+ (: (. sheet :img) :getHeight))]
+ (love.graphics.draw (. sheet :img) quad x y))))
+
+{:tile tile}