DTXMania 099 series, and DTXCreator: (099g(191022)) | 2019-10-23 00:21 |
DTXMania 100 series, and DTXCreator: (119(211020) and 035(191001)) | 2021-10-20 00:00 |
以下、yyagiが実際に使っている'方法をご紹介します。(実際に使っていない方法は別ページにて説明しています)
(yyagiは、Git(ギット)クライアントとして SourceTree を使っています。また、開発用のIDEとして、Microsoft Visual Studio 2019 コミュニティ を使っています。)
なお、以下の説明に出てくるキャプチャ画像において、ライセンス認証前のWindows 10環境を使っています。 一連の動作確認を素のOS環境で実施するためだけのために、有償でOS環境を準備するのはもったいないので。 悪しからずご承知おきくださいませ。
DTXManiaの一部モジュール(NVorbis)で.NET Framework 3.5を使用しているため、これをインストールします。 Windows10の場合、以下のような操作となります。
DTXManiaの実行に必要なモジュールなので、既にインストール済みのはず・・・ですが、 もしまだインストールしていなかったならば、 DTXMania本体(バイナリ)をダウンロードしてzipを展開した時に入っている「DirectX Redist」フォルダに、ランタイムのインストーラが入っているので、これを実行してインストールしてください。
ソースコードの編集とデバッグのために、 Microsoft Visual Studio 2019 コミュニティ をダウンロードし、インストールします。
インストールにあたっては、以下の設定を行ってください。
注意: Visual Studio 2019の利用にあたっては、Microsoftアカウントが必要です。もしMicrosoftアカウントをお持ちでない場合は、 Visual Studio 2019の初回起動時にMicrosoftアカウントの作成を案内されますので、指示に従ってアカウントを作成してください。
これで、Visual Studio 2019が起動するようになります。
Visual Studio 2019を起動したら、先ほどSourceTreeを使ってダウンロードした、DTXManiaのソースコード(ソリューション)を開きます。
ここまでで、DTXManiaのソースコードを開くことができました。(DTXMania本体だけでなく、DTXCreatorやMidiInChecker2などのソースコードも含まれています)
ここまでの操作で、最新版のソースコードを取得することができました。次に、ソースコードをビルド(コンパイル)するための準備を行います。 (これは必ず実施してください。実施しないと、ビルド時にDLLファイルの生成に失敗したりします。)
また、同じように、「(中略) Documents\dtxmania\DTXMania\bin\Release\」のフォルダにも、RuntimeResourcesフォルダの中身をコピーしておいてください。
(注意: ソリューションプラットフォームをAnyCPUからx86やx64に変更した場合は、 それに対応するフォルダ...「(中略) Documents\dtxmania\DTXMania\bin\x86\Debug\」などにRuntimeResourcesのフォルダの中身をコピーする必要があります)
ここまでで、ソースコードをビルドする準備がすべて整いました。 それでは早速、実際にDTXManiaのソースコードをビルドしてみましょう。
ビルドが成功したら、いよいよデバッグ実行です!
ビルドが成功して、自分がビルドしたDTXManiaを起動することに成功したならば、 あとは自由にソースコードを改造してみましょう!!
2回目以降も、DTXMania.sln ファイルを開くことで、DTXManiaのソースコードをVisual Studio 2019で開くことができます。
SourceTreeで、「フェッチ」すれば、更新内容の確認ができます。「プル」をすれば、更新内容をダウンロードして適用することができます。
更新内容をダウンロードする際に、自分の修正と修正箇所が近い場合は、更新内容をうまくダウンロードできない(マージできない)場合があります。 そのあたりの詳細は、Gitの参考書を読んで勉強してみて下さい。
ちなみにyyagiは、「Gitが、おもしろいほどわかる基本の使い方33」という本を参考書にしています。(この本の中でもGitクライアントとしてSourceTreeを使っており、助かります)