a lot of progress on the screenshot approach.

This commit is contained in:
Bryce Covert
2017-03-23 21:02:50 -07:00
parent 365cb205d6
commit dc58787bf6
9 changed files with 2360 additions and 2171 deletions

View File

@@ -9,3 +9,5 @@ Reenable mobile screenshots - Static images for mobile screenshots?
Lying down at start of jail Lying down at start of jail
Two finger panning? Two finger panning?
Pinching end is wrong, sometimes clicks Pinching end is wrong, sometimes clicks
Improve padding on text so it's more clickable

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 677 KiB

After

Width:  |  Height:  |  Size: 801 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 578 KiB

After

Width:  |  Height:  |  Size: 588 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 413 KiB

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

@@ -15,4 +15,29 @@
:chapter-4 "Tick the Ex-con" :chapter-4 "Tick the Ex-con"
:chapter-5 "Slingshot Stew"}) :chapter-5 "Slingshot Stew"})
(defn default-screenshot [state]
(let [answers {:inside-house "screenshots/inside-house.png"
:inside-stash "screenshots/inside-stash.png"
:outside-house {:day "screenshots/outside-house-day.png"
:night "screenshots/outside-house-night.png"}
:behind-house {:day "screenshots/behind-house-day.png"
:night "screenshots/behind-house-night.png"}
:cat-tree {:day "screenshots/cat-tree-day.png"
:night "screenshots/cat-tree-night.png"}
:inside-castle {:day "screenshots/inside-castle-day.png"
:night "screenshots/inside-castle-night.png"}
:space "screenshots/duel.png"
:held "screenshots/held.png"
:inside-cafeteria "screenshots/cafeteria.png"
:inside-antique "screenshots/inside-antique.png"
:inside-jail "screenshots/inside-jail.png"
:dream "screenshots/dream.png"
:castle-gate "screenshots/castle-gate.png"
:outside-jail {:day "screenshots/fountain-day.png"
:night "screenshots/fountain-night.png"}
:outside-castle {:day "screenshots/outside-castle-day.png"
:night "screenshots/outside-castle-night.png"}}]
(get-in answers [(:last-room state) (:time state)]
(get-in answers [(:last-room state)]))))

View File

@@ -1894,14 +1894,14 @@
(grow-hud screen entities :save false))) (grow-hud screen entities :save false)))
entities (or (process-fsm screen entities) entities)] entities (or (process-fsm screen entities) entities)]
(label! (:fps entities) :set-text (str (game :fps))) #_(label! (:fps entities) :set-text (str (game :fps)))
(render! screen [ (if (and hud-interactable? (not (:already-saved? entities))) (render! screen [ (if (and hud-interactable? (not (:already-saved? entities)))
(:save entities) (:save entities)
(assoc (:save entities) :opacity 0.5)) (assoc (:save entities) :opacity 0.5))
(:fps entities) #_(:fps entities)
(if hud-interactable? (if hud-interactable?
(:inventory entities) (:inventory entities)
(assoc (:inventory entities) :opacity 0.5)) (assoc (:inventory entities) :opacity 0.5))

View File

@@ -40,6 +40,7 @@
(def button-color (Color/valueOf "9b399eff")) (def button-color (Color/valueOf "9b399eff"))
(def label-color (color 0.81 0.5 0.0 1.0)) (def label-color (color 0.81 0.5 0.0 1.0))
(def disabled-label-color (color 0.3 0.3 0.3 1.0))
(defn style-label [e font mouse-pos] (defn style-label [e font mouse-pos]
(when (:interactable e) (when (:interactable e)
@@ -172,6 +173,8 @@
([msg] ([msg]
(make-label msg nil)) (make-label msg nil))
([msg col] ([msg col]
(make-label msg col utils/title-label-scale))
([msg col scale]
(let [font (utils/get-font "ego/font.fnt") (let [font (utils/get-font "ego/font.fnt")
p (NinePatchEntity. (skin! (skin "ui/ui.json") :get-patch "ui-bg")) p (NinePatchEntity. (skin! (skin "ui/ui.json") :get-patch "ui-bg"))
@@ -179,7 +182,7 @@
bg (drawable :nine-patch ^NinePatch (:object p)) bg (drawable :nine-patch ^NinePatch (:object p))
style (style :label font (or col (color 1.0 0.3 0.3 1.0))) style (style :label font (or col (color 1.0 0.3 0.3 1.0)))
#_#__ (set! (.background style) bg)] #_#__ (set! (.background style) bg)]
(-> style .font .getData (.setScale utils/title-label-scale)) (-> style .font .getData (.setScale scale))
(-> msg (-> msg
(label style) (label style)
(assoc :x 0 :y 0 :height 40 :origin-x 0 :origin-y 0 :z 8) (assoc :x 0 :y 0 :height 40 :origin-x 0 :origin-y 0 :z 8)
@@ -202,8 +205,10 @@
(defn make-max-progress-bar [min max initial-value artificial-max & rest] (defn make-max-progress-bar [min max initial-value artificial-max & rest]
(let [ui-skin (skin "ui/ui.json") (let [ui-skin (skin "ui/ui.json")
_ (println initial-value)
slider (-> slider (->
(max-progress-bar min max 1 false (skin! ui-skin :get "default-horizontal" Slider$SliderStyle) artificial-max) (max-progress-bar min max 1.0 false (skin! ui-skin :get "default-horizontal" Slider$SliderStyle) artificial-max)
(doto (#(slider! % :set-value initial-value)))
(assoc (assoc
:hover (skin! ui-skin :get "default-horizontal-hover" Slider$SliderStyle) :hover (skin! ui-skin :get "default-horizontal-hover" Slider$SliderStyle)
:default (skin! ui-skin :get "default-horizontal" Slider$SliderStyle) :default (skin! ui-skin :get "default-horizontal" Slider$SliderStyle)
@@ -246,22 +251,29 @@
[(make-button "End Quest" :key :end-quest) :height (* utils/ui-scale 56) :width (* utils/ui-scale 250)]]))))) [(make-button "End Quest" :key :end-quest) :height (* utils/ui-scale 56) :width (* utils/ui-scale 250)]])))))
(defn chapters-menu [] (defn chapters-menu []
(make-table [[(doto (let [_ (println (utils/get-chapters) )
(make-label "Our tale's beginning" label-color) chapter-count (->> (utils/get-chapters)
(label! :set-name "explanation")) :width (* utils/ui-scale 250) :height 40 :colspan 5] (vals)
:row (filter identity)
[(make-max-progress-bar 0.0 4.0 0.0 3.0 :key :current-chapter) :width (* utils/ui-scale 260) :height (* utils/ui-scale 50) :colspan 5] count
:row dec
[(make-label "1" label-color) :height (* utils/ui-scale 32) :width 30 :pad-bottom (* utils/ui-scale 8)] (max 0))
[(make-label "2" label-color) :height (* utils/ui-scale 32) :width 30 :pad-bottom (* utils/ui-scale 8)] selected-title (-> (utils/get-chapters) keys (nth chapter-count) saves/chapter-name )]
[(make-label "3" label-color) :height (* utils/ui-scale 32) :width 30 :pad-bottom (* utils/ui-scale 8)] (make-table (concat [[(doto
[(make-label "4" label-color) :height (* utils/ui-scale 32) :width 30 :pad-bottom (* utils/ui-scale 8)] (make-label selected-title label-color)
[(make-label "5" label-color) :height (* utils/ui-scale 32) :width 30 :pad-bottom (* utils/ui-scale 8)] (label! :set-name "explanation")) :width (* utils/ui-scale 250) :height 40 :colspan 5]
:row
:row [(doto (make-max-progress-bar 0.0 4.0 chapter-count chapter-count :key :current-chapter)
[ (make-button "Back" :key :back) :height (* utils/button-scale 56) :width (* utils/button-scale 100) :colspan 2] (slider! :set-name "slider")) :width (* utils/ui-scale 260) :height (* utils/ui-scale 50) :colspan 5]
[ (make-label "") :height (* utils/button-scale 56) ] :row]
[ (make-button "Start" :key :back) :height (* utils/button-scale 56) :width (* utils/button-scale 100) :colspan 2]])) (map (fn [index [chapter v]]
[(make-label (str (inc index)) (if v label-color disabled-label-color)) :height (* utils/ui-scale 32) :width 30 :pad-bottom (* utils/ui-scale 8)])
(range)
(utils/get-chapters))
[:row
[ (make-button "Back" :key :back) :height (* utils/button-scale 56) :width (* utils/button-scale 100) :colspan 2]
[ (make-label "") :height (* utils/button-scale 56) ]
[ (make-button "Start" :key :start) :height (* utils/button-scale 56) :width (* utils/button-scale 100) :colspan 2]]))))
(defn settings-menu [] (defn settings-menu []
(let [fullscreen-button (make-checkbox "Fullscreen" (utils/is-fullscreen?) :key :toggle-fullscreen) (let [fullscreen-button (make-checkbox "Fullscreen" (utils/is-fullscreen?) :key :toggle-fullscreen)
@@ -303,7 +315,8 @@
(image-button! :add (doto (Group. ) (image-button! :add (doto (Group. )
(.setSize (- cell-w 16) (- cell-h 16) ) (.setSize (- cell-w 16) (- cell-h 16) )
(.setOrigin (/ (- cell-w 16) 2) (/ (- cell-h 16) 2)) (.setOrigin (/ (- cell-w 16) 2) (/ (- cell-h 16) 2))
(.addActor (:object (doto (image (texture screenshot)) (.addActor (:object (doto (image
screenshot)
(image! :set-size (- cell-w 16) (- cell-h 16))))) (image! :set-size (- cell-w 16) (- cell-h 16)))))
(.addActor (:object (make-label (str "" (or blurb name)) label-color ))) (.addActor (:object (make-label (str "" (or blurb name)) label-color )))
@@ -417,7 +430,7 @@
:font font :font font
:music music :music music
:volume 1.0 :volume 1.0
:copyright (->> (make-label (str "© Digital Bounce House 2016 - v" (advent.version/version)) label-color) :copyright (->> (make-label (str "© Digital Bounce House 2016 - v" (advent.version/version)) label-color 0.25)
(utils/add-actor-to-stage screen)) (utils/add-actor-to-stage screen))
:tweens {:fade-in (tween/tween :fade-in screen [:fade :opacity] 1.0 0.0 1.0 :tweens {:fade-in (tween/tween :fade-in screen [:fade :opacity] 1.0 0.0 1.0
:finish #(do :finish #(do
@@ -469,10 +482,8 @@
(= :current-chapter actor-key) (= :current-chapter actor-key)
(do (do
(println (label! (table! (actor! e :get-parent) :find-actor "explanation")
(label! (table! (actor! e :get-parent) :find-actor "explanation") :set-text (saves/chapter-name (nth [:chapter-1 :chapter-2 :chapter-3 :chapter-4 :chapter-5] (int (slider! e :get-value)))))
:set-text (saves/chapter-name (nth [:chapter-1 :chapter-2 :chapter-3 :chapter-4 :chapter-5] (int (slider! e :get-value)))))
)
entities) entities)
@@ -578,8 +589,12 @@
(text-button! (-> entities :save-menu :continue-button) :set-disabled true) (text-button! (-> entities :save-menu :continue-button) :set-disabled true)
(text-button! (-> entities :save-menu :delete-button) :set-disabled true)))) (text-button! (-> entities :save-menu :delete-button) :set-disabled true))))
(:chapter e) (= :start actor-key)
(start-playing screen entities (:chapter e)) (do
(println "SELECTED chapter" (nth [:chapter-1 :chapter-2 :chapter-3 :chapter-4 :chapter-5]
(int (slider! (table! (actor! e :get-parent) :find-actor "slider") :get-value))))
(start-playing screen entities ((utils/get-chapters) (nth [:chapter-1 :chapter-2 :chapter-3 :chapter-4 :chapter-5]
(int (slider! (table! (actor! e :get-parent) :find-actor "slider") :get-value))))))
:else :else
entities)))) entities))))

View File

@@ -175,9 +175,9 @@
(doall (for [snapshot (snapshot-list)] (doall (for [snapshot (snapshot-list)]
(assoc-in snapshot [:screenshot] (assoc-in snapshot [:screenshot]
(try (let [bytes (steam/get-bytes (:screenshot snapshot))] (try (let [bytes (steam/get-bytes (:screenshot snapshot))]
(Pixmap. ^bytes bytes 0 (count bytes))) (texture (Pixmap. ^bytes bytes 0 (count bytes))))
(catch Exception e (catch Exception e
(Pixmap. 160 120 Pixmap$Format/RGB888))))))) (get-texture (saves/default-screenshot (:state snapshot)))))))))
(defn save-chapter [entities chapter] (defn save-chapter [entities chapter]
(let [prefs (.getPreferences (Gdx/app) "ticks-tales-saves") (let [prefs (.getPreferences (Gdx/app) "ticks-tales-saves")
@@ -253,7 +253,7 @@
(log/info "writing save file...") (log/info "writing save file...")
(steam/write-bytes (steam/save-file-name id) (.getBytes (pr-str save) "UTF-8")) (steam/write-bytes (steam/save-file-name id) (.getBytes (pr-str save) "UTF-8"))
#_(on-gl (let [gl-func (fn [] (on-gl (let [gl-func (fn []
(log/info "Screenshot captured. Publishing for persistence") (log/info "Screenshot captured. Publishing for persistence")
(put! screenshot-chan [id (publish-screenshot-fn)]))] (put! screenshot-chan [id (publish-screenshot-fn)]))]
(try-times gl-func 3)) )))] (try-times gl-func 3)) )))]