diff options
| author | Jakob L. Kreuze <jakob@memeware.net> | 2018-10-23 20:03:24 -0400 |
|---|---|---|
| committer | Jakob L. Kreuze <jakob@memeware.net> | 2018-10-23 20:03:24 -0400 |
| commit | d2a4535049a9feccb611e6a7b80c872075de0b96 (patch) | |
| tree | 57ffe4c6c6c56bcb245a30b03570648b357a2555 /draw.fnl | |
| parent | 0ecfdef4d6d9de2b26208349e5f6e5ca631110dc (diff) | |
Breaking everything with major (but necessary to address bugs in last commit) refactoring
Diffstat (limited to 'draw.fnl')
| -rw-r--r-- | draw.fnl | 33 |
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} |