(ns advent.core (:require [play-clj.core :refer :all] [play-clj.ui :refer :all] [play-clj.utils :refer :all] [play-clj.g2d :refer :all] [advent.utils :as utils] [advent.screens.scene :as scene] [advent.screens.dialogue :as dialogue] [clojure.tools.logging :as log] [advent.screens.title :as title] [advent.screens.splash :as splash] [advent.screens.credits :as credits] [advent.screens.inventory :as inventory] [advent.screens.safe :as safe] [advent.screens.fade :as fade] [advent.steam :as steam] [clojure.pprint] [advent.pathfind]) (:import [com.badlogic.gdx.graphics Pixmap Pixmap$Filter Texture Texture$TextureFilter] [com.badlogic.gdx.graphics.g2d TextureRegion] [com.badlogic.gdx Gdx Application] [java.io FileOutputStream File PrintStream]) ) (defonce am (asset-manager)) (set-asset-manager! am) (defgame advent :on-create (fn [this] (log/log-capture! *ns* :warn :error) (log/info "Starting game on version v" (advent.version/version)) (steam/init) (reset! utils/selected-save {:name "Autosave", :id "autosave", :screenshot "saves/screenshot-autosave.png", :state {:y 74.0, :active? true, :coaxed-sheep? true, :seen-bloodclot? true, :seen-frankie? true, :plaques-read #{:sword :shovel}, :knows-about-stash? true, :safe-listen-count 2, :convinced-wizard? true, :time :night, :broke-lock? true, :wool-count 2, :opened-bars? true, :opened-crack? true, :inventory [:flask-water-ash :money :camera :alarm-clock :charcoal :note-1 :flies :spear :crowbar :key :sword :kiss :cat-toy :tune :flask-1-strength :medal :trophy :slingshot], :has-met-gandarf? true, :seen-intro? true, :has-seen-love? true, :has-dropped-coin? true, :wizard-left? false, :dropped-ball? true, :wants-monocle? true, :clues #{:name}, :bubba-gone? false, :hud-active? nil, :allowed-to-keep-teddy? true, :warden-sleeping? true, :current-riddle :done, :owl-tried-strength? true, :opened-blinds? true, :x 239.3914592899382, :warden-fast-asleep? true, :last-room :cat-tree, :wants-toy true, :bent-bars? true, :knows-owl-trouble? true, :chest-contents [], :mints-eaten 0, :object nil, :talked-to-owl? true, :obtained-items #{:balloon :money :flask-2 :tune :flask-1-with-cream-of-mushroom :key :flask-water-ash :slingshot :teddy :flies :recipe :mushrooms :rope :flask-1-with-milk :kiss :wool :portrait :slobber :spear :medal :sword :frog-legs :flask-1 :flask-1-strength :dream-sword :mandrake :walkie-talkies :shovel :ash :cat-toy :grass :camera :sack-lunch :stick :charcoal :ladder :carrot :trophy :monocle :alarm-clock :crowbar :note-1 :flask-1-slobber :glass-eye :flask-water :ball-n-chain}}, :blurb "Autosave"}) (set-screen! @(resolve 'advent.core/advent) scene/scene #_scene/demo scene/hud dialogue/talking-screen dialogue/choice-screen dialogue/toast-screen inventory/inventory-screen safe/safe-screen fade/fade-screen ))) (defn reload [] (on-gl (set-screen! advent title/title-screen))) (set-screen-wrapper! (fn [screen screen-fn] (try (screen-fn) (catch Exception e (.log Gdx/app "ERROR" (with-out-str (.printStackTrace e))) (log/error e (with-out-str (.printStackTrace e))) (set-screen! advent title/title-screen)))))