oakes / play-clj

A Clojure game library
The Unlicense
939 stars 73 forks source link

libgdx 1.9.5+ doesn't work #112

Closed newhook closed 6 years ago

newhook commented 6 years ago

API Change: g2d.Animation is now generic so it can support Drawables, PolygonRegions, NinePatches, etc. To fix existing code, specify the TextureRegion type in animation declarations (and instantiations in Java 6), i.e. Animation myAnimation = new Animation(...);

This change has broken game-clj you end up with this error.

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.NoSuchMethodError: com.badlogic.gdx.graphics.g2d.Animation.getKeyFrame(FZ)Lcom/badlogic/gdx/graphics/g2d/TextureRegion;
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:133)
Caused by: java.lang.NoSuchMethodError: com.badlogic.gdx.graphics.g2d.Animation.getKeyFrame(FZ)Lcom/badlogic/gdx/graphics/g2d/TextureRegion;
    at play_clj.g2d$animation__GT_texture.invoke(g2d.clj:257)
    at minicraft.entities$animate_direction.invokeStatic(entities.clj:104)
    at minicraft.entities$animate_direction.invoke(entities.clj:99)
    at minicraft.entities$animate.invokeStatic(entities.clj:124)
    at minicraft.entities$animate.invoke(entities.clj:121)
    at minicraft.core$fn__1553$fn__1662$fn__1665.invoke(core.clj:74)
    at clojure.core$map$fn__4785.invoke(core.clj:2644)
    at clojure.lang.LazySeq.sval(LazySeq.java:40)
    at clojure.lang.LazySeq.seq(LazySeq.java:49)
    at clojure.lang.RT.seq(RT.java:521)
    at clojure.core$seq__4357.invokeStatic(core.clj:137)
    at clojure.core$some.invokeStatic(core.clj:2591)
    at clojure.core$some.invoke(core.clj:2583)
    at play_clj.core$find_first.invoke(core_utils.clj:9)
    at minicraft.entities$attack_player.invokeStatic(entities.clj:177)
    at minicraft.entities$attack_player.invoke(entities.clj:175)
    at minicraft.core$fn__1553$fn__1662.invoke(core.clj:80)
    at clojure.lang.Var.invoke(Var.java:383)
    at play_clj.core$defscreen_STAR_$execute_fn_BANG___956$fn__959.invoke(core.clj:83)
    at clojure.lang.AFn.applyToHelper(AFn.java:152)
    at clojure.lang.AFn.applyTo(AFn.java:144)
    at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
    at clojure.lang.RestFn.invoke(RestFn.java:397)
    at play_clj.core$wrapper.invoke(core.clj:56)
    at play_clj.core$defscreen_STAR_$execute_fn_BANG___956.doInvoke(core.clj:85)
    at clojure.lang.RestFn.invoke(RestFn.java:439)
    at play_clj.core$defscreen_STAR_$fn__972.invoke(core.clj:120)
    at clojure.lang.AFn.applyToHelper(AFn.java:154)
    at clojure.lang.AFn.applyTo(AFn.java:144)
    at clojure.core$apply.invokeStatic(core.clj:646)
    at clojure.core$apply.invoke(core.clj:641)
    at play_clj.core$set_screen_BANG_$run_fn_BANG___1013.doInvoke(core.clj:517)
    at clojure.lang.RestFn.invoke(RestFn.java:423)
    at play_clj.core$set_screen_BANG_$reify__1021.render(core.clj:529)
    at com.badlogic.gdx.Game.render(Game.java:46)
    at play_clj.core.proxy$com.badlogic.gdx.Game$ff19274a.render(Unknown Source)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)
newhook commented 6 years ago

This was an AOT problem. Once I lein clean and re-ran it worked.