working on held.

This commit is contained in:
2015-05-11 07:45:27 -07:00
parent f4dcf19b53
commit ff8a38c246
26 changed files with 1093 additions and 19 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>duration</key>
<real>1</real>
</dict>
</array>
</plist>

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -640,7 +640,7 @@
new-music (get-music (get-in entities [:room :music]) (get-in entities [:state :time])) new-music (get-music (get-in entities [:room :music]) (get-in entities [:state :time]))
apply-state (get-in entities [:room :apply-state]) apply-state (get-in entities [:room :apply-state])
entities (if apply-state entities (if apply-state
(apply-state entities) (apply-state screen entities)
entities) entities)
entities (utils/update-override screen entities)] entities (utils/update-override screen entities)]
(when (and (not= new-music old-music) transition-music?) (when (and (not= new-music old-music) transition-music?)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
bryce@bryce-pc.hsd1.wa.comcast.net.5560

View File

@@ -88,7 +88,7 @@
:bird (utils/make-bird screen [[50 235] [80 220] [100 239] [180 235] [85 225]])} :bird (utils/make-bird screen [[50 235] [80 220] [100 239] [180 235] [85 225]])}
:collision "behindhouse/collision.png" :collision "behindhouse/collision.png"
:scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.00) :scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.00)
:apply-state (fn [entities] :apply-state (fn [_ entities]
(as-> entities entities (as-> entities entities
(if (get-in entities [:state :opened-crack?]) (if (get-in entities [:state :opened-crack?])
(assoc-in entities [:room :entities :peeling :opacity] 0) (assoc-in entities [:room :entities :peeling :opacity] 0)

View File

@@ -174,7 +174,7 @@
:collision "castle-gate/collision.png" :collision "castle-gate/collision.png"
:scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.30) :scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.30)
:apply-state (fn [entities] :apply-state (fn [_ entities]
(as-> entities entities (as-> entities entities
(if (= :night (get-in entities [:state :time])) (if (= :night (get-in entities [:state :time]))
(make-night entities) (make-night entities)

View File

@@ -329,7 +329,7 @@
nil))) nil)))
:collision "cat-tree/collision.png" :collision "cat-tree/collision.png"
:scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.20) :scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.20)
:apply-state (fn [entities] :apply-state (fn [_ entities]
(as-> entities entities (as-> entities entities
(if (actions/has-item? entities :kiss) (if (actions/has-item? entities :kiss)
(update-in entities [:room :entities] #(dissoc % :cat)) (update-in entities [:room :entities] #(dissoc % :cat))

View File

@@ -436,7 +436,7 @@
(actions/play-animation entities :ego :sigh))})} (actions/play-animation entities :ego :sigh))})}
:collision "dream/collision.png" :collision "dream/collision.png"
:scale-fn (utils/scaler-fn-from-image "dream/scale.png" 0.1 1.3) :scale-fn (utils/scaler-fn-from-image "dream/scale.png" 0.1 1.3)
:apply-state (fn [entities] :apply-state (fn [_ entities]
(as-> entities entities (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 1.0 1.0)

View File

@@ -0,0 +1,29 @@
(ns advent.screens.rooms.held
(:require [advent.screens.rooms :as rooms]
[advent.screens.rooms.common :as common]
[advent.actions :as actions]
[advent.screens.items :as items]
[advent.utils :as utils]
[advent.tween :as tween]
[clojure.zip :as zip]
[clojure.set :as set]
[clojure.string :as str]
[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]))
(defn make [screen]
(rooms/make :music :fight
:interactions {}
:layers [(assoc (texture "held/background.png") :x 0 :y 0 :baseline 0)]
:entities {}
:collision "held/collision.png"
:scale-fn (constantly 1.5)
:start-pos [113 120]
:apply-state (fn [screen e]
(-> e
(assoc-in [:cam :paused? ] true)
(update-in [:tweens] dissoc :cam-x :cam-y)
(update-in [:room :entities :ego] #(actions/start-animation screen % :suspended))))))

View File

@@ -220,7 +220,7 @@
(actions/talk entities :shopkeep "Since you ate the last one, you have to go tell Gandarf to bring me some more.")))))) (actions/talk entities :shopkeep "Since you ate the last one, you have to go tell Gandarf to bring me some more."))))))
:teddy teddy} :teddy teddy}
:collision "inside-antique/collision.png" :collision "inside-antique/collision.png"
:apply-state (fn [entities] :apply-state (fn [_ entities]
(as-> entities entities (as-> entities entities
(if (or (actions/has-item? entities :teddy) (if (or (actions/has-item? entities :teddy)
(actions/has-obtained? entities :balloon)) (actions/has-obtained? entities :balloon))

View File

@@ -211,7 +211,7 @@
:win hands-fight-win :win hands-fight-win
:lose hands-fight-lose) :lose hands-fight-lose)
:scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.3) :scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.3)
:apply-state (fn [entities] :apply-state (fn [_ entities]
(as-> entities entities (as-> entities entities
(if (actions/has-item? entities :ladder) (if (actions/has-item? entities :ladder)
(update-in entities [:room :entities] #(dissoc % :ladder)) (update-in entities [:room :entities] #(dissoc % :ladder))

View File

@@ -475,7 +475,7 @@
:chorus {:sound (sound "inside-castle/chorus.wav")} :chorus {:sound (sound "inside-castle/chorus.wav")}
:collision "inside-castle/collision.png" :collision "inside-castle/collision.png"
:scale-fn (utils/scaler-fn-from-image "inside-castle/scale.png" 0.25 1.00) :scale-fn (utils/scaler-fn-from-image "inside-castle/scale.png" 0.25 1.00)
:apply-state (fn [entities] :apply-state (fn [_ entities]
(as-> entities entities (as-> entities entities
(if (actions/has-obtained? entities :trophy) (if (actions/has-obtained? entities :trophy)
(update-in entities [:room :entities] #(dissoc % :trophy)) (update-in entities [:room :entities] #(dissoc % :trophy))

View File

@@ -203,7 +203,7 @@
:baseline 225)) :baseline 225))
:collision "inside-house/collision.png" :collision "inside-house/collision.png"
:scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.75) :scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.75)
:apply-state (fn [entities] :apply-state (fn [_ entities]
(particle-effect! (get-in entities [:room :entities :candle-smoke] ) :reset) (particle-effect! (get-in entities [:room :entities :candle-smoke] ) :reset)
(particle-effect! (get-in entities [:room :entities :candle-smoke] ) :start) (particle-effect! (get-in entities [:room :entities :candle-smoke] ) :start)

View File

@@ -319,7 +319,7 @@
:collision-free (advent.pathfind/map-from-resource "inside-jail/collision-free.png") :collision-free (advent.pathfind/map-from-resource "inside-jail/collision-free.png")
:scale-fn (utils/scaler-fn-with-baseline 0 0.50 1.5) :scale-fn (utils/scaler-fn-with-baseline 0 0.50 1.5)
:start-pos [130 85] :start-pos [130 85]
:apply-state (fn [entities] :apply-state (fn [_ entities]
(as-> entities entities (as-> entities entities
(if (actions/has-obtained? entities :ball-n-chain) (if (actions/has-obtained? entities :ball-n-chain)
(update-in entities [:room :entities] #(dissoc % :ball-n-chain)) (update-in entities [:room :entities] #(dissoc % :ball-n-chain))

View File

@@ -69,7 +69,7 @@
:collision "inside-stash/collision.png" :collision "inside-stash/collision.png"
:scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.00) :scale-fn (utils/scaler-fn-with-baseline 110 0.10 1.00)
:start-pos [143 96] :start-pos [143 96]
:apply-state (fn [entities] :apply-state (fn [_ entities]
(if (get-in entities [:state :broke-lock?]) (if (get-in entities [:state :broke-lock?])
(update-in entities [:room :entities] #(dissoc % :lid)) (update-in entities [:room :entities] #(dissoc % :lid))
entities)))) entities))))

View File

@@ -394,7 +394,7 @@
:collision "outside-castle/collision.png" :collision "outside-castle/collision.png"
:scale-fn (utils/scaler-fn-from-image "outside-castle/scale-map.png" 0.20 1.00) :scale-fn (utils/scaler-fn-from-image "outside-castle/scale-map.png" 0.20 1.00)
:start-pos [310 80] :start-pos [310 80]
:apply-state (fn [entities] :apply-state (fn [_ entities]
(if (#{:night :sunrise} (get-in entities [:state :time])) (if (#{:night :sunrise} (get-in entities [:state :time]))
(make-night entities) (make-night entities)
entities))))) entities)))))

View File

@@ -504,7 +504,7 @@
(common/read-note-1 entities)))) (common/read-note-1 entities))))
:collision "outsidehouse/collision.png" :collision "outsidehouse/collision.png"
:scale-fn scaler :scale-fn scaler
:apply-state (fn [entities] :apply-state (fn [_ entities]
(as-> entities entities (as-> entities entities
(if (get-in entities [:state :coaxed-sheep?]) (if (get-in entities [:state :coaxed-sheep?])
(let [scale ((get-in entities [:room :scale-fn]) [90 138])] (let [scale ((get-in entities [:room :scale-fn]) [90 138])]

View File

@@ -224,7 +224,7 @@
:collision "outside-jail/collision.png" :collision "outside-jail/collision.png"
:scale-fn (utils/scaler-fn-with-baseline 40 0.001 1.3) :scale-fn (utils/scaler-fn-with-baseline 40 0.001 1.3)
:start-pos [145 15] :start-pos [145 15]
:apply-state (fn [entities] :apply-state (fn [_ entities]
(as-> entities entities (as-> entities entities
(if (= :night (get-in entities [:state :time])) (if (= :night (get-in entities [:state :time]))
(make-night entities) (make-night entities)

View File

@@ -187,7 +187,7 @@
{} {}
:layers [(assoc (texture "space/background.png") :x 0 :y 0 :baseline 0)] :layers [(assoc (texture "space/background.png") :x 0 :y 0 :baseline 0)]
:timers {:taunt [10.0 8.0 taunt] :timers {:taunt [10.0 8.0 taunt]
:shock [5.0 1.0 shock]} :shock [5.0 15.0 shock]}
:entities {:appear (assoc effect :entities {:appear (assoc effect
:x 240 :y 50 :x 240 :y 50
:baseline 200) :baseline 200)
@@ -262,7 +262,9 @@
(Thread/sleep 5000) (Thread/sleep 5000)
(actions/do-dialogue entities (actions/do-dialogue entities
:bloodclot-head "Argh! My lightning gem!" :bloodclot-head "Argh! My lightning gem!"
:bloodclot-head "No matter. I will rip you apart with my bare hands!"))})} :bloodclot-head "No matter. I will rip you apart with my bare hands!")
(actions/pause-camera entities)
(actions/transition-background entities :held [125 170]))})}
:bullet (assoc (animation->texture screen bullet) :bullet (assoc (animation->texture screen bullet)
:x 37 :y 85 :baseline 241 :x 37 :y 85 :baseline 241
:walk bullet) :walk bullet)
@@ -271,7 +273,7 @@
:collision "space/collision.png" :collision "space/collision.png"
:scale-fn (constantly 1.5) :scale-fn (constantly 1.5)
:start-pos [35 45] :start-pos [35 45]
:apply-state (fn [e] :apply-state (fn [_ e]
(as-> e e (as-> e e
(if (get-in e [:state :broke-jewel?]) (if (get-in e [:state :broke-jewel?])
(assoc-in e [:room :entities :broken-jewel] (get-in e [:room :entities :broken-jewel])) (assoc-in e [:room :entities :broken-jewel] (get-in e [:room :entities :broken-jewel]))

View File

@@ -31,6 +31,7 @@
[advent.screens.rooms.behind-house :as rooms.behind-house] [advent.screens.rooms.behind-house :as rooms.behind-house]
[advent.screens.rooms.outside-castle :as rooms.outside-castle] [advent.screens.rooms.outside-castle :as rooms.outside-castle]
[advent.screens.rooms.space :as rooms.space] [advent.screens.rooms.space :as rooms.space]
[advent.screens.rooms.held :as rooms.held]
[advent.screens.rooms.cat-tree :as rooms.cat-tree] [advent.screens.rooms.cat-tree :as rooms.cat-tree]
[advent.screens.dialogue :refer [talking-screen]] [advent.screens.dialogue :refer [talking-screen]]
[advent.screens.inventory :refer [inventory-screen]] [advent.screens.inventory :refer [inventory-screen]]
@@ -362,6 +363,7 @@ void main()
love (utils/make-anim "ego/love.png" [50 70] 0.1 (flatten [0 0 1 1 2 2 3 3 4 4 5 5 6 6 (repeat 10 7) (repeat 5 8) (repeat 5 7) (repeat 5 8) (repeat 5 7) (repeat 10 [23 24 25 24]) (repeat 30 9) 10 11 12 13 14 15 16 17 18 19 20 21 21 21 22 22 22 21 21 21 21 21 21 21 21 22 22 22 22 22 21 21 21 21 22 22 22 22 22 22 21 21 21 21 21 6 6 5 5 4 4 3 3 2 2 1 1 0])) love (utils/make-anim "ego/love.png" [50 70] 0.1 (flatten [0 0 1 1 2 2 3 3 4 4 5 5 6 6 (repeat 10 7) (repeat 5 8) (repeat 5 7) (repeat 5 8) (repeat 5 7) (repeat 10 [23 24 25 24]) (repeat 30 9) 10 11 12 13 14 15 16 17 18 19 20 21 21 21 22 22 22 21 21 21 21 21 21 21 21 22 22 22 22 22 21 21 21 21 22 22 22 22 22 22 21 21 21 21 21 6 6 5 5 4 4 3 3 2 2 1 1 0]))
axe (utils/make-anim "ego/axe.png" [60 70] 0.10 (flatten [1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 (range 7)])) axe (utils/make-anim "ego/axe.png" [60 70] 0.10 (flatten [1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 (range 7)]))
axe-wood (utils/make-anim "ego/axe-wood.png" [60 70] 0.10 (flatten [1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 (range 11)])) axe-wood (utils/make-anim "ego/axe-wood.png" [60 70] 0.10 (flatten [1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 (range 11)]))
suspended (utils/make-anim "ego/suspended.png" [18 36] 0.10 [0])
ego {:right {:walk walk-right ego {:right {:walk walk-right
:stand stand-anim :stand stand-anim
@@ -406,6 +408,7 @@ void main()
:idea idea :idea idea
:axe axe :axe axe
:axe-wood axe-wood :axe-wood axe-wood
:suspended suspended
} }
:left {:walk (utils/flip walk-right) :left {:walk (utils/flip walk-right)
:stand (utils/flip stand-anim) :stand (utils/flip stand-anim)
@@ -440,7 +443,8 @@ void main()
:love (utils/flip love) :love (utils/flip love)
:idea (utils/flip idea) :idea (utils/flip idea)
:axe (utils/flip axe) :axe (utils/flip axe)
:axe-wood (utils/flip axe-wood)} :axe-wood (utils/flip axe-wood)
:suspended (utils/flip suspended)}
:baseline (- 240 (last start-pos)) :baseline (- 240 (last start-pos))
:facing :right :facing :right
:night-profile :sprite :night-profile :sprite
@@ -531,6 +535,8 @@ void main()
(get-in ego [:right :axe]) {:origin-x 17} (get-in ego [:right :axe]) {:origin-x 17}
(get-in ego [:right :axe-wood]) {:origin-x 17} (get-in ego [:right :axe-wood]) {:origin-x 17}
(get-in ego [:left :love]) {:origin-x 36} (get-in ego [:left :love]) {:origin-x 36}
(get-in ego [:left :suspended]) {:origin-x 0 :origin-y 0}
(get-in ego [:right :suspended]) {:origin-x 0 :origin-y 0}
:default {:origin-x 9}})] :default {:origin-x 9}})]
(actions/start-animation screen (actions/start-animation screen
(merge (animation->texture screen (:stand (:right ego))) ego) (merge (animation->texture screen (:stand (:right ego))) ego)
@@ -734,6 +740,7 @@ void main()
:cat-tree (rooms.cat-tree/make screen) :cat-tree (rooms.cat-tree/make screen)
:inside-castle (rooms.inside-castle/make screen) :inside-castle (rooms.inside-castle/make screen)
:space (rooms.space/make screen) :space (rooms.space/make screen)
:held (rooms.held/make screen)
:inside-cafeteria (rooms.inside-cafeteria/make screen) :inside-cafeteria (rooms.inside-cafeteria/make screen)
:inside-antique (rooms.inside-antique/make screen) :inside-antique (rooms.inside-antique/make screen)
:inside-jail (rooms.inside-jail/make screen) :inside-jail (rooms.inside-jail/make screen)
@@ -799,7 +806,7 @@ void main()
(if-let [apply-state (get-in entities [:room :apply-state])] (if-let [apply-state (get-in entities [:room :apply-state])]
(apply-state entities) (apply-state screen entities)
entities))))) entities)))))
:on-resume (fn [screen [entities]] :on-resume (fn [screen [entities]]