Say the spire のビルド環境を整える

ビルド環境の準備

バグ調査をしたかったので、自分でビルドできるようにしました。そのときのメモ。

下準備

jdk 8 を入れる。

maven を落としてきて、パスを通す。

依存ライブラリのビルド

tolk のビルド済みがあればいいのだけど、 appveyor による最後の自動ビルドが消えているので、自前でビルド環境を作る。以下のものが必要。

  • pandoc
  • visual studio
  • Windows SDK

必要な物はこのなかの最小限の部分だろうけど、よくわからんので、まとめて全部入れちゃう。選定するだけ時間の無駄である。

tolk をビルドする。

talk を clone。

tolk のディレクトリにいるときに、

call vcvars64.bat

これで vs のコンソールが出るので、そしたら

nmake /nologo dist

コンソールがうまく出せなかったら、以下を path に追加 ( vs2019 community の場合)

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build

途中、 win32/jni.h が見つからないと言われたら、ディレクトリをincludeパスに追加する。

C:\Program Files\Java\jdk1.8.0_291\include
C:\Program Files\Java\jdk1.8.0_291\include\win32

たぶんこのあたり。

7-zip が入ってないと、アーカイブを作る時にこけるかもしれないけど、まあそれはどっちでもいい。 dll さえ手に入ればいいので。

本体ビルド準備

ModTheSpire と BaseMod を Say the Spire のリポジトリに持ってくる。とりあえず、 lib に入れろと書いてあるので、 lib ディレクトリを作って入れてみる。 github からリリースを持って来てと書いてあるけど、最新は steam workshop にあるやつらしいので、今回は、 steam のディレクトリから拝借してきた。

steam のディレクトリから、 slay the spire の jar ファイルを持って来て、 lib にコピーする。 desktop-1.0.jar かな。

tolk をビルドしたときにできた tolk.jar も、とりあえず lib に入れてみる。

そしたら、 say the spire の説明に戻って、こうする。

mvn install:install-file -Dfile=C:/git/say-the-spire/lib/tolk.jar -DgroupId=com.davykager.tolk -DartifactId=Tolk -Dversion=unknown -Dpackaging=jar

tolk をビルドしたときにできた dist/x86 と dist/x64 のディレクトリを、 say the spire の src/main/resources/tolk というディレクトリを掘ってコピーする。 src/main/resources/tolk の中に x86 と x64 がある状態にする。

最後に、 mvn package でビルド!!!!!!!!!!! 全てがうまくいってれば、ビルドできるはず!!!!!!!!!!!信じろ!!!!!!!!!!!!!!!!!!!

オレオレビルドしたやつを実行する

普通に、 steam workshop でダウンロードされた jar が入ってるところに上書きしたら動きました。

でも、肝心の調べたかった問題は、 mod のせいじゃなくて、ゲーム側の問題っぽかった。