diff options
author | Thomas Letan <contact@thomasletan.fr> | 2018-07-04 13:51:22 +0200 |
---|---|---|
committer | Thomas Letan <contact@thomasletan.fr> | 2018-07-04 13:51:22 +0200 |
commit | 5229fbd9ace7ac436abdaa9c63223b5f4ffaebec (patch) | |
tree | 2498682a292d893b6bcab93b56cb99f2c4e6be0e | |
parent | feature: Direction is now an angle, not an enum (diff) |
feature: Use an environment variable to locate resources
-rw-r--r-- | lykanc/assets.lisp | 7 | ||||
-rw-r--r-- | lykanc/client.lisp | 4 | ||||
-rw-r--r-- | lykanc/parameter.lisp | 7 | ||||
-rw-r--r-- | lykanc/puppet.lisp | 4 |
4 files changed, 15 insertions, 7 deletions
diff --git a/lykanc/assets.lisp b/lykanc/assets.lisp index 1a7cc7c..3795771 100644 --- a/lykanc/assets.lisp +++ b/lykanc/assets.lisp @@ -3,9 +3,14 @@ (defmacro define-tileset (str) `(gamekit:define-image (alexandria:make-keyword ,str) ,str)) -(gamekit:register-resource-package :keyword "../example/assets/tilesets/") +(gamekit:register-resource-package :keyword *tilesets-dir*) + (define-tileset "character.png") (define-tileset "map.png") + (gamekit:define-image :cursor "cursor.png") (gamekit:define-font :lykanc-font "NotoSansMono-Regular.ttf") + +(defun tileset-path (name) + (concatenate 'string *tilesets-dir* "/" name)) diff --git a/lykanc/client.lisp b/lykanc/client.lisp index a42903d..9563ae2 100644 --- a/lykanc/client.lisp +++ b/lykanc/client.lisp @@ -35,7 +35,7 @@ (fairy:add-child app ui :with-key :ui))) (defmethod init-map ((app client) map-key) - (let* ((tmx-file (concatenate 'string *maps_dir* map-key ".tmx")) + (let* ((tmx-file (concatenate 'string *maps-dir* map-key ".tmx")) (map-layer (make-instance 'fairy/tiled:tile-map :path tmx-file))) (setf (fairy:get-child app :game-scene) map-layer)) (setf (fairy:sort-with (get-objects-layer app)) @@ -56,7 +56,7 @@ (setf (main-puppet app) key)) (defmethod add-puppet ((app client) key x y dir) - (let ((puppet (new-puppet "../example/assets/tilesets/character.tsx" + (let ((puppet (new-puppet "character.tsx" x y))) (changes-direction puppet dir) (fairy:add-child (get-objects-layer app) diff --git a/lykanc/parameter.lisp b/lykanc/parameter.lisp index e757a95..3477a4d 100644 --- a/lykanc/parameter.lisp +++ b/lykanc/parameter.lisp @@ -2,7 +2,10 @@ (defparameter *viewport-width* 320) (defparameter *viewport-height* 240) -(defparameter *scale* 4) +(defparameter *scale* 2) (defparameter *cursor-size* 10) (defparameter *server-url* "ws://localhost:4000") -(defparameter *maps_dir* "../example/assets/maps/") +(defparameter *lykan-assets-dir* (uiop:getenv "LYKAN_ASSETS_DIR")) + +(defparameter *tilesets-dir* (concatenate 'string *lykan-assets-dir* "/tilesets/")) +(defparameter *maps-dir* (concatenate 'string *lykan-assets-dir* "/maps/")) diff --git a/lykanc/puppet.lisp b/lykanc/puppet.lisp index 33102d2..c4f8183 100644 --- a/lykanc/puppet.lisp +++ b/lykanc/puppet.lisp @@ -8,12 +8,12 @@ (attacking :initform nil :accessor attacking?))) -(defun new-puppet (path-tileset x y) +(defun new-puppet (tileset-name x y) (let ((layer (make-instance 'puppet :origin (gamekit:vec2 x y))) (tile (make-instance 'fairy/tiled:tile :current 19 - :path path-tileset))) + :path (tileset-path tileset-name)))) (fairy:add-child layer tile :with-key :character) layer)) |