diff --git a/desktop/project.clj b/desktop/project.clj index 623153c2..88ad1b5e 100644 --- a/desktop/project.clj +++ b/desktop/project.clj @@ -13,10 +13,9 @@ [com.badlogicgames.gdx/gdx-platform "1.3.0" :classifier "natives-desktop"] [org.clojure/clojure "1.6.0"] - #_[play-clj "0.3.9"] + [play-clj "0.4.2"] [org.clojure/data.priority-map "0.0.5"] [org.clojure/core.async "0.1.338.0-5c5012-alpha"]] - :repl-options {:init-ns advent.core} :source-paths ["src" "src-common"] :javac-options ["-target" "1.6" "-source" "1.6" "-Xlint:-options"] :aot [advent.core.desktop-launcher] diff --git a/desktop/resources/ego/font.fnt b/desktop/resources/ego/font.fnt index 2a61b7b2..ba2645c6 100644 --- a/desktop/resources/ego/font.fnt +++ b/desktop/resources/ego/font.fnt @@ -1,99 +1,99 @@ -info face="Arial-Black" size=22 bold=1 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=6,6,6,6 spacing=-12,-12 -common lineHeight=32 base=25 scaleW=512 scaleH=512 pages=1 packed=0 +info face="Arial-Black" size=20 bold=1 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=6,6,6,6 spacing=-12,-12 +common lineHeight=29 base=22 scaleW=512 scaleH=512 pages=1 packed=0 page id=0 file="font.png" chars count=94 -char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=25 xadvance=7 page=0 chnl=0 -char id=125 x=0 y=0 width=22 height=35 xoffset=-6 yoffset=2 xadvance=9 page=0 chnl=0 -char id=123 x=22 y=0 width=22 height=35 xoffset=-6 yoffset=2 xadvance=9 page=0 chnl=0 -char id=41 x=44 y=0 width=21 height=35 xoffset=-5 yoffset=2 xadvance=9 page=0 chnl=0 -char id=40 x=65 y=0 width=20 height=35 xoffset=-5 yoffset=2 xadvance=9 page=0 chnl=0 -char id=124 x=85 y=0 width=17 height=34 xoffset=-4 yoffset=3 xadvance=6 page=0 chnl=0 -char id=93 x=102 y=0 width=21 height=34 xoffset=-5 yoffset=3 xadvance=9 page=0 chnl=0 -char id=91 x=123 y=0 width=21 height=34 xoffset=-5 yoffset=3 xadvance=9 page=0 chnl=0 -char id=106 x=144 y=0 width=22 height=34 xoffset=-7 yoffset=3 xadvance=7 page=0 chnl=0 -char id=36 x=166 y=0 width=27 height=33 xoffset=-5 yoffset=2 xadvance=15 page=0 chnl=0 -char id=64 x=193 y=0 width=31 height=33 xoffset=-6 yoffset=2 xadvance=16 page=0 chnl=0 -char id=81 x=224 y=0 width=31 height=32 xoffset=-5 yoffset=2 xadvance=18 page=0 chnl=0 -char id=38 x=255 y=0 width=31 height=31 xoffset=-4 yoffset=2 xadvance=20 page=0 chnl=0 -char id=35 x=286 y=0 width=27 height=31 xoffset=-5 yoffset=2 xadvance=15 page=0 chnl=0 -char id=37 x=313 y=0 width=33 height=31 xoffset=-5 yoffset=2 xadvance=22 page=0 chnl=0 -char id=92 x=346 y=0 width=21 height=31 xoffset=-6 yoffset=2 xadvance=6 page=0 chnl=0 -char id=47 x=367 y=0 width=20 height=31 xoffset=-6 yoffset=2 xadvance=6 page=0 chnl=0 -char id=48 x=387 y=0 width=27 height=31 xoffset=-5 yoffset=2 xadvance=15 page=0 chnl=0 -char id=57 x=414 y=0 width=27 height=31 xoffset=-5 yoffset=2 xadvance=15 page=0 chnl=0 -char id=56 x=441 y=0 width=27 height=31 xoffset=-5 yoffset=2 xadvance=15 page=0 chnl=0 -char id=54 x=468 y=0 width=27 height=31 xoffset=-5 yoffset=2 xadvance=15 page=0 chnl=0 -char id=51 x=0 y=35 width=27 height=31 xoffset=-5 yoffset=2 xadvance=15 page=0 chnl=0 -char id=83 x=27 y=35 width=29 height=31 xoffset=-5 yoffset=2 xadvance=16 page=0 chnl=0 -char id=79 x=56 y=35 width=31 height=31 xoffset=-5 yoffset=2 xadvance=18 page=0 chnl=0 -char id=71 x=87 y=35 width=30 height=31 xoffset=-5 yoffset=2 xadvance=18 page=0 chnl=0 -char id=67 x=117 y=35 width=29 height=31 xoffset=-5 yoffset=2 xadvance=17 page=0 chnl=0 -char id=59 x=146 y=35 width=19 height=30 xoffset=-5 yoffset=7 xadvance=7 page=0 chnl=0 -char id=63 x=165 y=35 width=26 height=30 xoffset=-5 yoffset=2 xadvance=13 page=0 chnl=0 -char id=53 x=191 y=35 width=27 height=30 xoffset=-5 yoffset=3 xadvance=15 page=0 chnl=0 -char id=52 x=218 y=35 width=28 height=30 xoffset=-6 yoffset=2 xadvance=15 page=0 chnl=0 -char id=50 x=246 y=35 width=27 height=30 xoffset=-5 yoffset=2 xadvance=15 page=0 chnl=0 -char id=49 x=273 y=35 width=23 height=30 xoffset=-4 yoffset=2 xadvance=15 page=0 chnl=0 -char id=121 x=296 y=35 width=27 height=30 xoffset=-6 yoffset=7 xadvance=13 page=0 chnl=0 -char id=116 x=323 y=35 width=23 height=30 xoffset=-5 yoffset=3 xadvance=10 page=0 chnl=0 -char id=113 x=346 y=35 width=27 height=30 xoffset=-5 yoffset=7 xadvance=15 page=0 chnl=0 -char id=112 x=373 y=35 width=26 height=30 xoffset=-5 yoffset=7 xadvance=15 page=0 chnl=0 -char id=103 x=399 y=35 width=27 height=30 xoffset=-5 yoffset=7 xadvance=15 page=0 chnl=0 -char id=102 x=426 y=35 width=23 height=30 xoffset=-6 yoffset=2 xadvance=9 page=0 chnl=0 -char id=100 x=449 y=35 width=27 height=30 xoffset=-5 yoffset=3 xadvance=15 page=0 chnl=0 -char id=98 x=476 y=35 width=26 height=30 xoffset=-5 yoffset=3 xadvance=15 page=0 chnl=0 -char id=85 x=0 y=66 width=29 height=30 xoffset=-4 yoffset=3 xadvance=18 page=0 chnl=0 -char id=74 x=29 y=66 width=27 height=30 xoffset=-6 yoffset=3 xadvance=15 page=0 chnl=0 -char id=33 x=56 y=66 width=19 height=29 xoffset=-5 yoffset=3 xadvance=7 page=0 chnl=0 -char id=55 x=75 y=66 width=27 height=29 xoffset=-5 yoffset=3 xadvance=15 page=0 chnl=0 -char id=108 x=102 y=66 width=18 height=29 xoffset=-5 yoffset=3 xadvance=7 page=0 chnl=0 -char id=107 x=120 y=66 width=27 height=29 xoffset=-5 yoffset=3 xadvance=15 page=0 chnl=0 -char id=105 x=147 y=66 width=18 height=29 xoffset=-5 yoffset=3 xadvance=7 page=0 chnl=0 -char id=104 x=165 y=66 width=26 height=29 xoffset=-5 yoffset=3 xadvance=15 page=0 chnl=0 -char id=90 x=191 y=66 width=29 height=29 xoffset=-6 yoffset=3 xadvance=16 page=0 chnl=0 -char id=89 x=220 y=66 width=31 height=29 xoffset=-6 yoffset=3 xadvance=17 page=0 chnl=0 -char id=88 x=251 y=66 width=31 height=29 xoffset=-6 yoffset=3 xadvance=17 page=0 chnl=0 -char id=87 x=282 y=66 width=37 height=29 xoffset=-6 yoffset=3 xadvance=22 page=0 chnl=0 -char id=86 x=319 y=66 width=31 height=29 xoffset=-6 yoffset=3 xadvance=17 page=0 chnl=0 -char id=84 x=350 y=66 width=29 height=29 xoffset=-5 yoffset=3 xadvance=16 page=0 chnl=0 -char id=82 x=379 y=66 width=30 height=29 xoffset=-4 yoffset=3 xadvance=17 page=0 chnl=0 -char id=80 x=409 y=66 width=27 height=29 xoffset=-4 yoffset=3 xadvance=16 page=0 chnl=0 -char id=78 x=436 y=66 width=29 height=29 xoffset=-4 yoffset=3 xadvance=18 page=0 chnl=0 -char id=77 x=465 y=66 width=32 height=29 xoffset=-4 yoffset=3 xadvance=21 page=0 chnl=0 -char id=76 x=0 y=96 width=27 height=29 xoffset=-4 yoffset=3 xadvance=15 page=0 chnl=0 -char id=75 x=27 y=96 width=31 height=29 xoffset=-4 yoffset=3 xadvance=18 page=0 chnl=0 -char id=73 x=58 y=96 width=19 height=29 xoffset=-4 yoffset=3 xadvance=9 page=0 chnl=0 -char id=72 x=77 y=96 width=29 height=29 xoffset=-4 yoffset=3 xadvance=18 page=0 chnl=0 -char id=70 x=106 y=96 width=26 height=29 xoffset=-4 yoffset=3 xadvance=15 page=0 chnl=0 -char id=69 x=132 y=96 width=27 height=29 xoffset=-4 yoffset=3 xadvance=16 page=0 chnl=0 -char id=68 x=159 y=96 width=29 height=29 xoffset=-4 yoffset=3 xadvance=17 page=0 chnl=0 -char id=66 x=188 y=96 width=29 height=29 xoffset=-4 yoffset=3 xadvance=17 page=0 chnl=0 -char id=65 x=217 y=96 width=31 height=29 xoffset=-6 yoffset=3 xadvance=17 page=0 chnl=0 -char id=62 x=248 y=96 width=26 height=27 xoffset=-5 yoffset=4 xadvance=15 page=0 chnl=0 -char id=60 x=274 y=96 width=26 height=27 xoffset=-5 yoffset=4 xadvance=15 page=0 chnl=0 -char id=117 x=300 y=96 width=26 height=26 xoffset=-5 yoffset=7 xadvance=15 page=0 chnl=0 -char id=115 x=326 y=96 width=26 height=26 xoffset=-5 yoffset=7 xadvance=13 page=0 chnl=0 -char id=111 x=352 y=96 width=27 height=26 xoffset=-5 yoffset=7 xadvance=15 page=0 chnl=0 -char id=101 x=379 y=96 width=27 height=26 xoffset=-5 yoffset=7 xadvance=15 page=0 chnl=0 -char id=99 x=406 y=96 width=27 height=26 xoffset=-5 yoffset=7 xadvance=15 page=0 chnl=0 -char id=97 x=433 y=96 width=27 height=26 xoffset=-5 yoffset=7 xadvance=15 page=0 chnl=0 -char id=43 x=460 y=96 width=26 height=25 xoffset=-5 yoffset=5 xadvance=15 page=0 chnl=0 -char id=58 x=486 y=96 width=19 height=25 xoffset=-5 yoffset=7 xadvance=7 page=0 chnl=0 -char id=122 x=0 y=125 width=25 height=25 xoffset=-6 yoffset=7 xadvance=12 page=0 chnl=0 -char id=120 x=25 y=125 width=28 height=25 xoffset=-6 yoffset=7 xadvance=15 page=0 chnl=0 -char id=119 x=53 y=125 width=34 height=25 xoffset=-6 yoffset=7 xadvance=21 page=0 chnl=0 -char id=118 x=87 y=125 width=27 height=25 xoffset=-6 yoffset=7 xadvance=13 page=0 chnl=0 -char id=114 x=114 y=125 width=23 height=25 xoffset=-5 yoffset=7 xadvance=10 page=0 chnl=0 -char id=110 x=137 y=125 width=26 height=25 xoffset=-5 yoffset=7 xadvance=15 page=0 chnl=0 -char id=109 x=163 y=125 width=33 height=25 xoffset=-5 yoffset=7 xadvance=22 page=0 chnl=0 -char id=61 x=196 y=125 width=26 height=23 xoffset=-5 yoffset=6 xadvance=15 page=0 chnl=0 -char id=94 x=222 y=125 width=26 height=23 xoffset=-5 yoffset=2 xadvance=15 page=0 chnl=0 -char id=44 x=248 y=125 width=19 height=23 xoffset=-5 yoffset=14 xadvance=7 page=0 chnl=0 -char id=42 x=267 y=125 width=23 height=22 xoffset=-4 yoffset=2 xadvance=12 page=0 chnl=0 -char id=39 x=290 y=125 width=19 height=20 xoffset=-5 yoffset=3 xadvance=6 page=0 chnl=0 -char id=34 x=309 y=125 width=24 height=20 xoffset=-5 yoffset=3 xadvance=11 page=0 chnl=0 -char id=126 x=333 y=125 width=26 height=19 xoffset=-5 yoffset=8 xadvance=15 page=0 chnl=0 -char id=46 x=359 y=125 width=19 height=18 xoffset=-5 yoffset=14 xadvance=7 page=0 chnl=0 -char id=96 x=378 y=125 width=19 height=18 xoffset=-6 yoffset=2 xadvance=7 page=0 chnl=0 -char id=45 x=397 y=125 width=20 height=17 xoffset=-6 yoffset=11 xadvance=7 page=0 chnl=0 -char id=95 x=417 y=125 width=26 height=15 xoffset=-6 yoffset=20 xadvance=11 page=0 chnl=0 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=22 xadvance=7 page=0 chnl=0 +char id=125 x=0 y=0 width=21 height=33 xoffset=-6 yoffset=1 xadvance=8 page=0 chnl=0 +char id=123 x=21 y=0 width=21 height=33 xoffset=-6 yoffset=1 xadvance=8 page=0 chnl=0 +char id=41 x=42 y=0 width=20 height=33 xoffset=-5 yoffset=1 xadvance=8 page=0 chnl=0 +char id=40 x=62 y=0 width=20 height=33 xoffset=-5 yoffset=1 xadvance=8 page=0 chnl=0 +char id=106 x=82 y=0 width=20 height=33 xoffset=-7 yoffset=1 xadvance=7 page=0 chnl=0 +char id=36 x=102 y=0 width=26 height=32 xoffset=-5 yoffset=0 xadvance=13 page=0 chnl=0 +char id=124 x=128 y=0 width=17 height=32 xoffset=-4 yoffset=1 xadvance=6 page=0 chnl=0 +char id=93 x=145 y=0 width=20 height=32 xoffset=-6 yoffset=1 xadvance=8 page=0 chnl=0 +char id=91 x=165 y=0 width=20 height=32 xoffset=-5 yoffset=1 xadvance=8 page=0 chnl=0 +char id=64 x=185 y=0 width=29 height=31 xoffset=-6 yoffset=1 xadvance=15 page=0 chnl=0 +char id=81 x=214 y=0 width=30 height=30 xoffset=-5 yoffset=1 xadvance=17 page=0 chnl=0 +char id=38 x=244 y=0 width=29 height=29 xoffset=-5 yoffset=1 xadvance=18 page=0 chnl=0 +char id=35 x=273 y=0 width=26 height=29 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=37 x=299 y=0 width=33 height=29 xoffset=-5 yoffset=1 xadvance=20 page=0 chnl=0 +char id=92 x=332 y=0 width=20 height=29 xoffset=-6 yoffset=1 xadvance=6 page=0 chnl=0 +char id=47 x=352 y=0 width=19 height=29 xoffset=-6 yoffset=1 xadvance=6 page=0 chnl=0 +char id=59 x=371 y=0 width=18 height=29 xoffset=-5 yoffset=5 xadvance=7 page=0 chnl=0 +char id=48 x=389 y=0 width=26 height=29 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=57 x=415 y=0 width=26 height=29 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=56 x=441 y=0 width=26 height=29 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=54 x=467 y=0 width=26 height=29 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=53 x=0 y=33 width=26 height=29 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=51 x=26 y=33 width=26 height=29 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=121 x=52 y=33 width=26 height=29 xoffset=-6 yoffset=5 xadvance=12 page=0 chnl=0 +char id=116 x=78 y=33 width=22 height=29 xoffset=-5 yoffset=1 xadvance=9 page=0 chnl=0 +char id=103 x=100 y=33 width=26 height=29 xoffset=-5 yoffset=5 xadvance=13 page=0 chnl=0 +char id=100 x=126 y=33 width=26 height=29 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=98 x=152 y=33 width=25 height=29 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=85 x=177 y=33 width=28 height=29 xoffset=-5 yoffset=1 xadvance=17 page=0 chnl=0 +char id=83 x=205 y=33 width=27 height=29 xoffset=-5 yoffset=1 xadvance=14 page=0 chnl=0 +char id=79 x=232 y=33 width=29 height=29 xoffset=-5 yoffset=1 xadvance=17 page=0 chnl=0 +char id=74 x=261 y=33 width=25 height=29 xoffset=-6 yoffset=1 xadvance=13 page=0 chnl=0 +char id=71 x=286 y=33 width=29 height=29 xoffset=-5 yoffset=1 xadvance=17 page=0 chnl=0 +char id=67 x=315 y=33 width=28 height=29 xoffset=-5 yoffset=1 xadvance=16 page=0 chnl=0 +char id=63 x=343 y=33 width=25 height=28 xoffset=-5 yoffset=1 xadvance=12 page=0 chnl=0 +char id=33 x=368 y=33 width=18 height=28 xoffset=-5 yoffset=1 xadvance=7 page=0 chnl=0 +char id=55 x=386 y=33 width=26 height=28 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=52 x=412 y=33 width=26 height=28 xoffset=-6 yoffset=1 xadvance=13 page=0 chnl=0 +char id=50 x=438 y=33 width=26 height=28 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=49 x=464 y=33 width=22 height=28 xoffset=-4 yoffset=1 xadvance=13 page=0 chnl=0 +char id=113 x=0 y=62 width=26 height=28 xoffset=-5 yoffset=5 xadvance=13 page=0 chnl=0 +char id=112 x=26 y=62 width=25 height=28 xoffset=-5 yoffset=5 xadvance=13 page=0 chnl=0 +char id=108 x=51 y=62 width=18 height=28 xoffset=-5 yoffset=1 xadvance=7 page=0 chnl=0 +char id=107 x=69 y=62 width=26 height=28 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=105 x=95 y=62 width=18 height=28 xoffset=-5 yoffset=1 xadvance=7 page=0 chnl=0 +char id=104 x=113 y=62 width=25 height=28 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=102 x=138 y=62 width=22 height=28 xoffset=-6 yoffset=1 xadvance=8 page=0 chnl=0 +char id=90 x=160 y=62 width=27 height=28 xoffset=-6 yoffset=1 xadvance=14 page=0 chnl=0 +char id=89 x=187 y=62 width=29 height=28 xoffset=-6 yoffset=1 xadvance=16 page=0 chnl=0 +char id=88 x=216 y=62 width=29 height=28 xoffset=-6 yoffset=1 xadvance=16 page=0 chnl=0 +char id=87 x=245 y=62 width=35 height=28 xoffset=-6 yoffset=1 xadvance=20 page=0 chnl=0 +char id=86 x=280 y=62 width=29 height=28 xoffset=-6 yoffset=1 xadvance=16 page=0 chnl=0 +char id=84 x=309 y=62 width=27 height=28 xoffset=-6 yoffset=1 xadvance=14 page=0 chnl=0 +char id=82 x=336 y=62 width=28 height=28 xoffset=-4 yoffset=1 xadvance=16 page=0 chnl=0 +char id=80 x=364 y=62 width=26 height=28 xoffset=-5 yoffset=1 xadvance=14 page=0 chnl=0 +char id=78 x=390 y=62 width=28 height=28 xoffset=-5 yoffset=1 xadvance=17 page=0 chnl=0 +char id=77 x=418 y=62 width=30 height=28 xoffset=-5 yoffset=1 xadvance=19 page=0 chnl=0 +char id=76 x=448 y=62 width=25 height=28 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=75 x=473 y=62 width=29 height=28 xoffset=-5 yoffset=1 xadvance=17 page=0 chnl=0 +char id=73 x=0 y=90 width=19 height=28 xoffset=-4 yoffset=1 xadvance=8 page=0 chnl=0 +char id=72 x=19 y=90 width=28 height=28 xoffset=-5 yoffset=1 xadvance=17 page=0 chnl=0 +char id=70 x=47 y=90 width=25 height=28 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=69 x=72 y=90 width=26 height=28 xoffset=-5 yoffset=1 xadvance=14 page=0 chnl=0 +char id=68 x=98 y=90 width=27 height=28 xoffset=-4 yoffset=1 xadvance=16 page=0 chnl=0 +char id=66 x=125 y=90 width=27 height=28 xoffset=-5 yoffset=1 xadvance=16 page=0 chnl=0 +char id=65 x=152 y=90 width=29 height=28 xoffset=-6 yoffset=1 xadvance=16 page=0 chnl=0 +char id=62 x=181 y=90 width=25 height=26 xoffset=-5 yoffset=2 xadvance=13 page=0 chnl=0 +char id=60 x=206 y=90 width=25 height=26 xoffset=-5 yoffset=2 xadvance=13 page=0 chnl=0 +char id=43 x=231 y=90 width=24 height=25 xoffset=-5 yoffset=3 xadvance=13 page=0 chnl=0 +char id=117 x=255 y=90 width=25 height=25 xoffset=-5 yoffset=5 xadvance=13 page=0 chnl=0 +char id=115 x=280 y=90 width=25 height=25 xoffset=-6 yoffset=5 xadvance=12 page=0 chnl=0 +char id=111 x=305 y=90 width=26 height=25 xoffset=-5 yoffset=5 xadvance=13 page=0 chnl=0 +char id=101 x=331 y=90 width=26 height=25 xoffset=-5 yoffset=5 xadvance=13 page=0 chnl=0 +char id=99 x=357 y=90 width=26 height=25 xoffset=-5 yoffset=5 xadvance=13 page=0 chnl=0 +char id=97 x=383 y=90 width=26 height=25 xoffset=-5 yoffset=5 xadvance=13 page=0 chnl=0 +char id=58 x=409 y=90 width=18 height=24 xoffset=-5 yoffset=5 xadvance=7 page=0 chnl=0 +char id=122 x=427 y=90 width=24 height=24 xoffset=-6 yoffset=5 xadvance=11 page=0 chnl=0 +char id=120 x=451 y=90 width=27 height=24 xoffset=-6 yoffset=5 xadvance=13 page=0 chnl=0 +char id=119 x=478 y=90 width=32 height=24 xoffset=-6 yoffset=5 xadvance=19 page=0 chnl=0 +char id=118 x=0 y=118 width=26 height=24 xoffset=-6 yoffset=5 xadvance=12 page=0 chnl=0 +char id=114 x=26 y=118 width=22 height=24 xoffset=-5 yoffset=5 xadvance=9 page=0 chnl=0 +char id=110 x=48 y=118 width=25 height=24 xoffset=-5 yoffset=5 xadvance=13 page=0 chnl=0 +char id=109 x=73 y=118 width=31 height=24 xoffset=-5 yoffset=5 xadvance=20 page=0 chnl=0 +char id=61 x=104 y=118 width=24 height=22 xoffset=-5 yoffset=4 xadvance=13 page=0 chnl=0 +char id=94 x=128 y=118 width=24 height=22 xoffset=-5 yoffset=1 xadvance=13 page=0 chnl=0 +char id=44 x=152 y=118 width=18 height=22 xoffset=-5 yoffset=12 xadvance=7 page=0 chnl=0 +char id=42 x=170 y=118 width=22 height=21 xoffset=-4 yoffset=1 xadvance=11 page=0 chnl=0 +char id=126 x=192 y=118 width=26 height=19 xoffset=-5 yoffset=6 xadvance=13 page=0 chnl=0 +char id=39 x=218 y=118 width=18 height=19 xoffset=-5 yoffset=1 xadvance=6 page=0 chnl=0 +char id=34 x=236 y=118 width=23 height=19 xoffset=-6 yoffset=1 xadvance=10 page=0 chnl=0 +char id=45 x=259 y=118 width=20 height=17 xoffset=-6 yoffset=9 xadvance=7 page=0 chnl=0 +char id=46 x=279 y=118 width=18 height=17 xoffset=-5 yoffset=12 xadvance=7 page=0 chnl=0 +char id=96 x=297 y=118 width=18 height=17 xoffset=-6 yoffset=1 xadvance=7 page=0 chnl=0 +char id=95 x=315 y=118 width=25 height=15 xoffset=-6 yoffset=17 xadvance=10 page=0 chnl=0 diff --git a/desktop/resources/ego/font.hiero b/desktop/resources/ego/font.hiero index 3a959ae5..0d85ffb8 100644 --- a/desktop/resources/ego/font.hiero +++ b/desktop/resources/ego/font.hiero @@ -1,5 +1,5 @@ -font.name=null -font.size=22 +font.name=Arial Black +font.size=20 font.bold=true font.italic=false @@ -17,21 +17,21 @@ glyph.text=ABCDEFGHIJKLMNOPQRSTUVWXYZ\nabcdefghijklmnopqrstuvwxyz\n1234567890\n" effect.class=com.badlogic.gdx.tools.hiero.unicodefont.effects.ShadowEffect effect.Color=000000 -effect.Opacity=0.3 -effect.X distance=2.0 -effect.Y distance=2.0 -effect.Blur kernel size=3 +effect.Opacity=0.31 +effect.X distance=1.5 +effect.Y distance=2.4 +effect.Blur kernel size=4 effect.Blur passes=1 -effect.class=com.badlogic.gdx.tools.hiero.unicodefont.effects.GradientEffect -effect.Top color=e6ffff -effect.Bottom color=5ad5ff -effect.Offset=-5 -effect.Scale=0.55 -effect.Cyclic=false - effect.class=com.badlogic.gdx.tools.hiero.unicodefont.effects.OutlineEffect -effect.Color=333333 -effect.Width=0.8 -effect.Join=2 +effect.Color=111111 +effect.Width=3.3 +effect.Join=1 + +effect.class=com.badlogic.gdx.tools.hiero.unicodefont.effects.GradientEffect +effect.Top color=ffffff +effect.Bottom color=aaaaaa +effect.Offset=1 +effect.Scale=0.55 +effect.Cyclic=true diff --git a/desktop/resources/ego/font.png b/desktop/resources/ego/font.png index e63bbb49..82d41cb9 100644 Binary files a/desktop/resources/ego/font.png and b/desktop/resources/ego/font.png differ diff --git a/desktop/src-common/advent/actions.clj b/desktop/src-common/advent/actions.clj index 92373370..6cb57c79 100644 --- a/desktop/src-common/advent/actions.clj +++ b/desktop/src-common/advent/actions.clj @@ -250,11 +250,20 @@ (let [_ (swap! initial-time #(or % (:total-time screen))) 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]))) + 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]))) + scaled (get-in entities [:room :entities target-id :scaled]) scale-fn (get-in entities [:room :scale-fn]) - scale (scale-fn [target-x target-y]) - height (* scale 36)] + scale (if scaled + (scale-fn [target-x target-y]) + 1) + height (* scale height)] (screen! dialogue/talking-screen :on-talk :text text - :x (get-in entities [:room :entities target-id :x]) :y (+ (get-in entities [:room :entities target-id :y]) height) + :x target-x :y (+ (get-in entities [:room :entities target-id :y]) height) :color (get-in entities [:room :entities target-id :talk-color]) :target-id target-id diff --git a/desktop/src-common/advent/screens/dialogue.clj b/desktop/src-common/advent/screens/dialogue.clj index d4394161..8e7d5136 100644 --- a/desktop/src-common/advent/screens/dialogue.clj +++ b/desktop/src-common/advent/screens/dialogue.clj @@ -4,6 +4,7 @@ [play-clj.utils :refer :all] [play-clj.g2d :refer :all] [clojure.pprint] + [clojure.set :as set] [advent.pathfind] [clojure.core.async :refer [put! ! >!! chan go thread take! alts!!]] #_[advent.screens.scene :as scene]) @@ -35,12 +36,18 @@ :on-talk (fn [{:keys [create-talk target-id color text x y scale]} [entities]] (let [font (bitmap-font "ego/font.fnt" ) + p (nine-patch {:region (:object (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)) _ (bitmap-font! font :set-markup-enabled true) tr (bitmap-font! font :get-region) scale (or (min (max scale 0.75) 1) 1) tx (.getTexture tr) _ (texture! tx :set-filter Texture$TextureFilter/Linear Texture$TextureFilter/Linear) - talk (assoc (label text (style :label font color)) :y (* 4 y))] + style (style :label font color) + #__ #_(set! (.background style) bg) + talk (assoc (label text style) :y (* 4 y) )] (label! talk :set-font-scale scale) (label! talk :set-alignment Align/center) (assoc entities target-id (-> talk @@ -63,46 +70,72 @@ (< (:x e) x (+ (:x e) (.getWidth (:object e)))) (< (:y e) y (+ (:y e) (:height e))))) +(defn get-color [e mouse-pos] + (if (intersects? e mouse-pos) + (color :yellow) + (color 0.6 1.0 1.0 1.0) + )) + +(defn style-label [e font mouse-pos] + (label! e :set-style (style :label font (get-color e mouse-pos))) + e) + (defscreen choice-screen :on-show (fn [screen entities] (update! screen :renderer (stage) :camera (orthographic)) - {}) - - :on-render - (fn [screen [entities]] - (render! screen (vals entities)) - entities) - - :on-present-choices - (fn [{:keys [choices callback]} [entities]] (let [font (bitmap-font "ego/font.fnt" ) tr (bitmap-font! font :get-region) scale 1 tx (.getTexture tr) - _ (texture! tx :set-filter Texture$TextureFilter/Linear Texture$TextureFilter/Linear) - choice-count (count choices)] + _ (texture! tx :set-filter Texture$TextureFilter/Linear Texture$TextureFilter/Linear)] + {:state {:object nil + :callback nil + :choices [] + :last-pos [0 0] + :font font + :np (assoc (nine-patch {:region (:object (texture "talk-bg-2.png")) :left 9 :top 9 :right 9 :bottom 9}) + :x 5 :y 5 :width 1270)}})) + + :on-render + (fn [screen [entities]] + (when (seq (get-in entities [:state :choices])) + (render! screen [(get-in entities [:state :np])]) + (render! screen (vals entities))) + entities) + + :on-present-choices + (fn [{:keys [choices callback]} [entities]] + (let [choice-count (count choices) + font (get-in entities [:state :font])] (-> entities - (into (for [[[text] i] (map vector choices (range))] - [i (assoc (label text (style :label font (color 0.6 1.0 1.0 1.0))) :height 30 :x 30 :y (+ 30 (* choice-height (- choice-count i 1))) :index i)])) - (assoc :state {:object nil :callback callback :choices choices :font font})))) + (into (for [[[text] i] (map vector choices (range)) + :let [e (label text (style :label font (color 0.6 1.0 1.0 1.0))) + e (assoc e :height 30 :x 30 :y (+ 30 (* choice-height (- choice-count i 1))) :index i) + e (style-label e font (get-in entities [:state :last-pos]))]] + [i e])) + (assoc-in [:state :choices] choices) + (assoc-in [:state :callback] callback) + (assoc-in [:state :np :height] (* 30 (inc choice-count)))))) :on-touch-up (fn [screen [entities]] (let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)})] - (when (seq entities) + (when (seq (get-in entities [:state :choices])) (when-let [choice (first (filter #(intersects? % [x y]) (vals entities)))] ((get-in entities [:state :callback]) (:index choice)) - {})))) + (-> entities + (assoc-in [:state :callback] nil) + (assoc-in [:state :choices] []) + (select-keys [:state])))))) :on-mouse-moved (fn [screen [entities]] - (when (seq entities) - (let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)}) - choice-count (dec (count entities))] - (doseq [e (vals entities) - :when (:object e)] - (if (intersects? e [x y]) - (label! e :set-style (style :label (get-in entities [:state :font]) (color :yellow))) - (label! e :set-style (style :label (get-in entities [:state :font]) (color 0.6 1.0 1.0 1.0)))))))) + (let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)}) + entities (assoc-in entities [:state :last-pos] [x y]) + choice-count (dec (count entities))] + (doseq [e (vals entities) + :when (:object e)] + (style-label e (get-in entities [:state :font]) [x y])) + entities)) :on-resize (fn [screen entities] (size! screen 1280 960)))