diff --git a/desktop/last-release b/desktop/last-release index 1e8b3149..7f8f011e 100644 --- a/desktop/last-release +++ b/desktop/last-release @@ -1 +1 @@ -6 +7 diff --git a/desktop/src-common/advent/utils.clj b/desktop/src-common/advent/utils.clj index 5b9a141a..3f18d0ff 100644 --- a/desktop/src-common/advent/utils.clj +++ b/desktop/src-common/advent/utils.clj @@ -120,13 +120,15 @@ :blurb (or blurb name)}] (steam/write-bytes (steam/save-file-name id) (.getBytes (pr-str save) "UTF-8")) - (on-gl (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)] - 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)] - (steam/save-screenshot resized (steam/save-screenshot-file-name id))))))] + (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)] + 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)] + (steam/save-screenshot resized (steam/save-screenshot-file-name id))))] + (try-times gl-func 3)))))] (try-times save-fn 3))) (defn remove-save [id]