diff --git a/desktop/build-osx-mobilesim.json b/desktop/build-osx-mobilesim.json index ebe63f6a..a038384b 100644 --- a/desktop/build-osx-mobilesim.json +++ b/desktop/build-osx-mobilesim.json @@ -2,10 +2,11 @@ "platform": "mac", "jdk": "/Users/brycecovert/dev/jvms/jre1.8.0_112.jre/Contents/jre.zip", "executable": "Tick's Tales", - "vmargs": ["ui_scale=1.5"], - "appjar": "target/advent-standalone.jar", - "mainclass": "advent/core/desktop_launcher", + "vmargs": ["-Dui_scale=1.5"], + "classpath": ["target/advent-standalone.jar"], + "mainclass": "advent.core.desktop_launcher", "resources": ["resources/icon", "steam_appid.txt"], "minimizejre": "oraclejre8", - "outdir": "target/osx-mobilesim/Tick's Tales.app" + "output": "target/osx-mobilesim/Tick's Tales.app", + "bundleidentifier": "com.tickstales.upallknight" } diff --git a/desktop/build-osx.json b/desktop/build-osx.json index 37f640bf..35977b51 100644 --- a/desktop/build-osx.json +++ b/desktop/build-osx.json @@ -3,9 +3,11 @@ "jdk": "/Users/brycecovert/dev/jvms/jre1.8.0_112.jre/Contents/jre.zip", "executable": "Tick's Tales", "vmargs": [], - "appjar": "target/advent-standalone.jar", - "mainclass": "advent/core/desktop_launcher", + "classpath": ["target/advent-standalone.jar"], + "mainclass": "advent.core.desktop_launcher", "resources": ["resources/icon", "steam_appid.txt"], "minimizejre": "oraclejre8", - "outdir": "target/osx/Tick's Tales.app" + "output": "target/osx/Tick's Tales.app", + "bundle": "com.tickstales.upallknight", + "verbose": true } diff --git a/desktop/build-windows-mobilesim.json b/desktop/build-windows-mobilesim.json index f4e70498..4d0c9f7b 100644 --- a/desktop/build-windows-mobilesim.json +++ b/desktop/build-windows-mobilesim.json @@ -1,11 +1,11 @@ { - "platform": "windows", - "jdk": "/Users/brycecovert/dev/jvms/java-1.8.0-openjdk-1.8.0.111-3.b15.ojdkbuild.windows.x86_64.zip", + "platform": "windows64", + "jdk": "/Users/brycecovert/Downloads/openjdk-1.7.0-u80-unofficial-windows-amd64-image.zip", "executable": "TicksTales", - "appjar": "target/advent-standalone.jar", + "classpath": ["target/advent-standalone.jar"], "vmargs": ["-Dui_scale=1.5"], - "mainclass": "advent/core/desktop_launcher", + "mainclass": "advent.core.desktop_launcher", "resources": ["steam_appid.txt"], "minimizejre": "soft", - "outdir": "target/windows-mobilesim/" + "output": "target/windows-mobilesim/" } diff --git a/desktop/build-windows.json b/desktop/build-windows.json index 6e7670de..0c9ff325 100644 --- a/desktop/build-windows.json +++ b/desktop/build-windows.json @@ -1,10 +1,10 @@ { - "platform": "windows", - "jdk": "/Users/brycecovert/dev/jvms/java-1.8.0-openjdk-1.8.0.111-3.b15.ojdkbuild.windows.x86_64.zip", + "platform": "windows64", + "jdk": "/Users/brycecovert/Downloads/openjdk-1.7.0-u80-unofficial-windows-amd64-image.zip", "executable": "TicksTales", - "appjar": "target/advent-standalone.jar", - "mainclass": "advent/core/desktop_launcher", + "mainclass": "advent.core.desktop_launcher", "resources": ["steam_appid.txt"], + "classpath": ["target/advent-standalone.jar"], "minimizejre": "soft", - "outdir": "target/windows/" + "output": "target/windows/" } diff --git a/desktop/build-zip.sh b/desktop/build-zip.sh index f28def5c..032f3497 100755 --- a/desktop/build-zip.sh +++ b/desktop/build-zip.sh @@ -10,11 +10,11 @@ mv osx-mobilesim "Tick's Tales - OS X - Mobile Sim" mv linux "Tick's Tales - Linux" mv windows "Tick's Tales - Windows" mv windows-mobilesim "Tick's Tales - Windows - Mobile Sim" -zip -r linux-1.2.`cat ../last-release`.zip "Tick's Tales - Linux" -zip -r osx-1.2.`cat ../last-release`.zip "Tick's Tales - OS X" -zip -r osx-mobilesim-1.2.`cat ../last-release`.zip "Tick's Tales - OS X - Mobile Sim" -zip -r windows-1.2.`cat ../last-release`.zip "Tick's Tales - Windows" -zip -r windows-mobilesim-1.2.`cat ../last-release`.zip "Tick's Tales - Windows - Mobile Sim" +zip -r linux-2.0.`cat ../last-release`.zip "Tick's Tales - Linux" +zip -r osx-2.0.`cat ../last-release`.zip "Tick's Tales - OS X" +zip -r osx-mobilesim-2.0.`cat ../last-release`.zip "Tick's Tales - OS X - Mobile Sim" +zip -r windows-2.0.`cat ../last-release`.zip "Tick's Tales - Windows" +zip -r windows-mobilesim-2.0.`cat ../last-release`.zip "Tick's Tales - Windows - Mobile Sim" popd rm ~/Dropbox/TicksTalesBuilds/*.zip cp target/*.zip ~/Dropbox/TicksTalesBuilds/ diff --git a/desktop/gametodos.txt b/desktop/gametodos.txt index 2c58c6bc..1cda205d 100644 --- a/desktop/gametodos.txt +++ b/desktop/gametodos.txt @@ -1,41 +1,6 @@ -ART -+ Update all collisions +MOBILE -PROGRAMMING -+ try to have dialogue for every wrong interaction -+ preload all sounds -+ behind house left direction not great -+ magic sound busted when fading music in -+ brian goes down after wrong item - -IOS -+ all mp3s -+ pngcrush breaks colors -+ renable pickup sound once it's been replaced -+ update-override slow on IOS - -AUDIO - + scratch - + magic hands - + gandarf explosion - + crying - + cat - + strength potion - + cafe sound - + milking - + antique sigh - + bloodclot grunt - + bloodclot explode - + crowbar - + get sick - + sigh - + jump - + chop wood - + step backwards creep - + shoot slinger's - + new music for night +godfather is "visible" with +mint position hard to click -+ EDGES - + Gandarf magic handskkk - + arm wrestle diff --git a/desktop/last-release b/desktop/last-release index 0cfbf088..b8626c4c 100644 --- a/desktop/last-release +++ b/desktop/last-release @@ -1 +1 @@ -2 +4 diff --git a/desktop/packr.jar b/desktop/packr.jar index 312d19a0..579a1404 100644 Binary files a/desktop/packr.jar and b/desktop/packr.jar differ diff --git a/desktop/project.clj b/desktop/project.clj index 7e1ec545..24de82b9 100644 --- a/desktop/project.clj +++ b/desktop/project.clj @@ -1,4 +1,4 @@ -(def version (str "1.2." (clojure.string/trim-newline (slurp "last-release")))) +(def version (str "2.0." (clojure.string/trim-newline (slurp "last-release")))) (defproject advent version :description "FIXME: write description" diff --git a/desktop/release-non-steam.sh b/desktop/release-non-steam.sh index a16005e3..30407914 100755 --- a/desktop/release-non-steam.sh +++ b/desktop/release-non-steam.sh @@ -7,4 +7,5 @@ java -jar packr.jar build-osx-mobilesim.json # java -jar packr.jar build-linux-32.json # java -jar packr.jar build-linux-64.json cp icons.icns target/osx/Tick\'s\ Tales.app/Contents/Resources/ +cp icons.icns target/osx-mobilesim/Tick\'s\ Tales.app/Contents/Resources/ diff --git a/desktop/resources/cursor.png b/desktop/resources/cursor.png index db8d5b15..b006b165 100644 Binary files a/desktop/resources/cursor.png and b/desktop/resources/cursor.png differ diff --git a/desktop/src-common/advent/screens/inventory.clj b/desktop/src-common/advent/screens/inventory.clj index c42b8b3e..720824a6 100644 --- a/desktop/src-common/advent/screens/inventory.clj +++ b/desktop/src-common/advent/screens/inventory.clj @@ -36,9 +36,9 @@ :down-time (:total-time screen)))) (defn mouse-outside-inventory? [[x y]] - (or (< x 80) - (> x 1200) - (< y 80) + (or (< x 140) + (> x 1140) + (< y 320) (> y 880))) (defn mouse-drag [screen {:keys [selected-item] :as entities} options] @@ -51,8 +51,8 @@ selected-item (-> entities - (assoc-in [:items selected-item :x] (- x 32)) - (assoc-in [:items selected-item :y] (- y 32)) + (assoc-in [:items selected-item :x] x) + (assoc-in [:items selected-item :y] y) (assoc :dragged? true) (assoc :hovered-item (:item hovered-entity))) :else @@ -172,20 +172,23 @@ base-y (* 180 4) item-width (* utils/ui-scale 4 18) padding (/ item-width 4) + item-height (* utils/ui-scale 4 16) + padding-height (/ item-height 4) x (+ base-x (* column (+ padding item-width))) y (- base-y (* row (+ padding item-width))) offset-x (+ x (/ item-width 2)) offset-y (+ y (/ item-width 2)) - padded-size (/ (+ item-width padding padding) 2) + padded-width (/ (+ item-width padding padding) 2) + padded-height (/ (+ item-height padding-height padding-height) 2) #_#_padding (* 4 padding)]] [item (assoc (texture (aget (:all-items entities) 0 (.indexOf utils/+all-cursors+ (:cursor item)))) - :x (+ x (/ padding 2)) :y (+ y (/ padding 2)) + :x (+ x (/ padding 2)) :y y :scale-x (* utils/ui-scale 4) :scale-y (* utils/ui-scale 4) :origin-x 9 :origin-y 8 :item item - :box (zone/box (- x padded-size) (- y padded-size) (+ x padded-size) (+ y (/ item-width 2))))]))) + :box (zone/box (- x padded-width) (- y padded-height) (+ x padded-width) (+ y padded-height)))]))) (assoc-in [:tweens :fade-in] (tween/tween :fade-in screen [:opacity] 0.0 1.0 0.2 :ease tween/ease-out-cubic))))) :on-mouse-moved mouse-move diff --git a/desktop/src-common/advent/screens/rooms/castle_gate.clj b/desktop/src-common/advent/screens/rooms/castle_gate.clj index 50c5497b..632baceb 100644 --- a/desktop/src-common/advent/screens/rooms/castle_gate.clj +++ b/desktop/src-common/advent/screens/rooms/castle_gate.clj @@ -25,6 +25,8 @@ (assoc (animation->texture screen coin-flip) :x 212 :y 114 :baseline 151 :opacity 0.0 + :label "Coin" + :cursor :hand :origin-x 5 :origin-y 5 :night-profile :none @@ -42,6 +44,8 @@ (let [stand (utils/make-anim "castle-gate/goon-1.png" [13 33] 0.21 [0 0 0 0 0 0 0 0 0 1])] (assoc (animation->texture screen stand) :x 244 :y 102 :baseline 138 + :label "Goon" + :cursor :talk :scale-x 1.4 :scale-y 1.4 :night-profile :sprite @@ -61,6 +65,8 @@ :scale-y 1.4 :origin-x 6 :origin-y 0 + :label "Bubba" + :cursor :talk :anim stand :talk talk :flip flip @@ -127,6 +133,7 @@ (actions/walk-to entities :ego [245 90] :skip-type :end)) (defn flip-coin [screen entities] + (println "here") (if (and (= 0 (rand-int 2)) (not (get-in entities [:state :has-dropped-coin?])) (not (get-in entities [:state :bubba-gone?])) @@ -182,6 +189,8 @@ (defn make-note [] {:box [97 102 111 132] + :label "Note" + :cursor :look :script (actions/get-script entities (look-at-note entities)) :scripts {:charcoal (actions/get-script entities @@ -207,6 +216,8 @@ :cursor :left} :window {:box [192 157 215 215] + :label "Window" + :cursor :look :script (actions/get-script entities (actions/talk entities :ego "That's a big window!")) :scripts {:walkie-talkies (actions/get-script entities @@ -260,8 +271,7 @@ (if (and (not (actions/has-obtained? entities :money)) (get-in entities [:state :has-dropped-coin?])) - (do - (update-in entities [:room :entities :coin-flip] assoc :x 185 :y 44 :opacity 1.0)) + (do (update-in entities [:room :entities :coin-flip] assoc :x 185 :y 44 :opacity 1.0)) entities) (if (actions/has-obtained? entities :money) (update-in entities [:room :entities] dissoc :coin-flip) diff --git a/desktop/src-common/advent/screens/rooms/common.clj b/desktop/src-common/advent/screens/rooms/common.clj index 2494514a..6332198a 100644 --- a/desktop/src-common/advent/screens/rooms/common.clj +++ b/desktop/src-common/advent/screens/rooms/common.clj @@ -304,6 +304,8 @@ flex (utils/make-anim "castle-gate/frankie.png" [24 35] 0.2 [0 10 11 12 12 12 12 11 10])] (assoc (animation->texture screen stand) :x 235 :y 90 :baseline 150 + :label "Frankie Rockfist" + :cursor :talk :origin-x 12 :origin-y 0 :anim stand @@ -457,7 +459,9 @@ :bloodclot-head "Give it here!") (actions/transition-background entities :space [200 45] :between (fn [s e] (-> e + (assoc-in [:room :entities :ego :stand-override] :crawl-stand) + (assoc-in [:room :entities :ego :previous-frame-index] -1) (update-in [:room :entities :ego] #(actions/start-animation s % :crawl-stand))) )) (actions/do-dialogue entities diff --git a/desktop/src-common/advent/screens/rooms/dream.clj b/desktop/src-common/advent/screens/rooms/dream.clj index 47b2ca54..723cb82b 100644 --- a/desktop/src-common/advent/screens/rooms/dream.clj +++ b/desktop/src-common/advent/screens/rooms/dream.clj @@ -32,6 +32,8 @@ (assoc-in [:room :current-layers 6 :opacity] opacity) (assoc-in [:room :current-layers 7 :opacity] opacity) (assoc-in [:room :current-layers 8 :opacity] opacity) + (assoc-in [:room :entities :fairy-godfather :label] (if (> opacity 0.0) "Fairy Godfather" nil)) + (assoc-in [:room :entities :fairy-godfather :cursor] (if (> opacity 0.0) :talk nil)) (assoc-in [:room :entities :sword :opacity] tool-opacity) (assoc-in [:room :entities :case :opacity] tool-opacity) (assoc-in [:room :entities :broom :opacity] tool-opacity) @@ -584,7 +586,7 @@ (utils/fast-forward-particle (get-in entities [:room :entities :outside-particles])) (as-> entities entities - (if (get-in entities [:state :seen-intro?]) + (if (get-in entities [:state :seen-intro?]) (set-opacity entities 1.0 1.0) (set-opacity entities 0.0 0.0)) (if (actions/has-item? entities :broom) diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index 8eabf324..494e168d 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -1100,6 +1100,7 @@ void main () (.setUniformf shader "hue_amount" (float (or hue-amount 1.0)))) (.setColor batch (color (:r e 1.0) (:g e 1.0) (:b e 1.0) (:opacity e 1.0))) + (entities/draw! (assoc e :x (+ (/ ^double (:x e) (.zoom camera)) @@ -1111,14 +1112,15 @@ void main () (.setColor batch (color 1 1 1 1)) (.set (.combined camera) original-combined)))) -(def nighttime-times #{:night :sunrise}) +(def nighttime-times #{:night :dawn}) (defn get-rendered [entities {:keys [time ^double y ^double offset-y night-profile] :or {night-profile :default} :as e}] (as-> e e - (if (and (not= time (-> entities :state :time)) - (nighttime-times (-> entities :state :time))) - (-> e - (merge (-> entities :time-profiles night-profile)) - (assoc :time (-> entities :state :time))) + (if (or (get-in entities [:tweens :dawn-r]) + (and (not= time (-> entities :state :time)) + (nighttime-times (-> entities :state :time)))) + (-> e + (merge (-> entities :time-profiles night-profile)) + (assoc :time (-> entities :state :time))) e) #_(if offset-y (assoc e :y (+ y offset-y)) @@ -1131,7 +1133,8 @@ void main () (defn grab-layers [entities] (update-in entities [:room] (fn [{:keys [layers current-layers] :as room}] - (cond current-layers + (cond (and current-layers + (not (get-in entities [:tweens :dawn-r]))) room (map? layers) @@ -1173,7 +1176,7 @@ void main () (defscreen scene :on-timer (fn [screen entities options] - (when-let [timer-fn (get-in entities [:room :timers (:id screen) 2])] + (when-let [timer-fn (get-in entities [:room :timers (:id options) 2])] (timer-fn screen entities))) :on-show @@ -1407,7 +1410,7 @@ void main () entities)) entities (grab-layers entities) layers (get-in entities [:room :current-layers]) - all-entities (concat layers (vals (get-in entities [:room :entities])))] + all-entities (concat layers (vals (get-in entities [:room :entities])) [(:white-fade entities)])] (screen! fade-screen :update-fade {:opacity (get-in entities [:fade :opacity])}) (doseq [m (vals (get-in entities [:musics]))] (when m @@ -1471,7 +1474,7 @@ void main () rest) (assoc-in entities [:room :entities] (persistent! room)))) layers (get-in entities [:room :current-layers]) - all-entities (concat layers (vals (get-in entities [:room :entities])))] + all-entities (concat layers (vals (get-in entities [:room :entities])) [(:white-fade entities)])] (screen! tooltip-screen :on-hover-start {:hover-text (get-in entities [:label :text]) :scene-viewport (:viewport screen)