From 73985732abb9c6c375b7dd00294cd97cd38dbc77 Mon Sep 17 00:00:00 2001 From: Remington Covert Date: Mon, 6 Apr 2015 16:50:41 -0700 Subject: [PATCH] added more items. --- desktop/resources/cursor.png | Bin 10777 -> 11151 bytes desktop/settings.edn | 2 +- desktop/src-common/advent/#utils.clj# | 219 ------------------ desktop/src-common/advent/.#utils.clj | 1 - desktop/src-common/advent/screens/items.clj | 4 +- .../src-common/advent/screens/rooms/dream.clj | 6 +- desktop/src-common/advent/utils.clj | 2 +- 7 files changed, 9 insertions(+), 225 deletions(-) delete mode 100644 desktop/src-common/advent/#utils.clj# delete mode 120000 desktop/src-common/advent/.#utils.clj diff --git a/desktop/resources/cursor.png b/desktop/resources/cursor.png index 76aec5b73791473e95b7d1fb1c3a915f12c02e3f..3e9d228c5c57d7962c8fc3da675602679fb08e41 100644 GIT binary patch delta 10131 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 delta 9754 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 H?SlRXC`cAZ diff --git a/desktop/settings.edn b/desktop/settings.edn index 00f1cecb..89142a80 100644 --- a/desktop/settings.edn +++ b/desktop/settings.edn @@ -1 +1 @@ -{:sound-volume 56.0, :music-volume 0.0} \ No newline at end of file +{:sound-volume 56.0, :music-volume 17.0} \ No newline at end of file diff --git a/desktop/src-common/advent/#utils.clj# b/desktop/src-common/advent/#utils.clj# deleted file mode 100644 index 131b398c..00000000 --- a/desktop/src-common/advent/#utils.clj# +++ /dev/null @@ -1,219 +0,0 @@ -(ns advent.utils - (:refer-clojure :exclude [load]) - (:require [play-clj.core :refer :all] - [play-clj.ui :refer :all] - [play-clj.utils :refer :all] - [play-clj.math :refer :all] - [play-clj.g2d :refer :all] - [clojure.java.io :as io] - [clojure.edn :as edn]) - (:import [com.badlogic.gdx.graphics Pixmap Pixmap$Filter Texture Texture$TextureFilter] - [com.badlogic.gdx.graphics.g2d TextureRegion] - [com.badlogic.gdx.utils.viewport FitViewport] - [com.badlogic.gdx.scenes.scene2d Actor Stage] - [java.lang Object])) - -(defn log-coords [screen entities] - (let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)})] - (println (:input-x screen) (:input-y screen) "->" x y))) - -(def +all-cursors+ [:main :wool :mushrooms :carrot :right :down :left :up :flask :flask-with-contents :trophy :ladder :stick :cat-toy :balloon :frog-legs :teddy :portrait :recipe :glass-eye :motivational-tapes :used-earplugs :grass :slobber :flask-with-strength :medal :kiss :sword :hourglass :mandrake :ball-n-chain :key :rope :crowbar :note-1 :ash :sack-lunch :flies :spear :monocle :feather :spell-component :money :watch :broken-clock :slingshot :camera :walkie-talkies :alarm-clock :walkie-talkie :flask-water :flask-water-stuff :flask-water-stuff-2 :note-2 :magic-slingshot :active-main]) - -(def settings (atom {:music-volume 50.0 - :sound-volume 75.0})) - -(defn current-music-volume [& [factor]] - (* (Math/pow (/ (:music-volume @settings) 100.0) 2) - 0.25 - (or factor 1.0))) - -(defn current-sound-volume [& [factor]] - (* (Math/pow (/ (:sound-volume @settings) 100.0) 2) - 0.5 - (or factor 1.0))) - -(defn cursor [filename which] - (let [scale 2 - base-cursor (pixmap filename) - target-width (* 16 scale) - target-height (* 16 scale) - resized (Pixmap. target-width target-height (.getFormat base-cursor)) - index (.indexOf +all-cursors+ which)] - #_(Pixmap/setFilter Pixmap$Filter/NearestNeighbour) - (pixmap! resized :draw-pixmap base-cursor (* index 16) 0 16 16 - 0 0 target-width target-height) - resized )) - -(defn save [entities] - (spit "save.edn" (entities :state))) - -(defn load [] - (assoc (edn/read-string (slurp "save.edn")) :active? true)) - -(defn load-settings! [] - (when (.exists (io/file "settings.edn")) - (reset! settings (edn/read-string (slurp "settings.edn"))))) - -(defn save-settings! [] - (spit "settings.edn" @settings)) - -(defn get-font [filename] - (let [font (bitmap-font filename) - tr (bitmap-font! font :get-region) - tx (.getTexture tr)] - (texture! tx :set-filter Texture$TextureFilter/Linear Texture$TextureFilter/Linear) - font)) - -(def +screen-width+ 320) -(def +screen-height+ 240) - - -(defn scaler-fn-with-baseline [baseline minimum-size & [maximum-size]] - (let [maximum-size (or maximum-size 1.0)] - (fn [[_ y]] - (if (< y baseline) maximum-size - (let [percent-complete (- 1.0 (/ (- y baseline) (- +screen-height+ baseline))) - range (+ (* percent-complete (- maximum-size minimum-size)) minimum-size)] - range))))) - -(defn scaler-fn-from-image [image minimum-size maximum-size] - (let [image (pixmap image) - maximum-size (or maximum-size 1.0)] - (fn [[x y]] - (let [percent-complete (-> image - (pixmap! :get-pixel x (- 240 y)) - color - (.r))] - (+ (* percent-complete (- maximum-size minimum-size)) minimum-size))))) - -(defn dist [x1 y1 x2 y2 & {:keys [y-sign x-sign]}] - (let [y-sign (or y-sign 1.0) - x-sign (or x-sign 1.0) - dx (* (- x1 x2) x-sign) - dy (* y-sign (- y1 y2))] - (Math/sqrt (+ (* dx dx) (* dy dy))))) - - -(defn flip [anim] - (animation (animation! anim :get-frame-duration) - (for [src-frame (animation! anim :get-key-frames) - :let [frame (texture (texture! src-frame :get-texture))]] - (do - (texture! frame :set-region src-frame) - (texture! frame :flip true false) - frame)))) - -(defn make-anim [file [w h] speed frames] - (let [sheet (texture! (texture file) :split w h)] - (animation speed (for [i frames] - (aget sheet 0 i))))) -(defn make-bird [screen p] - (let [bird-sheet (texture! (texture "outside-castle/bird.png") :split 1 2) - bird-stand (animation 0.15 (for [i [0 1]] - (aget bird-sheet 0 i)))] - (assoc (animation->texture screen bird-stand) - :x 0 - :y 0 - :baseline 21 - :anim bird-stand - :anim-start 0 - :path (catmull-rom-spline (map #(apply vector-2* %) p) true) - :update-fn (fn [screen entities entity] - (let [speed 0.05 - pos-f (- (* (:total-time screen) speed) (int (* (:total-time screen) speed))) - v (vector-2 0 0) - a (catmull-rom-spline! (:path entity) :value-at v pos-f)] - (assoc entity :x (vector-2! v :x) :y (vector-2! v :y))))))) - -(defn update-path-location [speed screen entities entity] - (let [pos-f (- (* (- (:total-time screen) (:path-start-time entity 0.0)) speed) (int (* (- (:total-time screen) (:path-start-time entity 0.0)) speed))) - v (vector-2 0 0) - a (catmull-rom-spline! (:path entity) :value-at v pos-f)] - (assoc entity :x (vector-2! v :x) :y (vector-2! v :y)))) - -(defn find-override [entities [x y]] - (first (concat (filter #(and ((:mouse-in? %) entities x y) - - (:override %)) - (get-in entities [:room :interactions])) - (filter #(and (:mouse-in? %) - ((:mouse-in? %) entities x y) - (not= "ego" (:id %)) - (:script %)) - (vals (get-in entities [:room :entities]))) - (filter #(and ((:mouse-in? %) entities x y) - (:script %)) - (get-in entities [:room :interactions]))))) - - - -(defn remove-interaction [entities id] - (update-in entities [:room :interactions] (fn [i] (remove #(= id (:id %)) i)))) - - -(defn play-sound [snd] - (music! snd :play)) - -(defn stop-sound [snd] - (music! snd :stop)) - -(defn make-music [r] - (doto (music r) (music! :set-looping true))) - - - -(defn apply-tweens [screen entities tweens] - (reduce (fn [e f] - (f e (:total-time screen))) - entities - (vals tweens))) - -(defn intersects? [e [x y]] - (and (:object e) - (< (:x e) x (+ (:x e) (or (:width e) (.getWidth (:object e))))) - (< (:y e) y (+ (:y e) (or (:height e) (.getHeight (:object e))))))) - -(defn get-current-music [entities] - (let [time (get-in entities [:state :time]) - musics (:musics entities) - override-music (musics (get-in entities [:music-override :value])) - current-music (musics (get-in entities [:room :music])) - current-time-music (musics (get-in entities [:room :music time]))] - (or override-music current-music current-time-music))) - - -(defn setup-viewport [screen width height] - (let [cam (orthographic) - viewport (FitViewport. width height cam) - stage (Stage. viewport)] - (update! screen :renderer stage :viewport viewport :camera cam) - (.apply viewport) - [cam viewport stage])) - -(defn unproject - ([screen] - (unproject screen [(:input-x screen) (:input-y screen)]) ) - ([screen [x y]] - (let [pj (.unproject ^FitViewport (:viewport screen) (vector-2 x y)) - x (.x pj) - y (.y pj)] - [x y]))) - -(defn project - ([screen [x y]] - (let [pj (.project ^FitViewport (:viewport screen) (vector-2 x y)) - x (.x pj) - y (.y pj)] - [x y]))) - -(defn contains-point? [x1 y1 width height x y] - (and (< x1 x (+ x1 width)) - (< y1 y (+ y1 height)))) - -(defn update-override [screen entities] - (let [last-pos (unproject screen (get-in entities [:cursor :last-pos]))] - (if (get-in entities [:state :active?]) - (if-let [mouse-override (find-override entities last-pos)] - (assoc-in entities [:cursor :override] (or (:cursor mouse-override) (when (#{:main :active-main} (get-in entities [:cursor :last])) :active-main))) - (assoc-in entities [:cursor :override] nil)) - entities))) diff --git a/desktop/src-common/advent/.#utils.clj b/desktop/src-common/advent/.#utils.clj deleted file mode 120000 index d2956032..00000000 --- a/desktop/src-common/advent/.#utils.clj +++ /dev/null @@ -1 +0,0 @@ -bryce@brycepro.local.77007 \ No newline at end of file diff --git a/desktop/src-common/advent/screens/items.clj b/desktop/src-common/advent/screens/items.clj index d8912b06..3292a5b4 100644 --- a/desktop/src-common/advent/screens/items.clj +++ b/desktop/src-common/advent/screens/items.clj @@ -130,4 +130,6 @@ :walkie-talkies {:name "Communication devices" :value :walkie-talkies :cursor :walkie-talkies} :walkie-talkie {:name "Communication device" :value :walkie-talkie :cursor :walkie-talkie} :alarm-clock {:name "Time-keeping device" :value :alarm-clock :cursor :alarm-clock} - :magic-slingshot {:name "The Slinger's Shot" :value :magic-slingshot :cursor :magic-slingshot}}) + :magic-slingshot {:name "The Slinger's Shot" :value :magic-slingshot :cursor :magic-slingshot} + :shovel {:name "Shovel" :value :shovel :cursor :shovel} + :broom {:name "Broom" :value :broom :cursor :broom}}) diff --git a/desktop/src-common/advent/screens/rooms/dream.clj b/desktop/src-common/advent/screens/rooms/dream.clj index b4909e90..ef443353 100644 --- a/desktop/src-common/advent/screens/rooms/dream.clj +++ b/desktop/src-common/advent/screens/rooms/dream.clj @@ -222,7 +222,8 @@ (actions/walk-to entities :ego [267 70] :face :right) (actions/play-animation entities :ego :sigh) (actions/play-animation entities :ego :reach) - (actions/remove-entity entities :broom)) + (actions/remove-entity entities :broom) + (actions/give entities :broom)) (read-broom-plaque entities)))) :shovel (assoc (texture "dream/shovel.png") :x 33 :y 122 @@ -236,7 +237,8 @@ (actions/walk-to entities :ego [61 72] :face :left) (actions/play-animation entities :ego :sigh) (actions/play-animation entities :ego :reach) - (actions/remove-entity entities :shovel)) + (actions/remove-entity entities :shovel) + (actions/give entities :shovel)) (read-shovel-plaque entities)))) :sign (assoc (texture "dream/sign.png") :x 229 :y 33 :baseline 207) diff --git a/desktop/src-common/advent/utils.clj b/desktop/src-common/advent/utils.clj index a95b6c73..74b231bb 100644 --- a/desktop/src-common/advent/utils.clj +++ b/desktop/src-common/advent/utils.clj @@ -17,7 +17,7 @@ (let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)})] (println (:input-x screen) (:input-y screen) "->" x y))) -(def +all-cursors+ [:main :wool :mushrooms :carrot :right :down :left :up :flask :flask-with-contents :trophy :ladder :stick :cat-toy :balloon :frog-legs :teddy :portrait :recipe :glass-eye :motivational-tapes :used-earplugs :grass :slobber :flask-with-strength :medal :kiss :sword :hourglass :mandrake :ball-n-chain :key :rope :crowbar :note-1 :ash :sack-lunch :flies :spear :monocle :feather :spell-component :money :watch :broken-clock :slingshot :camera :walkie-talkies :alarm-clock :walkie-talkie :flask-water :flask-water-stuff :flask-water-stuff-2 :note-2 :magic-slingshot :active-main]) +(def +all-cursors+ [:main :wool :mushrooms :carrot :right :down :left :up :flask :flask-with-contents :trophy :ladder :stick :cat-toy :balloon :frog-legs :teddy :portrait :recipe :glass-eye :motivational-tapes :used-earplugs :grass :slobber :flask-with-strength :medal :kiss :sword :hourglass :mandrake :ball-n-chain :key :rope :crowbar :note-1 :ash :sack-lunch :flies :spear :monocle :feather :spell-component :money :watch :broken-clock :slingshot :camera :walkie-talkies :alarm-clock :walkie-talkie :flask-water :flask-water-stuff :flask-water-stuff-2 :note-2 :magic-slingshot :active-main :shovel :broom]) (def settings (atom {:music-volume 50.0 :sound-volume 75.0}))