clojure-gamedev

idiomancy 2016-08-25T20:47:23.000014Z

Anyone have experience using libgdx with clojure? I'm trying to use their controller support, but I dont understand this error..

com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load shared library 'gdx-controllers-desktop.dll' for target: Windows 10, 32-bit

oahner 2016-08-25T20:54:51.000015Z

@idiomancy looks like you're missing a jar

idiomancy 2016-08-25T20:56:49.000016Z

hmm...

:dependencies [...
               [com.badlogicgames.gdx/gdx-controllers-desktop "1.9.3"]
               [com.badlogicgames.gdx/gdx-controllers-platform "1.9.3"]
               ...]
dependency management is not my strong suite but.. Im not sure what else need to be provided here

idiomancy 2016-08-25T20:56:58.000017Z

@oahner

oahner 2016-08-25T20:57:25.000018Z

hmm, that actually looks correct

oahner 2016-08-25T20:58:12.000019Z

can you show you whole project.clj?

idiomancy 2016-08-25T20:58:18.000020Z

yeah absolutely

idiomancy 2016-08-25T20:58:30.000021Z

(defproject neofight "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "<http://example.com/FIXME>"
  :license {:name "Eclipse Public License"
            :url "<http://www.eclipse.org/legal/epl-v10.html>"}
  :dependencies [[org.clojure/clojure "1.8.0"]
                 [org.clojure/core.async "0.2.385"]
                 ;[org.lwjgl.opengl]
                 [com.badlogicgames.gdx/gdx "1.9.3"]
                 [com.badlogicgames.gdx/gdx-backend-lwjgl "1.9.3"]
                 [com.badlogicgames.gdx/gdx-box2d "1.9.3"]
                 [com.badlogicgames.gdx/gdx-box2d-platform "1.9.3"
                  :classifier "natives-desktop"]
                 [com.badlogicgames.gdx/gdx-bullet "1.9.3"]
                 [com.badlogicgames.gdx/gdx-bullet-platform "1.9.3"
                  :classifier "natives-desktop"]
                 [com.badlogicgames.gdx/gdx-controllers-desktop "1.9.3"]
                 [com.badlogicgames.gdx/gdx-controllers-platform "1.9.3"]
                 [com.badlogicgames.gdx/gdx-platform "1.9.3"
                  :classifier "natives-desktop"]
                 [play-clj "1.1.1"]])

idiomancy 2016-08-25T20:59:10.000022Z

fwiw, thats viking programming. I stole the deps specified in play-clj. I actually have no idea what the :classifier flag does in the deps vector

idiomancy 2016-08-25T20:59:40.000023Z

the only difference is that I added the controllers stuff for my purposes. Possibly some incompatible deps?

oahner 2016-08-25T20:59:41.000024Z

ah, viking programming! never heard that one before

idiomancy 2016-08-25T20:59:49.000025Z

hahaha, loot and pillage!

oahner 2016-08-25T21:05:56.000026Z

yep, definitely not getting the DLLs in the final jar

idiomancy 2016-08-25T21:06:33.000027Z

hmm. is this a problem that points to a solution? 😄

idiomancy 2016-08-25T21:07:36.000028Z

lets see.... so the answer has to be one of two things, either I need to add another dep that points to the DLL i need, or I need to add some kind of flag that causes the existing dep to pull down the DLL i need.

idiomancy 2016-08-25T21:08:19.000030Z

The former I can work with, some googling. but if its the latter, my project.clj/interop knowledge is insufficient to the task

idiomancy 2016-08-25T21:09:55.000031Z

hmm. option 3, might it be the way im attempting to import it..

(com.badlogic.gdx.controllers Controllers)

oahner 2016-08-25T21:11:20.000032Z

[com.badlogicgames.gdx/gdx-controllers-platform "1.9.3" :classifier "natives-desktop"]

oahner 2016-08-25T21:11:27.000033Z

try that

idiomancy 2016-08-25T21:11:45.000034Z

ahh, rather than importing the desktop one directly

idiomancy 2016-08-25T21:13:53.000035Z

well, you seem to have gotten it -- new error

idiomancy 2016-08-25T21:14:28.000036Z

oh wait.

idiomancy 2016-08-25T21:14:53.000037Z

maybe i shouldnt remove the desktop dep, I should just add the classifier to the platform dep...

idiomancy 2016-08-25T21:15:12.000038Z

ah hah!

idiomancy 2016-08-25T21:15:14.000039Z

that did it!

idiomancy 2016-08-25T21:15:30.000040Z

@oahner you are awesome. I really appreciate the help.

idiomancy 2016-08-25T21:15:45.000041Z

[com.badlogicgames.gdx/gdx-controllers-desktop "1.9.3"]
                 [com.badlogicgames.gdx/gdx-controllers-platform "1.9.3"
                  :classifier "natives-desktop"]

idiomancy 2016-08-25T21:15:48.000042Z

that did it

oahner 2016-08-25T21:16:06.000043Z

nice

oahner 2016-08-25T21:22:28.000044Z

a fresh project created with gdx-setup.jar also depends on com.badlogicgames.gdx/gdx-controllers