真・解析の手引き

  • 2017年2月に全て動作確認済み。
  • 記事の訂正、もしくは誤植の報告歓迎。
  • Param編集のノウハウは別記事にでup予定です。


2017/7/18の本体更新について

本体バージョン5.5.2Jへのアップデートで、WiiU本体のハックが対策されました。
  • ゲームファイルを吸い出す
  • ゲームにModファイルを読み込ませる
ために5.5.1で動かしていたKernelExploitが通用しなくなっています。
PC上で動かすSmashCommandなどのツールは使えます

既に5.5.2Jに更新していてかつHaxchiを導入していない場合、Modファイルを使うことは不可能です。
対応するのを気長に待ちましょう。

以下は5.5.1の人向けの対策になります。

<対策その1>
本体更新を止めてしまう。
DNS設定で任天堂からのアクセスをブロックするというもの。
ハックのために既に設定している人も多いかも。
更新しなくてもオンライン対戦はできるとのことですが、いくつかのサービス(e-shopなど?)が使えなくなります。
使えなくなるサービスについてはNNU Patcherなどで無理矢理対応可能。
いくつか方法があります↓
http://gamegaz.com/tag/opendns/
http://sumamate.com/diary/2496/

<対策その2>
Haxchi を導入する。
※バーチャルコンソールの特定のDSソフトを購入する必要があります。
DSソフトを媒介とし、オフラインでModを起動させるツールです。
こちらは5.5.2Jでも動作するようです。
手順はこちら(英語)
http://gamebanana.com/tuts/12402



解析環境が必要かの見極め

解析に触れてみたいけど大変なのはちょっと…と迷っている人向けに、解析値を調べられるサイトを紹介します。基本的には、 数値を見るだけならツールがなくても大丈夫 です。検証wiki内にも解析のページはありますし、まずは色々探してみましょう。

キャラのパラメータ、ステージ形状
検証wikiメニュー:全キャラステータス、ステージ などから。

技データ
リンク: KuroganeHammer
発生/全体F・ダメージ・角度・リアクション値が。ステータスもまとまっています。

動作フレーム関連
リンク: システム系フレームまとめ
ゲガン氏のシステム系フレームまとめ。解析値では見つかっていないor探しづらいデータが山ほどあるので、解析が進んだ今でなお重宝します。

技のスクリプト
リンク: Script viewer
Ruben氏が2017年1月に作成。ver1.1.6。検証wikiのDLリンクにある「技解析値」と同じ内容。XYZ-offsetやGround/Airなど、技の攻撃情報を全て調べられる。
ver1.1.1までは MasterCore にデータがある。

システム関連の数値
リンク: Sm4sh params fighter_param_vl
これらはMeshima氏がまとめている。



導入にあたって

  • 解析データを編集して実機で検証したい
  • ステージ解析ツールをPCで動かしたい
  • 判定可視化ツールを(同上)
  • 過去のパッチのデータを詳しく調べたい
という場合には解析環境を整備する必要が出てきます。
用意するものは
  • SDカード(容量2GBのカードで動作確認済)
  • ネット接続環境
  • そこそこのPCの知識、ない場合は調べる根気

大雑把な流れは以下のようになります。
  1. スマブラディスク内の必要なファイル(dt00,dt01,ls)を、WiiU Title Dumperでパソコンに吸い出す
    • まずここで1回ハックが必要。
    • 吸い出したファイルはパッチ解凍時に補助的に使う。
  2. UWizardで任天堂のサーバーにあるスマブラのパッチファイルをDL
    • 読みたい解析データは基本的に全部アプデのパッチファイル内にある。
    • WiiU版1.0.2から最新版まで、全てのパッチがダウンロード可能。3DS版はよく知らない。
  3. Sm4shExplorerでパッチファイル解凍
    • ここまでの作業は1回やってしまえばOK。
  4. Sm4shCommandやPARAMで解凍したファイルを閲覧&編集
    • 最新版Sm4shExplorer0.07.1にはPARAMが内蔵されている。
    • 判定可視化、ステージ解析もこのステップで可能。
  5. Sm4shExplorerで編集したファイルをコンパイルし、SDカードにコピー
  6. ソフト起動時にSDのデータをSDCafiineで読み込ませる
    • ここで改めてハックが必要。
    • WiiUを起動するたび、新たに編集データを読み込むたびにネットに繋いでkernel exploitを再度有効にしなければならない。
※注意
以下このページでは、WiiU本体のハックに関する内容を具体的に扱います。
記載内容を実行した際にいかなる損害が発生しても、こちらでは対処致しかねます。
また、ハックをした状態でオンライン対戦を行うとフリーズ等の不具合が出る可能性が高いです。
他人に迷惑をかけない範囲で、自己責任で作業を行うようにしてください。

なお、このページでは検証目的のツールを導入することのみを目標としています。ミュージックハックやステージハック、キャラのテクスチャ読み込みが目的の方は自力で調べてみてください。

紹介するのはWindowsでの手順になります。
他のOSでも可能だと思いますので、適宜読み替えながら進めてください。


WiiU Title Dumper

通称「DDD」。WiiUのディスクを吸い出すためのソフト。
Homebrew Lancherというシステム(?)から起動する。
DLファイルはDDDとHomebrew Lancherがセットになっている。
ディスク版では確認済みだが、ダウンロード版でも可能なはず。報告求む。

<手順>
⓪ WiiU・PCともに無線接続の場合、利用するSSIDを同一の物にしておく。
WiiU有線・PC無線では特に気にしなくてよい。無線-有線、有線-有線の組み合わせは未確認。
PCに15GB程度の空き容量があることも確認する。
DDDに限らないが、WiiUのバージョンが上がるとハックが出来なくなるため、本体の自動更新を止めておくのが安全策であった。やり方は こちら を参照。2017年2月時点でWiiU本体は生産終了しているのでもう心配いらないと思うが… なお自動更新をルーターからブロックすると任天堂サーバーとのアクセスが遮断されてしまうため、UwizardでのDLができなくなる(だったはず)。

① ddd.v0.3.zipを解凍してできたファイルをSDカードにそのままコピーする。
「SD:/wiiu/apps/dddとhomebrew_launcher/…」のような階層で配置する。
コピーできたらSDカードをWiiUに挿す。

② WiiUのブラウザから「 http://wj44.ml/ 」にアクセスする。
このサイトで失敗した場合、「https://4uxaz4wowmx7czgt.onion.to/wiiu/」や他のサイトでも代替可能。

"0x10000000"の文字列を含むリンク をクリック。画像の青枠。
下のような画面が数秒出た後、WiiUホームメニューが自動で起動する。

④ 再びブラウザを開き、「http://wj44.ml/」にアクセス。
今度は''Kernel Examples…'' → ''Homebrew Lancher'' とクリックする。
成功すればHBLが起動する。

⑤ PC上の作業に移る。
titledumper.win32.v0.4.zipを解凍してできたファイル(titledumper.exeが入っている)を適当な場所に配置する。
Windowsのコマンドプロンプトを起動し、カレントディレクトリをtitledumper.exeがあるフォルダにする。
「titledumper.exe /vol "吸出し先フォルダのパス"」のようにコマンドを入力してEnter。
Waiting for WiiU connection... と表示されればOK。
  • コマンドプロンプト(cmd)は、ファイル名を指定して実行 → 「cmd」と入力すると起動できる。
  • カレントディレクトリとは、cmdが現在参照している場所のこと。「cd titledumper.exeのフォルダパス」と入力すればよい。フォルダパスをタイプするのが面倒な場合は、フォルダをcmd上にドラッグ&ドロップすると入力できる。

↓ここまでの作業を終えたコマンドプロンプトの画面。
ここでの吸出し先フォルダは「C:/WiiU/」。ドライブ・フォルダ名は何でもよい。

⑥ WiiUのHBLメニューに戻り、DDDを起動&Load。
下の画面で PCのIPアドレス を入力し、Xボタンを押してWiiUメニューに戻る。
  • PCのIPアドレスは、cmdで「ipconfig」と打つと調べられる。IPv4アドレスとかいうのがそれ。

⑦ WiiUメニューからスマブラを起動。
WiiUがタイトル画面で止まり、コマンドプロンプトの表示が↓のようになれば成功。数時間待つべし。
吸出しが終了するとスマブラが普通に起動する。

⑧ 吸い出したファイルの確認。先程の例ならば、
C:/WiiU /vol /content /… のようにフォルダが展開される。content以下には
  • movie(フォルダ)
  • patch(フォルダ)
  • sound(フォルダ)
  • dt00(ファイル)
  • dt01(ファイル)
  • ls(ファイル)
とファイルが並んでいるはず。解析で使うのはdt00、dt01、lsの3つ。
dt00、dt01にはDLC以外のキャラのアニメーションが記録されている。
lsの役割はよく分からないが、これがないとSm4sh Explorerが他のファイルを認識してくれない。



Uwizard

DL:https://drive.google.com/file/d/0B9ETxoIujjPFLTJOY2pIZ3RfRms/view
ダメなら↓のページからDLリンクを辿る。
開発者:https://gbatemp.net/threads/uwizard-all-in-one-wii-u-pc-program.386508/
チュートリアル:
後述のSm4sh Explorerの章に、UwizardとExplorerをセットで解説した動画もあるので参考に。

任天堂のサーバーからアップデートのパッチをダウンロードするソフト。

<手順>
① Uwizardを起動する。
Settingタブに移動し、WiiU Common Keyを入力する。
若干グレーな側面があること、本体更新の度に変更されることから、最新の有効なキーは自力で調べていただきたい。どうしても見つからない場合は管理人に問い合わせてください。


② NUS Downloader Uタブに移動する。
Title IDとVersionを入力し、「Decrypt Contents」にチェックを入れる。

日本版スマブラのIDは 0005000E10110E00
海外版や他のソフトのIDは↓で調べられる。
http://wiiubrew.org/wiki/Title_database#0005000E:_eShop_title_updates

+ version対応表

③ Start Download でダウンロード開始。versionにもよるが1時間くらい?待つべし。
完了すると、
Uwizard>nus_content>0005000E10110E00>288
のようにフォルダができている。



Sm4sh Explorer(準備編)


⓪ UwizardでDLしたファイル群の「contents」フォルダ内に、吸い出したdt00、dt01、lsの3ファイルをコピーする。

① Sm4sh Explorerを起動。初回起動時は”Create project”というダイアログボックスが出て、ソフトが参照するフォルダを設定するよう促される。OKをクリックし、先ほどの288フォルダを指定する。上手くいっていれば↓のような小さいボックスが出てくるが無視し(タスクマネージャーから終了しても可)、再度ソフトを起動する。
上記の作業でsm4shexplorerフォルダ内に「sm4shmod.xml」というファイルが生成され、次回以降は自動で設定を読み込んでくれる。参照するフォルダ(version)を変えたい場合は、sm4shmod.xmlを削除して再度フォルダを指定し直せばよい。
上手くいかない場合は
  • 指定したファイルが間違っていないか
  • dt00,dt01,lsは所定の場所にコピーしてあるか
などを確認されたし。

② ファイルを解凍し、他のツールでも閲覧できる状態にする。
画面中央のフォルダツリーから解凍したいファイルを右クリックし、Extractを選択する。
解凍が終わると、ソフトのフォルダ内に extract > data,data(jp_jp) のようにフォルダが作成され、中に解凍されたファイルが入っている。

解凍したファイルはSm4sh Commandなど専用のツールで開く。



Sm4sh Command


技スクリプトを閲覧・編集するソフト。使い勝手が違うので、2つのバージョン両方をDLするのがオススメ。違いは、

v1.2.5
安定版。技スクリプトを見るだけの場合や、game.binを手軽に編集するならこっち。

Nightly Build
最新版。コピー&ペーストに対応しているのが最大のメリットだが、
  • Effect.binタブが最初にアクティブになる
  • 開いている技タブを全て閉じてからでないと保存が有効にならない
と使い辛い面も目立つ。判定可視化などのヘビーな編集をするときに、v1.2.5でgame.binを見ながら使用するのがよい。

開く(Fighter)
ファイルの開き方は2種類ある。こちらは工程2のおかげでWorkspaceに技名が表示されるようになること、effectなどもまとめて開けるのがメリットだが、一部表示できないスクリプトが出てくるのが難点。
  1. 「File>Open>Fighter」と進み、「body」フォルダを選択する。
    • 場所はSm4shExplorerで解凍したフォルダの「data>fighter>(キャラ名)>script>animcmd>body」。
  2. 「View(Nightly版ではTools)>Parse Animation」で、「motion」フォルダを選択する。
    • 場所は同フォルダの「data>fighter>(キャラ名)>motion」。

開く(File)
全てのスクリプトを表示できる。並びは番号順、技名表示なし。
  1. 「Fileタブ>Open>File」と進み、bodyフォルダ内の「game.bin」を選択する。
    • 攻撃情報を開きたい場合。effect、expression、soundも開ける。

編集・保存
テキストエディタの要領で普通に編集する。
文法に沿ってさえいれば、全く新しい行を追加することもできる。
File> SaveまたはSave asで保存。(Nightly版はタブを全て閉じてから)
Saveだと解凍した元のファイルが書き換わってしまうので、あらかじめフォルダを作っておいてSave asで保存することを推奨。

保存したファイルはSm4sh Explorer上の所定の場所にドラッグ&ドロップすることで実機に読み込ませるModファイルとなる。


また、File>Dump as textでスクリプトをテキストファイルに書き出せる。




Sm4sh Explorer(編集・保存・WiiU読込編)

編集

検証で作成するModファイルは、主にdata>fighterおよびdata(jp_jp)>paramを編集したものとなる。
前者は上記のSm4sh Commandで予め編集しておき、Sm4sh Explorer上でファイルの置換操作を行う。
後者はSm4sh Explorer上で直接編集できる。

実機ではdataフォルダを読み込んだ後、data(jp_jp)フォルダ内に同名フォルダがあればそれが上書きされる仕組みである。例えばparamフォルダはdata(jp_jp)内に存在するため、キャラステータス系のパラメータをいじったファイルはdata(jp_jp)に適用しないと実機に反映されない。


fighter書き換え
Sm4sh Commandで保存したファイルはこちらでModファイルに組み込む。
Sm4sh Explorer 上でdata>fighter>(キャラ名)>script>animcmd>bodyまで展開し、Sm4sh Commandで保存したファイルを 同名ファイルがあるフォルダへドラッグ&ドロップ する。置き換えたファイル、およびそれを含む上層のフォルダの色が黒/青から緑に変化すればOK。
コンパイルが遅くなるので、置き換えるのは編集したファイルだけで十分。

↓ドンキーのgame.binを置き換えた状態。攻撃情報だけならeffect.binなどを書き換える必要はない。


Param編集
ver0.07.1以降のSm4sh Explorer に組み込まれているツール:PARAM.exeの編集機能を使う。
data(jp_jp)>Paramフォルダのパラメータは基本的にこれで編集する。
  1. 編集したいファイルをダブルクリック。
  2. Groupと番号(Name)を選んで編集し、File>Saveで上書き保する。
  3. 「File modified」というウィンドウが出てくるので、はいを選択すると次に作るModファイルに変更が適用される。
またSammiHusky氏がリリースしているソフト「Parameters.exe」で編集し、下のfighter書き換えのようにドラッグ&ドロップしても書き換え可能。

Modから除外
緑色になっているフォルダ/ファイルを右クリックして「Remove mod files」を選択すると、そのフォルダ以下の置き換えられているファイルが全てModファイルから除外される。 一度置換したファイルはソフトを再起動しても残り続ける ため、数値をリセットするのに使う。
コンパイルを軽くするため、また編集したファイルを見分けやすくするため、不必要なファイルはRemoveしておくとよい。


Modファイル作成&WiiUでロード

⓪ SDカードの一番上の階層に「 0005000010110E00 」という名前のフォルダを作成しておく。

① Project>Build the modをクリック。ウィンドウが出るので「OK」をクリックしてModファイルをコンパイルする。
2回目以降は上書きするか?というウィンドウも出るが、構わず「はい」。

②  Sm4sh Explorerフォルダ>export>release>content内に「Patch」フォルダが生成される。
これをSDカードの0005…フォルダにコピーする。
2回目以降でSDカード内に既にModファイルがある場合、コンパイル後に「Do you want to copy the newly exported mod to SD?」と表示される。はいを選択すると、ソフトが自動で完成したModファイルをSDカードに上書きコピーしてくれる。

③ WiiU本体にSDカードを挿し、
  1. ブラウザから「 http://wj44.ml/ 」にアクセス(1回目)
  2. ”0x31000000”の文字列を含むリンク をクリック。自動でホームメニューに戻る
  3. 再び同サイトにアクセス(2回目)
  4. 「Kernel Examples」 → 「SDCafiine」とクリック
  5. IPアドレスを入力する黒い画面が出る。PCにデータを送れるようだが、特に用がなければ適当にAボタン。
  6. WiiUメニューに戻ってスマブラを起動。変更が適用されていれば成功。


Modファイル運用時に気を付けること

  • 大乱闘モードでリザルト画面に進むとフリーズする。
  • WiiUの電源を切らないとModファイル適用状態が解除されない。ソフトを終了したりユーザーを変えたりしてもダメ。
  • Modファイルの中身次第だが、プレイ中やステージ選択後の読み込み画面などでフリーズすることも時々ある。



LVD Editor

DL:https://www.dropbox.com/s/4b9slbvdw4ck8mc/Level%20editor.7z?dl=1
開発者:https://gbatemp.net/threads/release-smash-4-easy-stage-editor.431409/
ステージのパラメータを閲覧・編集できるソフト。
前もってSm4sh Explorerでdata>stageフォルダを解凍しておくこと。
data>stage以下の構造は
  • end(終点化)
  • final(切り札)
  • melee(通常)
  • other(ホムコンなど特殊ステージ)
    • 各ステージフォルダ
      • paramなど
あまり使い込んでいないソフトなので紹介した以外にもたくさん機能があると思われます。

<手順>
① PCにPythonをインストールする。
Pythonプログラミング言語の1つだが、ソフトを起動するのに必要なだけで扱える必要はない。

② LVD-Editor.pywを起動する。
「LVD-Editor.pyw」と同じ階層にステージのフォルダが1つだけある場合は自動でエディタが起動する。
そうでない場合は 各ステージフォルダ>param内にあるlvdファイルを指定する。

③ 画面1
カメラ位置の調整などが可能。「Open in LVD Editor」で画面2が開く。

④ 画面2
ステージモデルの概形とステージのパラメータが見られる。
  • Vertices:ステージを構成する点の座標
  • Lines:ステージを構成する線の座標
  • Boundaries:カメラ範囲とバーストライン
  • Spawns:復活台の位置。最大8か所
  • Extra:アイク、オリマー、ネスの切り札の場所関連



Smash Forge


PC上でモーション分析・判定可視化できるソフト。
他のソフトに比べ頻繁に最新版が上がるので定期的にチェックすることをお勧めする。


<手順>
~簡易版~
  1. File>open character から、fighter>(キャラ名) のフォルダを指定するだけ。
  2. 食らい判定も可視化する場合は、parameters>openで、param>>fighter>fighter_param_vl_(キャラ名).binを選択する。

デフォルトカラー以外を表示したいとき、特殊なキャラ(ピクミンなど)を開くときは以下のようにする。
  1. File>Openから、fighter>(キャラ名)>model>body>c0X>model.nudを開く。
    • キャラのT字ポーズのモデルを読み込む。
    • c0Xはカラー。
  2. Animation>Importから、(キャラ名)>motion>body>main.pacを開く。
    • 技などのモーションを読み込む。
  3. Moveset>Importから、(キャラ名)>script>animcmd>body>motion.mtableを開く。
    • 技のスクリプトが読み込まれ、判定が赤丸で表示されるようになる。

多すぎる機能のうち、使い方が分かるものを解説。
ステージも読み込めると思われるが使ったことがないので省略。

画面中央
マウス:拡大縮小、移動、回転が可能。
Speed:1秒に送るアニメーションのコマ数。デフォルトは60。
Play:アニメーション再生/停止。左右の矢印ボタンでコマ送り。
Reset Camera:カメラ位置リセット。

画面右
ACMDPreviewEditor:技スクリプト表示。
HitboxSize等を編集し、下に表示されるCompileボタンを押すとその場で判定の大きさを変えられる。
Animations:再生するモーションの選択。
MeshList:キャラモデルの表示パーツを制御できる。武器の有無、目や口のパーツを変更可能。

画面左
Bone Tree:Bone番号とモデル上の位置を確認できる。

画面上メニュー
View>Render Settings:各種表示設定。モデル、骨格などの表示の有無の切り替え。

詳しい使い方

本当て・カス当てに応じてHitboxの色を自動で塗り分ける機能が搭載されている。
色はHitboxの吹っ飛びで決められているので、色を変えたいときはACMDPreviewEditorでBKBの値を編集&compileするとよい。

何度読み込み直しても判定が表示されないときは
  • Hitboxの種類を変える;hitbox→Extended_Hitboxとか
  • 判定のIDを変える
と上手くいくことがある。

実機上のキャラクターのサイズは、キャラモデルにキャラサイズ倍率を掛けたものである(Hitboxには掛からない)。一方Smash Forgeでは倍率がかからないので、そのままでは判定の大きさに対するキャラクターのサイズが少しずれてしまう。大体は1に近いので問題ないが、正確に表示したい場合はHitboxSizeやXYZを「1/キャラサイズ倍率」倍にしてやるとよい。

+ キャラサイズ倍率



コメント

※質問する場合は 管理人Twitter の方が早く返信できます。
こちらは動作報告やツールのバージョン更新通知などに使ってください。
  • キャラのサウンドデータをSmash Forgeで取り込もうとしても取り込めない…何か策が必要なのでしょうか? -- 名無しさん (2017-04-21 23:24:00)
  • 音を出そうと思ったことがないので分かりかねます… 開発者のサイトに誰かが書き込んでいるかもしれません。 -- DRAFIX/管理人 (2017-04-25 22:13:36)
名前:
コメント: