a lot of stuff to get rid of reflection.
This commit is contained in:
@@ -136,7 +136,7 @@
|
||||
current-zoom (get-in entities [:cam :zoom] 1.0)
|
||||
|
||||
;; don't zoom if it's a subtle difference
|
||||
target-zoom (if (< (Math/abs (- target-zoom current-zoom))
|
||||
target-zoom (if (< (Math/abs (double (- target-zoom current-zoom)))
|
||||
0.07)
|
||||
current-zoom
|
||||
target-zoom)
|
||||
@@ -402,11 +402,11 @@
|
||||
target-y (get-in entities [:room :entities target-id :y])
|
||||
target-x (get-in entities [:room :entities target-id :x])
|
||||
width (or (get-in entities [:room :entities target-id :width])
|
||||
(.getRegionWidth (get-in entities [:room :entities target-id :object])))
|
||||
(texture! (get-in entities [:room :entities target-id]) :get-region-width))
|
||||
origin-x (get-in entities [:room :entities target-id :origin-x])
|
||||
target-x (if (nil? origin-x) (+ target-x (/ width 2)) target-x )
|
||||
height (or (get-in entities [:room :entities target-id :height])
|
||||
(.getRegionHeight (get-in entities [:room :entities target-id :object])))
|
||||
(texture! (get-in entities [:room :entities target-id]) :get-region-height))
|
||||
scaled (get-in entities [:room :entities target-id :scaled])
|
||||
scale-fn (get-in entities [:room :scale-fn])
|
||||
scale (get-in entities [:room :entities target-id :scale-y] 1)
|
||||
|
||||
@@ -77,9 +77,10 @@
|
||||
ty (long ty)]
|
||||
(if (= 0 (nth (nth my-map tx) ty))
|
||||
nil
|
||||
(let [cost-so-far ^java.util.HashMap (java.util.HashMap. {play-loc 0})
|
||||
came-from ^java.util.HashMap (java.util.HashMap.)
|
||||
fronteir ^java.util.PriorityQueue (java.util.PriorityQueue. (/ (* 320 240) scale) cost-comparator)]
|
||||
(let [^java.util.HashMap cost-so-far (java.util.HashMap.)
|
||||
_ (.put cost-so-far play-loc 0)
|
||||
^java.util.HashMap came-from (java.util.HashMap.)
|
||||
^java.util.PriorityQueue fronteir (java.util.PriorityQueue. (/ (* 320 240) scale) cost-comparator)]
|
||||
(.offer fronteir [0 play-loc])
|
||||
(loop [current-loc (.poll fronteir)]
|
||||
(if (or (nil? current-loc)
|
||||
|
||||
@@ -203,6 +203,6 @@
|
||||
:on-touch-up (fn [screen [entities]]
|
||||
(set-screen! @(resolve 'advent.core/advent) @(resolve 'advent.screens.title/title-screen)))
|
||||
|
||||
:on-resize (fn [{:keys [width height viewport]} entities]
|
||||
:on-resize (fn [{:keys [width height ^FitViewport viewport]} entities]
|
||||
(.update viewport width height)))
|
||||
|
||||
|
||||
@@ -57,14 +57,11 @@
|
||||
p (NinePatchEntity. (skin! (skin "ui/ui.json") :get-patch "ui-bg"))
|
||||
_ (nine-patch! p :set-padding 25 25 5 15)
|
||||
|
||||
bg (drawable :nine-patch (:object p))
|
||||
tr (bitmap-font! font :get-region)
|
||||
scale (/ scale 2)
|
||||
scale (or (min (max scale 0.2) 0.25) 0.25)
|
||||
tx (.getTexture tr)
|
||||
_ (texture! tx :set-filter Texture$TextureFilter/Linear Texture$TextureFilter/Linear)
|
||||
_ (.setFilter (.getTexture tr) Texture$TextureFilter/Linear Texture$TextureFilter/Linear)
|
||||
style (style :label font color)
|
||||
#_#__ (set! (.background style) bg)
|
||||
[source-x source-y] [x y]
|
||||
|
||||
[x y] (scene-world->talk-world scene-viewport [source-x
|
||||
@@ -100,7 +97,7 @@
|
||||
(dissoc entities (or id :fg-actions)))
|
||||
|
||||
|
||||
:on-resize (fn [{:keys [viewport width height]} entities]
|
||||
:on-resize (fn [{:keys [^FitViewport viewport width height]} entities]
|
||||
(.update viewport width height)))
|
||||
|
||||
(def choice-height 40)
|
||||
@@ -125,10 +122,9 @@
|
||||
(let [font (bitmap-font "ego/font.fnt" )
|
||||
tr (bitmap-font! font :get-region)
|
||||
scale 1
|
||||
tx (.getTexture tr)
|
||||
p (NinePatchEntity. (skin! (skin "ui/ui.json") :get-patch "ui-bg"))
|
||||
_ (nine-patch! p :set-padding 25 25 5 15)
|
||||
_ (texture! tx :set-filter Texture$TextureFilter/Linear Texture$TextureFilter/Linear)]
|
||||
_ (.setFilter (.getTexture tr) Texture$TextureFilter/Linear Texture$TextureFilter/Linear)]
|
||||
{:state {:object nil
|
||||
:callback nil
|
||||
:choices []
|
||||
@@ -182,7 +178,7 @@
|
||||
(style-label e (get-in entities [:state :font]) [x y]))
|
||||
entities))
|
||||
|
||||
:on-resize (fn [{:keys [width height viewport]} entities]
|
||||
:on-resize (fn [{:keys [width height ^FitViewport viewport]} entities]
|
||||
(.update viewport width height)))
|
||||
|
||||
(defscreen toast-screen
|
||||
@@ -206,11 +202,9 @@
|
||||
p (nine-patch {:region (:object (utils/get-texture "talk-bg-2.png")) :left 9 :top 9 :right 9 :bottom 9})
|
||||
_ (nine-patch! p :set-padding 25 25 5 15)
|
||||
|
||||
bg (drawable :nine-patch (:object p))
|
||||
tr (bitmap-font! font :get-region)
|
||||
|
||||
tx (.getTexture tr)
|
||||
_ (texture! tx :set-filter Texture$TextureFilter/Linear Texture$TextureFilter/Linear)
|
||||
_ (.setFilter (.getTexture tr) Texture$TextureFilter/Linear Texture$TextureFilter/Linear)
|
||||
style (style :label font (color :red))
|
||||
|
||||
[x y] [(/ 1280 2) (/ 960 2)]
|
||||
@@ -230,5 +224,5 @@
|
||||
(dissoc entities :dialogue))
|
||||
|
||||
|
||||
:on-resize (fn [{:keys [viewport width height]} entities]
|
||||
:on-resize (fn [{:keys [^FitViewport viewport width height]} entities]
|
||||
(.update viewport width height)))
|
||||
|
||||
@@ -11,7 +11,8 @@
|
||||
[com.badlogic.gdx.graphics.g2d TextureRegion]
|
||||
[com.badlogic.gdx.utils Align]
|
||||
[com.badlogic.gdx Application Audio Files Game Gdx Graphics Input
|
||||
InputMultiplexer InputProcessor Net Preferences Screen]))
|
||||
InputMultiplexer InputProcessor Net Preferences Screen]
|
||||
[com.badlogic.gdx.utils.viewport FitViewport]))
|
||||
|
||||
|
||||
(defscreen fade-screen
|
||||
@@ -37,6 +38,6 @@
|
||||
:update-fade (fn [{:keys [opacity]} [entities]]
|
||||
(assoc-in entities [:fade :opacity] opacity))
|
||||
|
||||
:on-resize (fn [{:keys [width height viewport]} entities]
|
||||
(.update viewport width height)))
|
||||
:on-resize (fn [{:keys [width height ^FitViewport viewport]} entities]
|
||||
(.update ^FitViewport viewport width height)))
|
||||
|
||||
|
||||
@@ -194,5 +194,5 @@
|
||||
(left-click screen entities)
|
||||
(right-click screen entities))))
|
||||
|
||||
:on-resize (fn [screen entities]
|
||||
(.update (:viewport screen) (:width screen) (:height screen) true)))
|
||||
:on-resize (fn [{:keys [width height ^FitViewport viewport] :as screen} entities]
|
||||
(.update viewport width height true)))
|
||||
|
||||
@@ -550,10 +550,10 @@
|
||||
(/ (:delta-time screen)
|
||||
(/ 1.0 60.0)))
|
||||
speed (if (< delta-x 0) (- speed) speed)
|
||||
moved-x (if (< (Math/abs delta-x) speed)
|
||||
moved-x (if (< (Math/abs (int delta-x)) speed)
|
||||
target-x
|
||||
(* speed (/ delta-x delta-x) ))]
|
||||
(if (< (Math/abs delta-x) speed)
|
||||
(if (< (Math/abs (int delta-x)) speed)
|
||||
(actions/start-animation screen
|
||||
(dissoc e :target-x)
|
||||
:stand)
|
||||
@@ -820,7 +820,7 @@
|
||||
(let [speed 0.009
|
||||
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)]
|
||||
a (catmull-rom-spline! ^CatmullRomSpline (:path entity) :value-at v pos-f)]
|
||||
(assoc entity :x (vector-2! v :x) :y (vector-2! v :y)))))}
|
||||
:cauldron (rooms/make-entity :cauldron (assoc (animation->texture screen cauldron)
|
||||
:x 139 :y 73 :baseline 167
|
||||
|
||||
@@ -107,6 +107,6 @@
|
||||
(sound! (utils/load-sound "inside-house/close-safe.ogg") :play (utils/current-sound-volume 0.3))
|
||||
(close entities)))))))
|
||||
|
||||
:on-resize (fn [{:keys [width height viewport]} entities]
|
||||
:on-resize (fn [{:keys [width height ^FitViewport viewport]} entities]
|
||||
(.update viewport width height)))
|
||||
|
||||
|
||||
@@ -1398,7 +1398,7 @@ void main ()
|
||||
(tween/tween :fade-out screen [:fade :opacity] 0.0 1.0 1.0
|
||||
:finish #(do
|
||||
(utils/stop-all-sounds! %)
|
||||
(.clear @(resolve 'advent.core/am))
|
||||
(asset-manager! @(resolve 'advent.core/am) :clear)
|
||||
(set-screen! @(resolve 'advent.core/advent) @(resolve 'advent.screens.title/title-screen))
|
||||
%))))))
|
||||
|
||||
|
||||
@@ -151,6 +151,6 @@
|
||||
(utils/toggle-fullscreen!))
|
||||
nil)
|
||||
|
||||
:on-resize (fn [{:keys [viewport width height]} [entities]]
|
||||
:on-resize (fn [{:keys [^FitViewport viewport width height]} [entities]]
|
||||
(.update viewport width height false)
|
||||
nil))
|
||||
|
||||
@@ -20,11 +20,11 @@
|
||||
[advent.version]
|
||||
)
|
||||
(:import [com.badlogic.gdx.graphics Pixmap Pixmap$Filter Texture Texture$TextureFilter Color]
|
||||
[com.badlogic.gdx.graphics.g2d TextureRegion]
|
||||
[com.badlogic.gdx.graphics.g2d TextureRegion NinePatch]
|
||||
[play_clj.entities NinePatchEntity]
|
||||
[com.badlogic.gdx.utils.viewport FitViewport]
|
||||
[com.badlogic.gdx.scenes.scene2d.ui Slider$SliderStyle Widget ButtonGroup TextButton$TextButtonStyle CheckBox$CheckBoxStyle CheckBox Button]
|
||||
[com.badlogic.gdx.scenes.scene2d Group Actor]
|
||||
[com.badlogic.gdx.scenes.scene2d.ui Slider$SliderStyle Widget ButtonGroup TextButton$TextButtonStyle CheckBox$CheckBoxStyle CheckBox Button ImageButton ScrollPane]
|
||||
[com.badlogic.gdx.scenes.scene2d Group Actor Stage]
|
||||
[play_clj.entities ActorEntity]
|
||||
[com.badlogic.gdx.utils Align]
|
||||
[com.badlogic.gdx.scenes.scene2d.utils NinePatchDrawable TextureRegionDrawable BaseDrawable]
|
||||
@@ -54,12 +54,12 @@
|
||||
|
||||
(defn style-slider [s mouse-pos]
|
||||
(if (utils/intersects? s mouse-pos)
|
||||
(slider! s :set-style (:hover s))
|
||||
(slider! s :set-style (:default s)))
|
||||
(slider! s :set-style ^Slider$SliderStyle (:hover s))
|
||||
(slider! s :set-style ^Slider$SliderStyle (:default s)))
|
||||
s)
|
||||
|
||||
(defn center [e]
|
||||
(assoc e :x (- (/ 1280 2) (/ (or (:width e) (.getWidth (:object e))) 2))))
|
||||
(assoc e :x (- (/ 1280 2) (/ (or (:width e) (.getWidth ^Actor (:object e))) 2))))
|
||||
|
||||
|
||||
(defn get-dir [old-x new-x]
|
||||
@@ -132,7 +132,7 @@
|
||||
(tween/tween :fade-out-music screen [:volume] 1.0 0.0 1.0)))))
|
||||
|
||||
(defn button-style []
|
||||
(let [style (skin! (skin "ui/ui.json") :get TextButton$TextButtonStyle)
|
||||
(let [^TextButton$TextButtonStyle style (skin! (skin "ui/ui.json") :get TextButton$TextButtonStyle)
|
||||
tx (-> style .font .getRegion .getTexture)]
|
||||
|
||||
(call! ^Texture tx :set-filter Texture$TextureFilter/Linear Texture$TextureFilter/Linear)
|
||||
@@ -160,10 +160,6 @@
|
||||
(defn make-checkbox
|
||||
([msg checked & rest]
|
||||
(let [s (skin! (skin "ui/ui.json") :get CheckBox$CheckBoxStyle)]
|
||||
(-> s
|
||||
.font
|
||||
)
|
||||
|
||||
(doto (merge (check-box msg s)
|
||||
(apply hash-map rest))
|
||||
(set-checkbox-state checked)
|
||||
@@ -177,7 +173,7 @@
|
||||
|
||||
p (NinePatchEntity. (skin! (skin "ui/ui.json") :get-patch "ui-bg"))
|
||||
_ (nine-patch! p :set-padding 0 0 0 0)
|
||||
bg (drawable :nine-patch (:object p))
|
||||
bg (drawable :nine-patch ^NinePatch (:object p))
|
||||
style (style :label font (or col (color 1.0 0.3 0.3 1.0)))
|
||||
#_#__ (set! (.background style) bg)]
|
||||
(-> msg
|
||||
@@ -277,7 +273,7 @@
|
||||
(every-pred :save #(utils/intersects? % [x y]))
|
||||
(vals entities))))
|
||||
|
||||
(defn saves-table [entities stage]
|
||||
(defn saves-table [entities ^Stage stage]
|
||||
(let [group (doto (ButtonGroup.)
|
||||
(.setMaxCheckCount 1)
|
||||
(.setMinCheckCount 0)
|
||||
@@ -299,7 +295,7 @@
|
||||
))
|
||||
|
||||
save-object)]
|
||||
(.add group (:object btn))
|
||||
(.add group ^ImageButton (:object btn))
|
||||
(ActorEntity. (:object btn))))
|
||||
save-screenshots (map make-save-screenshot (:saves-list entities))
|
||||
grouped-screenshots (->> (partition-all 2 save-screenshots)
|
||||
@@ -308,7 +304,7 @@
|
||||
scroll-pane (doto (scroll-pane (table grouped-screenshots)
|
||||
(skin "ui/ui.json"))
|
||||
(scroll-pane! :set-fade-scroll-bars false))]
|
||||
(.setScrollFocus stage (:object scroll-pane))
|
||||
(.setScrollFocus stage ^ScrollPane (:object scroll-pane))
|
||||
[scroll-pane
|
||||
:colspan 3 :height 190 :pad-bottom 4 :width 472]))
|
||||
|
||||
@@ -444,7 +440,7 @@
|
||||
|
||||
|
||||
:on-ui-changed
|
||||
(fn [{:keys [actor] :as screen} [entities]]
|
||||
(fn [{:keys [^Actor actor] :as screen} [entities]]
|
||||
(when-not (get-in entities [:tweens :fade-out])
|
||||
(let [e (-> actor .getUserObject)
|
||||
actor-key (:key e)]
|
||||
@@ -554,6 +550,6 @@
|
||||
:else
|
||||
entities))))
|
||||
|
||||
:on-resize (fn [{:keys [viewport width height]} [entities]]
|
||||
:on-resize (fn [{:keys [^FitViewport viewport width height]} [entities]]
|
||||
(.update viewport width height false)
|
||||
nil))
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
)
|
||||
(:import [java.nio ByteBuffer CharBuffer]
|
||||
[java.io ByteArrayOutputStream]
|
||||
[com.badlogic.gdx.graphics PixmapIO$PNG]
|
||||
[com.badlogic.gdx.graphics Pixmap PixmapIO$PNG]
|
||||
[com.badlogic.gdx.files FileHandle]
|
||||
))
|
||||
|
||||
(def has-steam?
|
||||
@@ -37,31 +38,39 @@
|
||||
(when (SteamAPI/isSteamRunning)
|
||||
(SteamAPI/runCallbacks))))
|
||||
|
||||
(defn achievement-fn [f achievement]
|
||||
(steamify
|
||||
(let [stats (atom nil)]
|
||||
(log/info "Getting stats...")
|
||||
(reset! stats (SteamUserStats. (reify SteamUserStatsCallback
|
||||
(onUserStatsReceived [_ _ _ _]
|
||||
(f @stats achievement)
|
||||
)
|
||||
(onUserStatsStored [_ _ _])
|
||||
(onUserAchievementStored [_ _ _ _ _ _]))))
|
||||
(.requestCurrentStats @stats))))
|
||||
(if has-steam?
|
||||
(eval
|
||||
'(do
|
||||
(defn achievement-fn [f achievement]
|
||||
(steamify
|
||||
(let [stats (atom nil)]
|
||||
(log/info "Getting stats...")
|
||||
(reset! stats (SteamUserStats. (reify SteamUserStatsCallback
|
||||
(onUserStatsReceived [_ _ _ _]
|
||||
(f @stats achievement)
|
||||
)
|
||||
(onUserStatsStored [_ _ _])
|
||||
(onUserAchievementStored [_ _ _ _ _ _]))))
|
||||
(.requestCurrentStats @stats))))
|
||||
|
||||
(def set-achievement (partial achievement-fn
|
||||
(fn [stats achievement]
|
||||
(log/info "Setting achievement" achievement)
|
||||
(.setAchievement stats achievement)
|
||||
(.storeStats stats)
|
||||
(log/info "Done setting achievement" achievement))))
|
||||
(def set-achievement (partial achievement-fn
|
||||
(fn [^SteamUserStats stats ^String achievement]
|
||||
(log/info "Setting achievement" achievement)
|
||||
(.setAchievement stats achievement)
|
||||
(.storeStats stats)
|
||||
(log/info "Done setting achievement" achievement))))
|
||||
|
||||
(def clear-achievement (partial achievement-fn
|
||||
(fn [stats achievement]
|
||||
(log/info "Clearing achievement" achievement)
|
||||
(.clearAchievement stats achievement)
|
||||
(.storeStats stats)
|
||||
(log/info "Done clearing achievement" achievement))))
|
||||
(def clear-achievement (partial achievement-fn
|
||||
(fn [^SteamUserStats stats ^String achievement]
|
||||
(log/info "Clearing achievement" achievement)
|
||||
(.clearAchievement stats achievement)
|
||||
(.storeStats stats)
|
||||
(log/info "Done clearing achievement" achievement)))))
|
||||
|
||||
)
|
||||
(do
|
||||
(defn set-achievement [achievement])
|
||||
(defn clear-achievement [achievement])))
|
||||
|
||||
(def all-achievements ["PARDON" "EX_CON" "PRO_WRESTLER" "SHEEP_HORDER" "SAFE_AND_SOUND" "DESTINY" "WISE_UP" "BLOODCLOT" "KITTY_KISS"])
|
||||
|
||||
@@ -101,11 +110,11 @@
|
||||
n))
|
||||
(if is-app-store?
|
||||
(for [save-file (.list (files! :external "saves/") ".edn")]
|
||||
(str "saves/" (.name save-file)))
|
||||
(str "saves/" (.name ^FileHandle save-file)))
|
||||
(for [save-file (.list (files! :local "saves/") ".edn")]
|
||||
(str "saves/" (.name save-file))))))
|
||||
(str "saves/" (.name ^FileHandle save-file))))))
|
||||
|
||||
(defn save-screenshot [pm filename]
|
||||
(defn save-screenshot [^Pixmap pm ^String filename]
|
||||
(steamify
|
||||
(let [rs (SteamRemoteStorage. nil)
|
||||
png (PixmapIO$PNG. (* (.getWidth pm) (.getHeight pm) 1.5))
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
(let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)})]
|
||||
(log/info (: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 :charcoal :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 :tune])
|
||||
(def ^:const +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 :charcoal :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 :tune])
|
||||
|
||||
(def settings (atom {:music-volume 50.0
|
||||
:sound-volume 75.0
|
||||
@@ -67,7 +67,7 @@
|
||||
(defn snapshot-list []
|
||||
(->> (for [filename (steam/list-edn-files)]
|
||||
(try
|
||||
(edn/read-string (String. (steam/get-bytes filename) "UTF-8"))
|
||||
(edn/read-string (String. ^bytes (steam/get-bytes filename) "UTF-8"))
|
||||
(catch Exception _ nil)))
|
||||
(filter (every-pred identity :name :id))
|
||||
(sort-by (fn [s]
|
||||
@@ -79,7 +79,7 @@
|
||||
(doall (for [snapshot (snapshot-list)]
|
||||
(assoc-in snapshot [:screenshot]
|
||||
(try (let [bytes (steam/get-bytes (:screenshot snapshot))]
|
||||
(Pixmap. bytes 0 (count bytes)))
|
||||
(Pixmap. ^bytes bytes 0 (count bytes)))
|
||||
(catch Exception e
|
||||
(Pixmap. 160 120 Pixmap$Format/RGB888)))))))
|
||||
|
||||
@@ -122,8 +122,8 @@
|
||||
(steam/write-bytes (steam/save-file-name id) (.getBytes (pr-str save) "UTF-8"))
|
||||
(on-gl (let [gl-func (fn []
|
||||
(let [_ (Pixmap/setFilter Pixmap$Filter/BiLinear)
|
||||
viewport (-> @ (resolve 'advent.screens.scene/scene) :screen deref :viewport)
|
||||
[x y w h g-l g-r] [(.getScreenX viewport) (.getScreenY viewport) (.getScreenWidth viewport) (.getScreenHeight viewport)]
|
||||
viewport (-> @ (resolve 'advent.screens.scene/scene) :screen deref :viewport)
|
||||
[x y w h g-l g-r] [(.getScreenX ^FitViewport viewport) (.getScreenY ^FitViewport viewport) (.getScreenWidth ^FitViewport viewport) (.getScreenHeight ^FitViewport viewport)]
|
||||
pm (ScreenUtils/getFrameBufferPixmap x y w h)
|
||||
resized (Pixmap. 160 120 Pixmap$Format/RGB888)
|
||||
_ (.drawPixmap resized pm 0 0 w h 0 0 160 120)]
|
||||
@@ -212,7 +212,7 @@
|
||||
(texture! frame :flip true false)
|
||||
frame))))
|
||||
|
||||
(defn split-texture [file [tile-width tile-height] frames]
|
||||
(defn split-texture [file [^int tile-width ^int tile-height] frames]
|
||||
(let [sheet (get-texture file)
|
||||
sheet-obj ^TextureRegion (:object sheet)
|
||||
width ^int (int (.getRegionWidth sheet-obj))
|
||||
@@ -222,12 +222,11 @@
|
||||
:let [new-tex ^TextureRegion (TextureRegion. sheet-obj)]]
|
||||
(do
|
||||
(.setRegion new-tex
|
||||
(unchecked-add x (unchecked-multiply tile-width frame))
|
||||
^int (unchecked-add x (unchecked-multiply tile-width frame))
|
||||
y
|
||||
tile-width
|
||||
tile-height)
|
||||
(->TextureEntity new-tex))))
|
||||
)
|
||||
(->TextureEntity new-tex)))))
|
||||
|
||||
(defn make-anim [file [w h] speed frames]
|
||||
(animation speed (split-texture file [w h] frames)))
|
||||
@@ -361,7 +360,7 @@
|
||||
(let [current-action (get-in entities [:fg-actions :current])
|
||||
is-script-running (get-in entities [:fg-actions :script-running?])]
|
||||
(and is-script-running
|
||||
(not ( #{nil :end :none-but-arrow} (get-in entities [:fg-actions :last-skip-type]))))))
|
||||
(not (#{:end :none-but-arrow} (or (get-in entities [:fg-actions :last-skip-type]) :end))))))
|
||||
|
||||
(defn update-override [{:keys [^FitViewport viewport] :as screen} entities]
|
||||
(let [raw-pos (get-in entities [:cursor :last-pos])
|
||||
@@ -451,16 +450,14 @@
|
||||
(do
|
||||
(log/info "Making windowed 800x600 decorated window")
|
||||
(System/setProperty "org.lwjgl.opengl.Window.undecorated", "false")
|
||||
(.setFullscreenMode Gdx/graphics 800 600)))
|
||||
(.setFullscreenMode Gdx/graphics (.getDisplayMode Gdx/graphics))))
|
||||
|
||||
(defmethod make-fullscreen :linux []
|
||||
(let [width (-> Gdx/graphics .getDisplayMode .width)
|
||||
height (-> Gdx/graphics .getDisplayMode .height)]
|
||||
(log/info "Making fullscreen " width "x" height " as undecorated window")
|
||||
(System/setProperty "org.lwjgl.opengl.Window.undecorated", "true")
|
||||
(.setFullscreenMode Gdx/graphics
|
||||
width
|
||||
height)))
|
||||
(.setFullscreenMode Gdx/graphics (.getDisplayMode Gdx/graphics))))
|
||||
|
||||
(defmethod is-fullscreen? :linux []
|
||||
(= "true" (System/getProperty "org.lwjgl.opengl.Window.undecorated")))
|
||||
|
||||
Reference in New Issue
Block a user