secondfiddle@人柱日記

ま、パソコンと車とカメラとそれから・・・・・・

Leon、Ada the spyに変身ッ! (pl09フォルダのナゾ)

BIOHAZARD4 PC版改造計画その21
一度8月11日付「BIOHAZARD4PC版改造計画その14」で変身の仕方として書いておりますが、この場合ですとpl08フォルダに移動したとたんWeskerが透明人間と化する現象が確認されます。つまり散弾銃が宙に浮かぶ、と言う全く奇妙な絵になります。
透明人間ならやられることはないだろうって? 透明人間でもデータが描画されてないだけですので、殴られりゃ痛いし、深手を負えば倒れます。
また二回目以降のプレイで、どのコスチュームを選んでもWeskerになりません。
そんなこんなが露呈しましたので、ここで修正版を出したいと思います。
どうせやるならAda the spyに使われているAdaのコスチュームが何となくカッコイイと思ったので、これにしましょう。前回のワンショットでAda the spyのコスチュームが使われていることにお気づきと思われますが、それです。

でもまあ、それにいたるまでの苦労ありありで、かなり長くなりますが以下苦労話をひとつ。

服装のデータの流れとして見た場合……
一度クリアしたしたあとではコスチュームが選べますが、まず最初にプレイした時、服装は一種類しか選べません。このときどこのフォルダを読みに行くかと申しますと「pl00フォルダ」。ここにJacketを羽織ったノーマルコスチュームがあります。洋服ダンスからLewisが転げ落ちるシーン以後(かな?)、いつの間にかJacketが消えております。
ここで「pl08フォルダ」のデータに切り替わっているようです。最後までこのフォルダで進むようです。
ここでJacketを羽織ることが出来るかどうか実験しましたが、見事失敗。どうしても着てくれません。というか着装が分からん。
とにかく初回プレイ時 pl00フォルダ → pl08フォルダ と言う流れですな。
首尾良くゲームをクリアすると二回目以降は三種類のコスチュームが選べるようになります。各々参照するフォルダが違います。

スペシャルコスチューム1はpl10フォルダ(RPDの制服)
この場合は単独フォルダで動きます。

スペシャルコスチューム2はpl19フォルダ(Mafia風)
これも単独で動きます。

ノーマルはpl09フォルダ(ジャケット脱ぎ)
二回目以降に参照されるフォルダ。

と参照するようです。
ここでようやくpl09フォルダの謎が解けました。どこで使われるのか分からなかったので、pl09フォルダの中身をすっかり削除して様子を見たところ、透明人間か現象が確認できました。二回目以降のノーマルを選んださいは、ここに書かれているデータを参照しているのでした。ここをガシガシと書き換えていけば良いのです。
しかし各フォルダには数種類のpmdファイルしかありません。
試しにpl10フォルダの中身を見ますと(tgaファイルは略)
pl100a.pmd
pl100f.pmd
pl100g.pmd
pl100l.pmd
これだけ。四つの要素しかありません。ここで重要なのはpl100a.pmd。pmdviewerで見ますと全身の姿が描かれているのが確認できました。
同じようにpl080a.pmd、pl190a.pmdが全身の姿です。
つまり(任意の文字列)a.pmdとなっているファイルがターゲットで、逆にf、g、lとついているpmdファイルはナイフが描かれているので弄らない。というか下手に弄るとナイフの描画が出来なくなりますので基本無視。
Ada the spyに使われているコスチュームはどこにあるのでしょうか? 
各フォルダのpmdファイルをobjファイルに変換して、根気よく調べた結果pl0cフォルダでした。そこのtgaファイルがまさにぴったんこ。
そこで今まで述べているとおり、コピーしたりリネームすることによって主人公を変えます。
条件としてコスチュームはノーマル、です。
以前からの繰り返しになるようで申し訳ありませんが、まず基本となるpl00フォルダ、その中でも弄るのは以下のファイル。
pl000a.pmd……全身の姿
pl000b.pmd……目、鼻、口に相当する部分
pl000c.pmd……顔
pl000d.pmd……髪の毛
Adaのカッコイイ姿はpl0cフォルダですが、ここにはpl0c0a.pmdしかありません。このまま書き換えても真っ白けのAdaになります。
そこでpl02フォルダからpl020b.pmd、pl020c.pmd、pl020d.pmdと各々のtgaファイルをそっくりpl00フォルダにコピー。
pl0cフォルダからpl0c0a.pmdとtgaファイルをそっくりpl00フォルダにコピー。特にpl0cフォルダにあるpl0c01〜pl0c05.tgaは重要です。
次にかき集めたファイルをリネーム。
【pl0c0a.pmd →pl000a.pmd 】
【pl020b.pmd →pl000b.pmd 】
【pl020c.pmd →pl000c.pmd 】
【pl020d.pmd →pl000d.pmd 】
一通り揃ったところで実際に動かしてみましょう。
Newgameから始めてコスチュームはノーマルを選びます。LeonがAdaに変わっていればもう獣、ちがう、もうけもの。
セーブデータからLoadしてもAdaに変化しており、これも成功したんじゃ中老化(あほ)なかろうか。
でもまだ先に進んじゃいけません。動かすとおわかりの通り、手首より先が真っ白。((゚ロ゚)ギョェ)
WeskerやLewisの場合うまく当てはめられたのでしょうか、意識していなかった手首データですが、Adaの場合はっきり言って不自然きわまりない。
pl00フォルダの中にはlhとかrhとか書かれているファイルがあります。これはLeonの手首を表しておりますが、書き換えたことによって読み込まれていないのです。各pmdファイルにはそれにあったtgaファイルが必要です。つまりAda用に手首を作らないとなりませぬ。
因みにrhと書かれているのが右手、lhが左手です。Leonの場合rhが12個lhが7個あります。武器の大小によって使い分けているのでしょう。
とは言ってもAdaの手首や〜い。
さらに各フォルダを精査していくと、何故かpl16フォルダに右手8個と左手7個のデータが見つかりました。これを使おうと思い立ち、lhとrhのつくpmdファイルとada_te.tgaをpl00フォルダにせっせとコピー。
数が合わないですがとにかく書き換え。難儀やなあ。
【pl16lh00.pmd →lh00.pmd 】
【pl16lh01.pmd →lh01.pmd 】
【pl16lh02.pmd →lh02.pmd 】
【pl16lh04.pmd →lh04.pmd 】
【pl16lh05.pmd →lh05.pmd 】
【pl16lh07.pmd →lh07.pmd 】
【pl16lh08.pmd →lh08.pmd 】
【pl16rh00.pmd →rh00.pmd 】
【pl16rh01.pmd →rh01.pmd 】
【pl16rh02.pmd →rh02.pmd 】
【pl16rh03.pmd →rh03.pmd 】
【pl16rh04.pmd →rh04.pmd 】
【pl16rh06.pmd →rh06.pmd 】
【pl16rh07.pmd →rh07.pmd 】
【pl16rh11.pmd →rh11.pmd 】
因みに手袋をしていない手が出現するはずです。
これでようやく手首が出て参りましたが、まだ困難は続きました。Lewisが洋服ダンスから出現以後Leonは透明人間になってしまいます。
二回目以降はpl09フォルダが主なので、pl00フォルダで出来上がったファイルのうちpl000a.pmdとtgaファイル群をpl09フォルダにそっくりコピー&書き換え。
【pl000a.pmd →pl090a.pmd 】
ここでようやく完成を見ます。が。さらにひと味。ogg-pl内部のファイルの書き換えです。
【pl0b_prog.out.lst →pl00_prog.out.lst 】
そうすることによってAdaの声に変化します。
これで初回でも二回目以降でもノーマルを選べば出て参りますし、その他のフォルダでも応用が利くのではないかと思われます。

もっともイベントシーンはどうしようもなくLeonですし、ハニガンなどと交信した場合の顔の変化はやんぬるかな。

自己満足のために公開しておりますが、もし興味があって書き換えても思ったほどの効果が上がらなかったからと入って、文句は言わないようにヨロ。