雷撃の記憶

非常に不親切な備忘録

beatoraja 引数で任意のBMSファイルをパス指定しても「NoSuchFileException」というエラーが出て起動しない

■はじめに

タイトルの通りである。

リザルトスキンを制作中、デバッグの効率を上げる為に「バッチファイルでBMSファイルとリプレイの番号を指定した状態で立ち上げれば、設定画面や選曲画面を見ずに済む」という当たり前のことに気づいた。
引数の仕様についてはGithubのトップページ「How to Use」に記載されている。

GitHub - exch-bms2/beatoraja: Cross-platform rhythm game based on Java and libGDX.

というわけで、以下のようなコマンドラインで起動を試みる。

-jar beatoraja.jar -r1 "M:\BMS\bms\202306\Mutual Faith 3\[atos]firstpromize\_insane.bms"

FIRST PROMIZEのリプレイ1番を再生してね、という何の変哲もないコマンドだ。

だが、正しいパスを指定しても以下のようなエラーが発生する。

重大: BMSファイル解析中の例外 : java.nio.file.NoSuchFileException - M:\BMS\bms\202306\Mutual Faith 3\[atos]firstpromize\__insane.bms

非常に初歩的な内容だったので解決策をメモしておく。

■結論

このコマンドライン自体は正しい。
バッチファイルの文字コードをSHIFT-JISに変更したら起動するようになった

■攻略までの道のり

・ファイルパスは合ってるか
合ってる
・他のファイルを参照させてもダメか
ダメ
・ファイルパス中の日本語は文字化けしていないか
してる←!!

という流れで気づいた。
notepad.exeでバッチファイルを編集すると毎回この壁に当たっているような気がする。

■作業

TeraPadでファイル→文字/改行コード指定保存→SHIFT-JIS / CR+LFにして上書き保存

で普通に起動した。

■終わりに

開発環境を入れる以外にデバッグ方法が無いとしたら軽く絶望するところだった。