« オオカマキリ 孵化 | トップページ | wiiトワイライト・ハック(23)WADを自作【2】 »

2009年5月 7日 (木)

wiiトワイライト・ハック(22)WADを自作


色々なhomebrewが開発され、dol ファイルが手に入ると、
それをチャンネル化したいという気持ちがわいてくる。

「チャンネル化 = WAD化する」というだけであれば、
既存のWADファイルの中の dol を Injector や unpack/pack で置き換えることでできないこともないのだが、
チャンネルとしての見た目が、元にしたWADのままになってしまうのが非常にイマイチ。

やはり自分で用意した画像で見た目をいじりたい。

自作のWAD作成ツールとして有名なのが IceFireの WADder であるが、
うちの環境では最後まで行くことなく途中で止まってしまうため、使い物にならなかった。


色々調べて、ようやく WAD の作成方法がわかったので、メモ。

基本は、元となる WAD ファイルを用意して、プログラムと見た目を入れ替える、という方法。
ゼロから作る、というわけではない。


  ●考え方
    WAD
      00000000.app
        banner.bin
          MenuScreen1.tpl ←用意した画像(590x332)で置き換え
        icon.bin
          IconImage.tpl ←用意した画像(128x96)で置き換え
          LogoChan.tpl ←用意した画像(112x32)で置き換え
        sound.bin ←今回はいじらない
      00000001.app ←用意したdolで置き換え


■注意

不完全(不正)なWADのインストール・実行は、最悪 Wii を再起不能にしてしまうとのこと。

自信のない人、必要のない人、自分のやることに責任の持てない人は以下を試さないことをお勧めする。


■準備

 ・実行させる dol ファイル
 ・土台にする wad ファイル
 ・590x332画像 バナー用
 ・128x96 画像 アイコン用
 ・112x32 画像 ロゴ用
  ※画像のサイズ間違いなどは特に危険らしい。慎重に。

今回はサンプルとして、 QUIT.WAD を元に、適当な画像を使った FTPii Forwarder チャンネル を作成してみる。

 ファイル一式 →

  解凍すると、tools/ と samples/ の2つのフォルダができる。
   tools/ → 必要ファイル一式
   samples/ → サンプルのwad, dol, 画像ファイル

  ちなみに
  QUIT.wad とは、「DVDをイジェクトして電源を切る」だけのプログラムである。
  dol_forwarder_ftpii.dol は、SDの /apps/ftpii/boot.dol を起動するもの。
  画像ファイル (JPG, GIF) は適当。


■手順

(1)WAD の分解

 用意した WADファイルを in.wad にリネームし、tools/ フォルダにコピー。
 WAD Unpacker.bat を実行。
 新しい名前のフォルダ(0001000151554954/ など)が作られ
 その中に unpack されたファイル(00000000.app など)が作成される(はず)。

  
(2)00000000.app の分解

 u8extr.exe を起動、“Fichero”(File)から 00000000.app を指定。
 "Extraer" (Extract) 実行。
 00000000_app_out フォルダが作られる。
  banner.bin
  icon.bin
  sound.bin
 の3つが抽出される(はず)。


(3)banner.bin / icon.bin の分解

 再度 u8extr.exe にて、00000000_app_out フォルダ内の banner.bin を指定し、"Extraer" 実行。
 00000000_app_out フォルダ内に banner_bin_out フォルダが作られる。
  anim/banner.brlan
  blyt/banner.brlyt
  timg/MenuScreen1.tpl ★
  timg/ZlphaahplA.tpl
 の4つが抽出される(はず)。

 同様に、icon.bin を指定して "Extraer" 実行。
 00000000_app_out フォルダ内に icon_bin_out フォルダが作られる。
  anim/icon.brlan
  blyt/icon.brlyt
  timg/Back01.tpl
  timg/IconImage.tpl ★
  timg/LogoChan.tpl ★
 の5つが抽出される(はず)。

 用意したWADで u8extr での分解がエラーになる場合は、別のWADで試してみる。


(4)置き換え!

 ・実行ファイルの置き換え
  用意した dol ファイルを 00000001.app にリネームし、
  分解して得られた 00000001.app に上書きコピー。

 ・バナーの置き換え
  tplconv.exe 起動。
  "Leer Imagen" (Read Image) にて用意した 590x332 な画像を指定。
  "Guardar TPL" (Save TPL) にて banner_bin_out/timg/MenuScreen1.tpl に上書きセーブ
   ※一旦 tplconv を終了、再度起動し、
    "Leer TPL" で MenuScreen1.tpl を読み込んで、指定した画像が出るか確認してみる。

 ・アイコンの置き換え
  tplconv.exe 起動。
  "Leer Imagen" (Read Image) にて用意した 128x96 な画像を指定。
  "Guardar TPL" (Save TPL) にて icon_bin_out/timg/IconImage.tpl に上書きセーブ

 ・ロゴの置き換え
  同様に、用意した 112x32 画像にて、icon_bin_out/timg/LogoChan.tpl を置き換え。


(5)書き戻し1 (banner.bin , icon.bin)

 u8pack.exe 起動。
 "Abrir archivo" にて、00000000_app_out/banner.bin ファイルを開く。
 MenuScreen1.tpl をハイライトしておき “A dir archivo” (Add File)
 上記で上書きセーブしたMenuScreen1.tpl を選び、「はい」
 "Tipo de U8" (U8 Type) の下で、
 "Archivo U8 firmado con MD5" (U8 file signed with MD5) を選ぶ。
 “Crear archivo” (Create Archive) をクリック、
 00000000_app_out/banner.bin を上書き。

  これで、banner.bin の中の MenuScreen1.tpl(バナー)が置き換わった。

 同様に u8pack.exe にて
 00000000_app_out/icon.bin ファイルを開き、
 IconImage.tpl を icon_bin_out/timg/IconImage.tpl にて、
 LogoChan.tpl を icon_bin_out/timg/LogoChan.tpl にてそれぞれ置き換えて、
 "Tipo de U8" (U8 Type) の下で、
 "Archivo U8 firmado con MD5" (U8 file signed with MD5) を選ぶ。
 “Crear archivo” (Create Archive) をクリック、
 00000000_app_out/icon.bin を上書き。

  これで、icon.bin の中のアイコン、ロゴが置き換わった。


(6)書き戻し2 (00000000.app)

 再び u8pack.exe にて。
 00000000.app ファイルを開き、
 banner.bin を 00000000_app_out/banner.bin で置き換え。
 icon.bin を同様に 00000000_app_out/icon.bin で置き換える。

 "Tipo de U8" (U8 Type) の下で、
 "Archivo U8 con Banner Info con MD5"(U8 file with Banner and with MD5)を選ぶ。
  ※画面が右側に広がる
 右に現れた "Nombre canal” (Channel Name) にて
 適当にチャンネル名をつける。英語が無難か。
 Hash MD5 には触らない。
 "Crear archivo" (Create Archive) をクリック、
 00000000.app を上書き。

  これで、00000000.app の バナー、アイコン、ロゴが置き換わった。


(7)書き戻し3 (→ out.wad)

 最初に unpack したファイル(00000000.app 他)をすべて tools/ 以下にコピー。
 Wad Packer.bat 実行。
 out.wad が作られる。


(8)ID の付け直し

 このままでも動くのだが、元にしたWADのIDのままになっているので直す。
  ※ 直さないと、元にしたWADとの共存が不可。

 out.wad を VC/ フォルダにコピー。
 vc.bat 起動。
 region の入力待ちになるので 0 を入力(日本)。
  ※もしくは、 3 (region free) でも OK
 ID の入力待ちになるので、「あるべきID」もしくは「他と競合しないID」4文字を入力。
  今回の例では元のWADのID "QUIT" が表示されている。
  FTPii のIDは "FTPI" と協定されている?気配があるのでそれを入力。
   参考:http://www.elotrolado.net/hilo_wadder-crea-el-banner-de-tus-wads-y-mas_1152469_s50
  他のチャンネルとぶつからないIDを自分で管理できれば適当な4文字でOK。
 title.wad が作られる。


ファイル名をリネーム(My_FTPii_Forwarder_FTPI.wad など)、SDに入れて
WAD Installer にてインストールし、どきどきしながら起動してみる。


無事起動できれば完了。


■その他

今回のツールはスペイン語なのでちょっとわかりにくい。
tools/(en)/ フォルダに、バイナリを無理やり書き換えて(一部)英語化したファイルを置いておいた。


次回は、sound.bin をいじる予定。


|

« オオカマキリ 孵化 | トップページ | wiiトワイライト・ハック(23)WADを自作【2】 »

ゲーム(Wii)」カテゴリの記事

コメント

waderが止まるのは自分だけじゃなかったのか・・
これだけDOLが出てくるのですからWAD化ソフトがもっとあっても
良い様な気がして居ますが、現実は厳しいですね
実際私のような雑魚が扱えるのはWadアップデーターくらいかなぁ

投稿: 人海 | 2009年5月 7日 (木) 03時38分

人海さんこんばんは。

WADDerが動かない、というのは海外のforumでもよく見かけます。
もともとはその対策を探していたんですが、
その過程でそもそも WADDerを作り始めたころの記事を見つけて、今回の情報が得られました。
なので、WADDerがやっているのもこの手順の自動化、のはず。

結局なぜWADDerが動かないのかはわからずじまいですが (^_^;

投稿: とんとん | 2009年5月 7日 (木) 22時31分

こんばんは。手動版WADderですね。
1つ1つやるのは結構楽しめました^^

サウンド共に問題なく導入しましたが
若干エラーが出ました。

wiiチャンネル画面で作成wadを開いて
(ここで言う590x332画像部分です)
左右にある三角(ポイントしたら+-ボタン)を
クリックして次のチャンネルに移動すると

「システムファイルが壊れています・・・」の
ブラック画面になります^^;

予想では元のwadが駄目だったのかな?と思えますが
こんな症状もあるよ!と報告までに書き込みです。

管理人様の所は如何でしょうか?

・やっぱりwad関連は危険なので本体が壊れても
仕方ない!!て方だけ試した方が良いと思います。

投稿: 郁斗 | 2009年5月 8日 (金) 19時24分

可能であればとんとんさん版WadMakerが欲しいです
前から気になってたのですがWADは何かの略称でしょうか

投稿: 人海 | 2009年5月 8日 (金) 23時00分

郁斗さん

こんにちは。システムファイルが壊れています、ですか(@_o;
うちでも言われた操作を行ってみましたが、大丈夫でした。
別の原因かも?

私もちょっと怖いミスをしてしまったことがあります。
jpegのサイズ違いは危険、とか自分で書いておきながら、
590x332画像を指定すべきところで128x96画像を指定してしまったりしましたが
画面は崩れたもののWiiは壊れませんでした。ほっ

投稿: とんとん | 2009年5月 9日 (土) 10時20分

人海さん

こんにちは。
とんとん版WAD Maker、考えないでもないのですが、
GUIアプリ複数を使う今の形式だと難しいです。。。
コマンドラインで実行できる同機能アプリがあるといいのですが。
やるとするとGUIを起動して擬似キー入力を送り込むという、
WADDerがやっているのとおなじことをやるしかなさげです。

あと、WAD や dol が何かの略称なのか
私も知りたいです :)

投稿: とんとん | 2009年5月 9日 (土) 10時22分

はじめまして。Forwarder簡易ツール、wad作成ツールありがたく使わせていただいています。

同梱してくださっている英語版を使ってみたのですが、3つとも解説と違ってる表記になっているのはDLできるのとバージョンが違うのでしょうか?
例えば、解説では(U8 file with Banner and with MD5)となっているのが、(Archivo U8 with anner Info con MD5)や、Save TPLが、Write TPLとなっています。
もし新しいバージョンがあるならDLさせていただけるとありがたいです。

別件も一応ご報告しておきます。
簡易Forwarderツールでdolを作成してwad化していろいろ入れてみたんですが、物によっては、『はじめる』選択後に黒画面になったまま、1分以上経過してもそのままで電源オフにするしかない場合があります。
パスも確認して作成しているので、記述ミスではないと思います。
WADmanagerも自作したものも、こちらで公開してくださっているものも試しましたがダメでした。パスは、SD:/apps/wadmanager/boot.dolに間違いありません。
USB Iso LoaderもGXになったのでフォルダ名を変更してForwarderも作り直して試したら黒画面のままになったので、フォルダ名を元に戻してForwarderも前のものに戻したらまた起動するようになったりとわけがわかりませんwどちらもこちらのツールで作りましたしIDもちゃんと別のものにしました。
他でおとしてきたFCEUのForwarderを入れたときも同じ状況でした。
設置フォルダの名前を変更して作り直したりしたらコレはなんとか起動するようになりました。全くもって謎です。orz

長くなりすみません^^;
悪戦苦闘はしてますが、素人の自分にも扱えるツール&解説 大変感謝しています。

投稿: wiipspiso | 2009年5月11日 (月) 20時12分

いや~ずっと気になっていたWAD作り
おかげで完成しました!!
あざっす!!
WADはWEE破壊の可能性があるって文言に
怯えながらのインストールでしたが
蕪辞起動できました!!
初めは手間でしたが、慣れてくるとものの10分くらいで
完成しますね~。
ただGECKOだけは「はじめる」のあとブラックアウトしますね~
もとがdolではなくelfだからでしょうかね??
またわかったら追記しますね!
あとは
メインスクリーンの動画がどう作成されてるかですねww

投稿: RAGE | 2009年5月11日 (月) 21時09分

wiipspisoさん
こんばんは。

英語版を作ったタイミングと、メモを書いたタイミングが違うためですね。。>表記違い
英語版も、バイナリファイルを直接書き換えたいいかげんなものなので、
元の文字列の長さを超えることができないので英訳も適当になってます。
英語版との対比を意図した文章ではなかったんですが、
(スペイン語だけだとわかりにくいので英語を併記しただけで)
かえってわかりにくいようであれば、英語版の表記にあわせておきます。

あと、ブラックアウト、ですが、私のところでも実は経験があります。
とあるWADをインストール後に、それまで動いていたものが動かなくなりました。
この時は、その動かなくなったものを一度アンインストールしてからインストールしなおしたところ動いたので原因不明です。

forwarder のコードに、なにか不具合が潜在してるのかもしれないですね。
もともと他人の公開したものを中身見ずに利用させていただいてるだけなので…

投稿: とんとん | 2009年5月11日 (月) 23時14分

RAGEさん
こんばんは。
WAD作りは私もずっと自分でやりたいと思いつつ、
「WADDerでできる」以上の情報が見当たらなくて
しかも WADDerは動かないしで悩んでました。
あきらめてWADDerのとまる理由を海外forumで探していて、
偶然 IceFire氏がWADDer作りはじめにいろいろ質問しているところをみつけて
ようやく作り方がわかったのでした。

動画、も興味ありますね~。誰か教えてくれないかな:)(他力本願)

投稿: とんとん | 2009年5月11日 (月) 23時20分

表記の件そういうことでしたか。了解です。
自分の場合はアンインストール、再インストールでもダメですね~。

Elf/Dol ForwarderをUSB Loader設定にして起動するときと起動しないときがあるという書き込みもみましたが、こっちは自分の場合は問題なかったし、うまくいかないのは、なんらかの個体差かなぁと勝手に思ってます。
悪あがきでCreateMyWADで作り直したり、WAD Channels Updaterを使ったりして試してはいますがw

投稿: wiipspiso | 2009年5月12日 (火) 00時14分

WADは「Wii Additional Data」の略だと思います。

投稿: K-M | 2010年7月17日 (土) 14時26分

K-Mさん

なるほど、Wii App Data ですか!
なんか「WADはWAD」と居直ってましたが、情報ありがとうございます!

投稿: とんとん | 2010年7月20日 (火) 01時29分

00000000.appの展開は問題無くできたのですが、banner.bin、icon.binを展開しようとするとオーバーフロー(ランタイムエラー6)が起こります。
使用しているVCのwadが悪いのかと思い、他のゲームで試したのですが結果は同じくオーバーフロー
再起動しても全く同じ症状が出てしまいます。

OSはXPでVB 6.0 SP6も導入しています。

何が原因なのか分かるでしょうか。。。

投稿: telg | 2010年12月22日 (水) 16時57分

コメントを書く



(ウェブ上には掲載しません)




« オオカマキリ 孵化 | トップページ | wiiトワイライト・ハック(23)WADを自作【2】 »