カットイン顔アイコン・台詞・ボイス変更とちょっとした他コード

ジョジョ 黄金の旋風HD

黄金の旋風では、普段使用できないNPCを使用した場合、

画面上に出るカットインメッセージのところが必ずジョルノになるのは周知の通り。

このせいで、まるでジョルノの実況みたいになっちゃって、

なんだかなぁ~~って気分になってる人も居るかと思う。

それの回避策として、カットインメッセージ自体を出さないようにする、

というコードは以前紹介しました。

でもやっぱりカットインメッセージが無いと淡白だし・・・

自分の使用キャラの声で喋って欲しい・・・という願望を持っている方も多い事でしょう。

そこで、あのカットインメッセージの部分を好きに変える方法を紹介します。

私の動画ではカットインメッセージの時、顔アイコンもテキストもボイスも

全てディアボロになってますが、あれはボイス以外全てMODで実現しています。

現段階で、ボイスだけは好きなキャラに変更できるコードを見つけてあるので。

長くなるので詳細は続きより↓

まず顔アイコン部分のロジックですが、あれは「選択したキャラ」か何かを基準に

プログラム上でアイコンがCreateされてます。

で、Createされたアイコンに4byteのIDが付与され、0x2059D638に代入されます。

つまり0x2059D638がプレイヤー側のカットインメッセージ時の顔アイコンアドレスです。

しかしここに代入されている4byteのIDはキャラによって変化する事はもちろん、

同じキャラでも、違うステージを選んだ時や何らかのタイミングでその都度変動する。

なので「このIDで必ずこのアイコン」という確定的なものはありません。

とりあえず顔アイコンも「1枚のテクスチャ」なので、このIDアドレスに別の数値を入れると

ステージやオブジェなどのテクスチャが出てきたりします。

ただ適当に数値を入れても大抵ハングアップやクラッシュ。

ちなみにプレイヤー側の顔アイコンから-4byteが敵側の顔アイコンアドレス。

この敵側に入っている数値をプレイヤー側アドレスへ入れてみてください。

プレイヤー側の顔アイコンが敵側のものと同じになります。

現状でわかっているのは、この4byteのIDという中で「次のテクスチャ」までの差分は±2828h。

プレイヤー側の顔アイコンIDと敵側の顔アイコンIDの差分は2828h。これは絶対に確定らしい。

で、問題なのが「プレイヤーキャラとは全く関係のない別のキャラの顔アイコンは出せない」という所です。

±2828hしていくとジョルノや、たまにフーゴなどの別のキャラが出てきたりしますが、

基本的に顔アイコンに関しては、現プレイヤーキャラと敵キャラ分しかありません。

上記で書いたように顔アイコンはキャラに合わせて必要分だけプログラム上でCreateされ、データベースに格納、

呼出という流れみたいなので、例えばフーゴを選んでディアボロの顔アイコンを出す、

といった事は不可能なわけです。

とは言えディアボロを選んでもジョルノの顔アイコンになる。

・・・じゃぁ、どうやってディアボロの顔アイコンを出してるの?という疑問にたどり着くと思います。

それは単純明快で「ジョルノの顔アイコンをディアボロのものに差し替えている」だけなのです。

いわゆるMODですね。AFS_DATA.AFSの中に各キャラ、各シーンでの顔アイコンが格納されてます。

AFS_DATA.AFSをStirling(定番のバイナリエディタソフト)で開いて、

設定タブにある「ビットイメージ」を有効にしてみると・・・

face_bit_images.jpg

こんな感じで各キャラの顔アイコンが格納されているのがわかります。

で、ジョルノの汎用アイコンは0x2864a00から0x28771ffに格納されている。

ここの部分のジョルノ顔アイコンが対戦中などに出てくる汎用アイコンなので、

ここを好きなキャラの顔アイコンで上書きすれば、とりあえずOKというわけです。

ペッシを使用した時にペッシの顔アイコンが出て欲しければペッシの画像を、

セッコを使用した時にセッコの顔アイコンが出て欲しければセッコの画像を上書きすれば良い。

ただし、ジョルノの顔アイコンを別のもので上書きしてるわけなので当然、

ジョルノを選んでも差し替えたキャラのアイコンが出てきます。

次にカットインメッセージ時の台詞テキスト。これも筆者はMODでやってます。

以前、カラーEDIT手法で紹介した時と同じ要領で、AFS_DATA.AFSをAFSExplorerで開くと

sdpl@@.txtというのがあります。@@はキャラID。

それでsdpl00.txtというのがジョルノの台詞テキスト。

もうお分かりですね。

顔アイコン画像差し替えと同じくこのtxtも好きなキャラのものに差し替えれば、

カットインメッセージ時の顔アイコンと台詞テキスト変更は完了です。

最後にボイスですが、これだけはコードで実現できているのでここで紹介。

ボイスは2byteIDです。

■カットインメッセージボイス変更

105B448C 0000xxxx

ジョルノ:6F60
ブチャラティ:6F80
ミスタ:6FA0
ナランチャ:6FC0
アバッキオ:6FE0
フーゴ:7000
トリッシュ:7020
ポルナレフ:7040
ホルマジオ:7060
イルーゾォ:7080


+20hで次のキャラというだけで、並び自体はキャラIDと全く同じ。

これで「とりあえず」好きなキャラにそのキャラで喋らせ、

顔アイコンも変更ができます。

顔アイコンに関しては複雑だからなんとも言えないが、台詞テキストくらいは

ボイスと同様にコードがすぐに見つけられそうなものなんだけど・・・中々。

顔アイコンのロジックが分かったよ!台詞テキストアドレス見つけたよ!

といった方がいたら是非ご報告お願いします。

というわけで、これで今までジョルノの実況で萎えていた方々も

「とりあえず」その状況を打破できますよ(*´∀`*)

あと、解析中にたまたま見つけたものですが、

体力バーにライトが当たった感じになるコードw

before
lifebar_light_before.jpg

after
lifebar_light_after.jpg

どうでしょう?ライフバー中央辺りにライトが当たる事で立体感、高級感が出て

いい感じじゃないでしょうかwww

■体力バーにライトを当てる

005B5E92 00000011

黄金の旋風もちょっとリッチになった感じで筆者は気に入ってます(*´m`*)