自分用メモ。原因もなんだか面白かったので。
SlayTheSpireをやろうとするも起動せず。エラーが出るとかでもなく全く立ち上がらない感じ。
色々調べて再インストールとかJavaのインストールとかも試したけど解決せず。
参考このへんとか:
以下解決までの流れ。
一度起動に失敗すると「SlayTheSpireTroubleshoot.bat」が生成される模様っぽい。
(おそらく)
それでこれを起動したままSlayTheSpireを起動するとログが取れた。以下ログのエラー部分。
================================
LwjglApplication: Couldn't initialize audio, disabling audio
java.lang.UnsatisfiedLinkError: C:\Windows\TEMP\libgdx<ユーザ名>\dc0f0009\lwjgl64.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
...
================================
C:\Windows\TEMPを見に行く。
???????????????????????????????
なんか¥入りのヤバそうな名前のフォルダが出来てる。
ちなみにWindowsフォルダの中にも通常のtempフォルダはある。
問題のlwjgl64.dllはこっちの¥入りの方にあった。
なので正しいWindowsフォルダ配下のtempにコピーしたら無事に動いた。
めでたしめでたし。
そもそもなんで¥入りのフォルダ作れてるんだよって話。
フォルダ名コピーして文字コード確認した所
前後は普通にSJISなのでそこに混じって作られてしまったらしい。
というかこうすれば¥入りフォルダ作れるんだな…。
何かのプログラムがtemp参照する時にこのフォルダをうっかり作ってしまったのだろうと推測。
他のプログラムもTempファイルの場所勘違いしたら困るし、削除しておくのが吉か。
この原因、SlayTheSpire固有の話じゃないな…。