※移植作業の途中です。

使い方。それ以上でもそれ以下でもありません。
バージョンアップにより仕様が変更される場合があります。予めご了承ください。
不明な点等あればTwitter(@kairera0467)にリプライするなりしてください。


内容は随時追加していきます。

知っておいたほうがいいこと

このシミュレータはDTXManiaをベースにして作成しています。
一部の処理はTJAPlayer2を参考にしています。
DTXManiaの知識がある人は、結構楽に扱えるような気がします。
あと同時にDTXManiaXG(Ver.K)もよろしくお願いします。

ソフトウェアのバージョンを確認する

タイトル画面右上に「KTT:J:A:*:2018******」と表示されています。
当日/翌日修正バージョンなどのマイナーアップデートによっては、ウィンドウに表示されているバージョンより正確です。
デバッグ版である場合、バージョンの右側に「DEBUG」と表示されます。リリース版にも関わらずこのような表記になっていた場合は対応しますので作者に連絡ください。

※デバッグ版の場合、一部開発用のログ表示が出る他、エラー落ちした時にどういった部分でエラーが起きたかが分からないためです。

曲を追加する

※以下は古いバージョンでの説明です。2019年6月22日現在の最新バージョンには適用されません。
TJAPlayer2 for.PC(仮)は元ソフトの都合上、1曲ごとに1つフォルダを作成する必要があります。
例:「<DTXManiaGR.exeがあるフォルダ>/太鼓/Daydream Cafe」
Ver2015040101現在、1曲のフォルダ構成は以下のようになっています。
 ○曲フォルダ
  ・tjaファイル
  ・音源ファイル
  ・動画ファイル(省略可能)
  ・背景画像ファイル(省略可能)

このフォルダをDTXManiaGR.exeと同じフォルダか、それより下の階層に設置することで1つの曲として認識されます。
Ver2015051000で起こっていたバグは、「COURSE」の記述が無い曲が読み込めないバグでした。現在修正済みです。
 ・ただしCOURSEの記述が無い場合はかんたんコースとして読み込まれるため、COURSEは必ず記述してください。

//----古いバージョンの説明ここまで----

●細かい使い方
・基本的には実行ファイルのフォルダ以下なら認識されますが、Config.iniにある「DTXPath=」の項目を編集することで、曲を認識するフォルダを変えることができます。

エラーが出る、または遊ぶことができない譜面

以下の項目に当てはまるtjaデータは遊ぶことができません。
・GAME:TAIKO以外の譜面
・対応していない命令が入っている譜面

以下の項目に当てはまる譜面では内部でエラーが発生します。これについては今後改善していく予定です。

・譜面分岐でいずれかのコースを記述していない(この場合玄人譜面が抜けている)
#BRANCHSTART p, 80, 81
#N
1010100010101000,
#M
1010102010101000,
以下のような命令の記述をするとエラーが出ます。
・命令とパラメータ記述の間にスペースを入れていない
<正>
 #SCROLL 1.0
<誤>
 #SCROLL1.0
処理内容の都合上、パラメータ抽出ができずにエラーを吐いてしまいます。

・パラメータが複数の場合、パラメータとデリミタ文字の間に余計な文字列を入れない
<正>
 #BRANCHSTART p, 50, 80
<誤>
 #BRANCHSTART p,50,80
これも処理内容の都合でエラーが出ます。

・十露盤2000などの強制分岐
記述方法によっては次郎と違う動きになります。(後々直します)
強制的に達人譜面にする場合は「p, 0, 0」ではなく「p, -1, -1」にしましょう。

・「COURSE:」で数字以外を指定している
ver2015081200現在、数字以外でのコース指定方法に対応していません。
お手数ですが、ご自身で数字に直していただければ。

・複素数スクロール形式で数値が正しく入力されていない
数値の最後に「i」がついていない場合エラーが発生します。今後のバージョンで対策していきます。

一応読み込めるけど推奨できない記述

譜面分岐でレベルごとに小節の長さが異なる

<例>
#N
1000100010001000,
#E
1000200010002000,
#M
1010200010102000,
1010200010102000,
この場合、普通&玄人譜面を基準にすると、達人譜面が1小節多くなります。
「達人譜面→別のレベル」になったら、後の譜面に1小節分のズレが生じます。

SoundTypeについて

Config画面のSystem→SoundTypeから音声再生のモードを変更することができます。
・DirectSound
従来の音声再生モードです。低いスペックのパソコンでも動かすことができますが、画面描画と音声再生のズレが他のモードに比べて大きいです。

・WASAPI(排他)
Windows Vista以降で使用できる音声再生モードです。
それなりのスペックを要求されますが、スペック次第では画面描画と音声再生のズレを小さくすることができます。
ただし、スペックが足りていない場合は音割れを起こすことがありますので、その場合はWASAPIBufferSizeの値を大きくしていくことで解消できます。

・ASIO
特殊な音声再生デバイス(サウンドボード)を用いる音声再生モードです。
音声再生デバイス次第では画面描画と音声再生のズレをかなり小さくすることができます。
※いわゆるUSB-DACと呼ばれるサウンドボードでは、まともに演奏ができないレベルで遅延が発生するのでご注意ください。

ヒント:WASAPI排他/ASIOの場合、TJAP2fPC以外のアプリケーションでの音声再生ができなくなります。これは「アプリケーション(TJAP2fPC)と再生デバイス(スピーカー)を直接繋げることによって、音声の遅延を少なくする」というWASAPI排他/ASIOの仕様ですので、解消することはできません。

操作

○タイトル画面
・カーソル上下 項目を選ぶ
・Enter 決定
・Esc 終了

○選曲画面
・カーソル左右 曲を選ぶ
・カーソル上下 難易度を選ぶ
・Enter 曲を決定する(「曲から選ぶ」モードの場合は難易度選択画面に移動する)
・Esc タイトル画面に戻る
・F2 簡易CONFIG画面
・F3 オートプレイ
・F4 ゲージモード変更(ver2018040100から)
・F5 完走!叩き切りまショー! スーパーハードモード(ゲームモード「完走!叩き切りまショー! 激辛」時のみ)
・F7 JUST HIDDEN(ver2018040100から)
・F8 MONOCHRO NOTES(ver2018040100から)
・F9 ZERO-SPEED(ver2018040100から)
・スペース ソートメニューを開く
・Shift&F1 設定画面に移動する

○ソートメニュー
・カーソル上下 項目を選ぶ
・Enter 項目を選ぶ(そのままもう一度Enterで昇順/降順を切り替える)
・Esc 閉じる

○演奏画面
・1~3(テンキーではない) 次回分岐時の分岐先を設定する。(押すと次回の分岐条件を無視します。)
・カーソル上下 HS変更
・Esc 演奏終了
・F1 ポーズメニュー
・F4 判定数表示
・F5 背景動画のウィンドウ表示(背景動画がONの場合)

○リザルト画面
・Enter 選曲画面に戻る
・Esc 選曲画面に戻る

○設定画面
・カーソル上下 項目を選ぶ
・Enter 決定(下に階層がある場合は下の階層に移動、オプションに複数選択肢があれば次の選択肢に変える、オプションが1ずつ変える数値の場合は上下で数値変更するモードに変わる)
・Esc 上の階層に移動、一番上の階層なら選曲/タイトル画面に移動

複数難易度の譜面を遊ぶ

旧筐体風の曲選択画面モードでは、カーソルキー上下で難易度の切り替えが可能です。
難易度を切り替える時にどれかのコースが抜けていた場合、以下のように動作します。
<例>
 ・かんたん、ふつう、おに しか無いtjaで、上キーを2回押した場合
  0→1→3
  で切り替わる。
起動時の難易度カーソル位置はConfig.iniの「DefaultCourse」から変更することが可能です。

新筐体風の曲選択画面モードでは、本家同様、曲を選択した後に難易度を切り替えることが可能です。
ただし、こちらの場合はEdit譜面を選択することができません。

背景動画の再生

このソフトの大きな特徴の1つである動画再生機能ですが、結構環境構築までが面倒です。
詳しい説明はこちらでご覧ください。

また、背景動画はコンフィグの「AVI」をONにすることで有効になります。

追記(16/2/7):OSDN.jpのDTXManiaプロジェクトページにリンク変更。

演奏記録の消去

譜面と同じフォルダにある「*.dtx.score.ini」を消すとその曲での記録を消去できます。

スコアキャッシュの消去

スコアなどの表示がおかしい場合、本体のフォルダ内にある「songs.db」と「songlist.db」を削除してください。
バージョンアップでsongs.db、songlist.dbに影響を及ぼす変更があった場合、いかなる理由があっても再度生成されることがあります。
スコアの表示がおかしくなる場合はファイルごと消すと幸せになれるかも。(消しても同じような現象が起こる場合は詳しい内容をIssuesに送ってください)

なお、このファイルを削除したことによることで演奏記録が消去されることはありません。

ゲージの仕様

太鼓の達人 譜面Wikiの「魂ゲージの伸び率」を参考にしました。
※ただし現在はおに譜面の計算方法だけしか実装されていません。かんたん~むずかしい譜面でもおに譜面と同じ伸び率の計算方法になります。
譜面分岐がある場合、各コースの伸び率を各コースのノート数から計算して、現在のコースに合わせて伸び率を変化させています。
<例>
・普通:2 玄人:1.8 達人:1.2
現在のコースが普通譜面の場合→伸び率は2
現在のコースが玄人譜面の場合→伸び率は1.8
現在のコースが達人譜面の場合→伸び率は1.2

判定の仕様

小音符は本家と大体同じです。
大音符の両手入力待ちの時間はConfig.iniに項目があります。(ACでは34ms、PS2では約50ms)
大音符を片手で叩いた場合のスコア半減はありません。
デフォルトでは両手判定打ち分けが有効になっていますが、CONFIGの「BigNotesJudge」から無効にすることができます。

風船音符は音符の14ms前から判定が開始されます。
連打音符のウェイトなど対応できてない部分があります。

キャラクター画像について

(ver2015081100から追加)
キャラクター画像を実装いたしました。コマ数などの制限が無く、新AC以降の動きにも対応可能です。
同期にズレが起こるので一応β版ということにさせてください。
※Ver2016092600現在、魂MAX、魂MAXゴーゴータイムのモーションが使えない不具合は、次回アップデートにて修正されます。

追加することができるモーションは以下のとおり。
・通常
・ゴーゴータイム
・クリア
・魂MAX
・魂MAXゴーゴータイム

Config.iniで色々な設定をすることができます。
「CharaMotionCount~」の項目を調整することで使用する画像の枚数を変更します。
「CharaMotionList~」コマの指定をします。(例:0,1,2,3,4,5)

画像の枚数は必ず正確な数値を入力してください。
1つでも間違っていると演奏できなくなるというデリケートな仕様なので、必ず正確な数値を入力するようお願いします。
(forループを使用しているため。そのうち自動で計算する仕様に変わるかもしれません。)

画像のファイル名は以下のようにします。○には数字を入れます。この数字はコマ指定で使います。
通常「Normal_○.png」
ゴーゴー「gogo_○.png」
クリア「Clear_○.png」
魂MAX「Max_○.png」
魂ゴーゴー「Max_gogo_○.png」
これらの画像を「Graphics/Chara」内に入れてください。

「CharaMotionCount」で0を指定した場合、以下のことが起こります。
「(無し)」「gogo」→何も起こらない。
「Clear」「Max」→モーションが通常のものに変わる
「Max_gogo」→モーションが通常のゴーゴータイムのものに変わる

以下の制約があります。
・ゴーゴータイム、クリアのモーションは2拍前提
・座標は固定(左上が0,0)
・ジャンプ、ミス時のモーションは未対応
・風船連打のキャラクターは1枚だけ(完全な対応の見通しが立っていないため、しばらくはこの仕様になります。)

曲順ソート

Googleスライド TJAP2fPCチュートリアル「曲ソート」

※ジャンル別ソート時のみ曲バーの色がジャンルごとにわかれます。

○後日対応予定のソート
・難易度順

ジャンル分類

●TJA側の拡張記述
 GENRE:

現在は以下のジャンルに対応しています。
・アニメ
・J-POP
・ゲームミュージック
・ナムコオリジナル
・クラシック
・バラエティ
・どうよう
・VOCALOID

このまま記述してください。「<例>GENRE:J-POP」

●本体側の設定
「曲順ソート」の項目をご覧ください。

コンボボイス

Ver2017012400からcsv形式で自由に追加できるようになりました。
太鼓さん次郎2のcsvと互換性がありますが、コンボ音声以外は未対応です。

追加ボイス

ファイル名
曲決定時の効果音 SongDecide.ogg
リザルトへのFIFO開始時の効果音 ResultIn.ogg

リフレッシュレート

最近流行りの120fps以上が出るモニターでも何も気にせず遊べます。

※G-Sync等は後日検証します...

選曲画面で他の楽曲に移動しても音が止まらない

以前読み込み処理をマルチスレッド化したことの副作用で、読み込み中の絶妙なタイミングで移動すると、読み込みが中断されずに別の読み込みが開始してしまいますorz
これについては一度Config画面に入って、そこから選曲画面に行くと正常な状態に戻ります。(※一度サウンドの初期化が走るため。)

ゴリラ向け演奏オプション

○ステルス
音符が一切見えなくなります。暗譜にどうぞ。
※設定方法:「STEALTH」オプションを「STEALTH」にする

○JUST
良判定以外が全て不可判定になります。元ネタはグルコスのJUST
※設定方法:CONFIG画面から「JUST」をONにする。

○JUST HIDDEN
音符が一定時間しか見えなくなります。元ネタはIIDXのHID+SUD(もっと言うとDBMの人のMENDES穴DBM動画)
TYPE-A:コンボが途切れない範囲
TYPE-B:良の範囲
TYPE-C:前後10ミリ秒

※設定方法:選曲画面でF7を押す
※ver2018040100以降のバージョンで対応しています。

○MONOCHRO NOTES
全ての音符の色が白黒風(色は全音符で統一)になります。元ネタはTGM3のご先祖様テトリミノ
※設定方法:選曲画面でF8を押す
※ver2018040100以降のバージョンで対応しています。

○ZERO-SPEED
スクロール速度が強制的に0になります。
見逃した時の挙動がヤバいことになりますが気にしないでください。

※設定方法:選曲画面でF9を押す
※ver2018040100以降のバージョンで対応しています。

(おまけ)ゲーム「完走!叩ききりまショー!」

演奏の上手さを色々な項目から査定して、演奏できる残り時間をつけていきます。
残り時間が0になると完走失敗となり、その時点で演奏が終了します。
元ネタはLIVE DAM(Premier DAM)の「完唱!歌いきりまショー!」

設定方法:CONFIG画面のDrums→GameMode

Type-A →通常
Type-B →激辛(ほぼフルコン前提)
Type-Bを選択した状態で選曲画面でF5キー → スーパーハード(全良前提かつFAST/SLOWの許容幅が狭い)

※KTT:J:A:G:2016040100以降のバージョンで対応しています。

開発者向けの内容です。普通に遊びたい人には関係のない項目です。
Git、VisualStudioの使用方法やインストール手順につきましては各自で調べてください。(調べることが開発者への第一歩です)

このソフトウェアは、プログラム言語にC#7.0、フレームワークに.NET Framework 4.5を使用しています。
そのため、OSはWindows7以降、コンパイラはVisualStudio 2017以降のバージョンを使用する必要があります。
(VisualStudio2017より前のバージョンだとコード記法の関係でビルドできません。)

筆者のビルド環境
・PC
OS:Windows10 Pro 64bit 1909 Build:18363.657
IDE:VisualStudio Community 2019
CPU:AMD Ryzen7 3700X 3.59GHz
RAM:16GB

・旧PC
OS:Windows7 HomePremium 64bit
IDE:VisualStudio Community 2017
CPU:AMD FX-6300 3.50GHz
RAM:12GB

・PC2(配信用PC)
OS:Windows10 Home
IDE:VisualStudio Community 2017
CPU:Core i5-8250U 1.60GHz-1.80GHz
RAM:8GB

ビルド手順

DTXMania Wikiにおおよその手順は書いてあります。ただし、この方法(VisualStudio単体でのGit使用)は私も使っていません。
ソースコードの取得とビルド手順(Git使用) - DTXMania Wiki

GitHubでチェックアウトする方法

GitHubでプロジェクトをチェックアウト(ソースコード一式のダウンロード)をするには以下の方法があります。
 1.Zipでダウンロードする(GitHubの機能)
 2.Gitクライアントを使用してチェックアウト

どちらの方法でもビルドは可能ですが、それぞれにメリット・デメリットがあります。
○1.Zipでダウンロード
・メリット
(ほとんど)何も考えずにチェックアウトが可能
・デメリット
リポジトリへのコミット(書き込み)ができない
プロジェクトに更新があった時に差分の適用が不便。
GitHub以外のGitサービスではZip形式でのダウンロードが提供されていないところもある

○2.Gitクライアントを使用してチェックアウト
※VisualStudioやTortoiseGitなどのGitクライアントを使用してチェックアウトを行う方法とします
・メリット
リポジトリへのコミット、プルが可能
プロジェクトに更新があった時も簡単な操作で差分の適用できる
ZipでのダウンロードができないタイプのGitリポジトリサービスでも簡単にチェックアウトができる
・デメリット
構築までが少し面倒で知識が必要(でもこれくらいの知識が無ければビルドすらたどり着けないと思います)

ワンポイントアドバイス
・自分のアカウントでforkしたものでなければSSHでのチェックアウトはできません。「Use HTTPS」でチェックアウト用のURLを切り替えましょう。

その他知識

・ビルド時にFDK.dllの移動で怒られる場合、「bin/x86/Debug/」内に「dll」というフォルダを作っているかを確認してください。
・PCユーザー名に全角文字列を使用するのは非推奨です。(なのにそれを推奨するような仕様のOSを作るMicrosoftニキ勘弁して)
 ・もしOSのセットアップ時にMicrosoftアカウントを使ってしまった...という方は頑張って半角文字のユーザー名にしてください...
・DTXManiaのビルド手順見とけばなんとかなります。(これマジで重要)