secondfiddle@人柱日記

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

BIOHAZARD4 PC版 改造計画

*ウィスカー登場
ナツさま、ツッコミどうもありがとうございm(_ _)m
海外ではけっこう盛んなBIOHAZARD4のMODでございますが、我が日本においては規制が厳しいのか、盛んに発信しているのはmogu氏の「バイオなページ」ぐらいしかありませんな。
かつてはZEROPOINT氏やhoges氏が様々なアプローチをしておりましたが、皆様討ち死に。それ故MOD関連は神経をすり減らす、つまり多大な犠牲を伴うのではないかと思います。何某らの仕事を抱えてのことですから、自己犠牲の精神で事に当たらないとなりませんかも。
一応おいらのホームページの一翼を担っているのかもしれませんが、そういった理由もあって(言い訳です)何しろ遅々として進まないのが現状です。何時おいらも討ち死にするか分かりませんのことよ。
常々、我が日本の場合「お仕着せ」で満足することが多いのではないか、と思う次第です。「こういうの作ったけど改造許すまじ」みたいな。国民性の違いでしょうか。米国あたりでは本家本元を凌駕するMODが盛んに作られています。最初に遭遇して驚いたのなんのってぇのは、映画にもありました「ブラックホークダウン」です。
映画のブラックホークダウンをモチーフにして、ゲームが作られておりました。ノバロジック社から販売されました、PCゲームのブラックホークダウンです。続編としてTeamSaverが作られブラックホークダウンの組み込み用として発売されました。知らない人にとってはどうでも良いことですが、日本ではマイクロマウス社が発売元となっておりました。
そのブラックホークダウンをまた改良して発表されているのが「Shonkn Awe」 
フリーで公開されており本家本元以上に面白い作りになっております。
さて、本題からそれましたでございます。


さてさて、おいらのブログを通して面白い展開になりそうな雰囲気。皆様から知恵を出し合ってさらに面白いBIOHAZARD4 PC版を作り上げていきたいと思います。(だからそれがぱくりだッちゅ〜の)


さらにさてさて、WeskerのdatファイルをDatextractコマンドを使って分解してみました。分解すると何が面白いのか、じゃない何が分かるのか? LeonとWeskerのdatファイルを比較することによって何か見えてくるものがあるんじゃなかろ〜か、と言う企画です。
長年の研究によりWeskerのdatファイルはpl0d.datと言うことが分かっております。
これによりますと、非常によく似た構造体を持っております。Leonはpl00、08、09、10、19はすべて同じ構造体でBIN、TPL、FCVなど先頭の番号と拡張子はすべて同じでございます。展開していただくと分かると思いますが
000_pl○○.△△ (○○は該当するplフォルダ、△△はBINとかTPLとか入る拡張子)
から始まって最後はindexで終わります。indexはバイナリエディタで覗いてみますと、目次みたいなものです。実行ファイル側でこれらを適宜読み取って実行しているのでしょうか?
簡単にまとめたのが下の表です。がたがたでスミマセン。
│番号 │pl19 │pl0d │
│   │Leon │Wesker │
│000 │BIN │BIN │
│001 │TPLTPL
│002 │BIN │BIN │
│003 │TPLTPL
│004 │BIN │BIN │
│005 │BIN │DMY │
│006 │BIN │BIN │
│007 │BIN │BIN │
│008 │BIN │BIN │
│009 │BIN │DMY │
│010 │BIN │DMY │
│011 │TPL │DMY │
│012 │BIN │DMY │
│013 │TPL │PTL │
│014 │BIN │BIN │
│015 │BIN │DMY │
│016 │BIN │BIN │
│017 │BIN │DMY │
│018 │BIN │BIN │
│019 │BIN │DMY │
│020 │BIN │BIN │
│021 │BIN │DMY │
│022 │EFF │EFF │
│023 │FCV │FCV │
│024 │FCV │FCV │
│025 │FCV │FCV │
│026 │FCV │FCV │
│027 │FCV │FCV │
│028 │FCV │FCV │
│029 │FCV │FCV │
│030 │FCV │FCV │
│031 │FCV │FCV │
│032 │SEQ │SEQ │
│033 │FCV │FCV │
│034 │DMY │DMY │
│035 │FCV │FCV │
│036 │FCV │FCV │
│037 │FCV │FCV │
│038 │FCV │FCV │
│039 │FCV │FCV │
│040 │FCV │FCV │
│041 │FCV │FCV │
│042 │SEQ │SEQ │
│043 │FCV │FCV │
│044 │SEQ │SEQ │
│045 │FCV │FCV │
│046 │FCV │FCV │
│047 │SEQ │SEQ │
│048 │FCV │FCV │
│049 │SEQ │SEQ │
│050 │FCV │FCV │
│051 │SEQ │SEQ │
│052 │FCV │FCV │
│053 │SEQ │SEQ │
│054 │FCV │FCV │
│055 │SEQ │SEQ │
│056 │FCV │FCV │
│057 │SEQ │SEQ │
│058 │FCV │FCV │
│059 │SEQ │SEQ │
│060 │FCV │FCV │
│061 │FCV │FCV │
│062 │FCV │FCV │
│063 │FCV │FCV │
│064 │FCV │FCV │
│065 │FCV │FCV │
│066 │FCV │FCV │
│067 │SEQ │SEQ │
│068 │FCV │FCV │
│069 │FCV │FCV │
│070 │FCV │FCV │
│071 │FCV │FCV │
│072 │FCV │FCV │
│073 │FCV │FCV │
│074 │FCV │FCV │
│075 │FCV │FCV │
│076 │SEQ │SEQ │
│077 │FCV │FCV │
│078 │FCV │FCV │
│079 │FCV │FCV │
│080 │SEQ │SEQ │
│081 │FCV │FCV │
│082 │SEQ │SEQ │
│083 │FCV │FCV │
│084 │SEQ │SEQ │
│085 │FCV │FCV │
│086 │FCV │FCV │
│087 │FCV │FCV │
│088 │FCV │FCV │
│089 │FCV │FCV │
│090 │FCV │FCV │
│091 │FCV │FCV │
│092 │SEQ │SEQ │
│093 │SEQ │SEQ │
│094 │FCV │FCV │
│095 │FCV │FCV │
│096 │SEQ │SEQ │
│097 │SEQ │SEQ │
│098 │SEQ │SEQ │
│099 │SEQ │SEQ │
│100 │FCV │FCV │
│101 │FCV │FCV │
│102 │BIN │BIN │
│103 │TPLTPL
│104 │DMY │DMY │
│105 │TPLTPL
│106 │DMY │DMY │
│107 │TPLTPL
│108 │BIN │BIN │
│109 │TPLTPL
│110 │BIN │DMY │
│111 │TPL │DMY │
│112 │FCV │DMY │
│113 │TPL │DMY │
│114 │BIN │DMY │
│115 │BIN │DMY │
│116 │TPL │DMY │
│117 │FCV │DMY │
│118 │BIN │DMY │
│119 │TPL │DMY │
│120 │FCV │DMY │
│121 │BIN │BIN │
│122 │TPLTPL
│123 │TPLTPL
│124 │TPLTPL
│125 │FCV │FCV │
│126 │FCV │FCV │
│127 │FCV │FCV │
│128 │FCV │FCV │
│129 │FCV │FCV │
│130 │FCV │FCV │
│131 │FCV │FCV │
│132 │SEQ │SEQ │
│ │index │index │

LeonはBINでもWeskerはDMYと言うのが所々散見せられます。DMYは0KBになっているのでダミーという意味でしょう。不要だからといって番号のものを削除してはなりません。
何らかのアクションがあった時、実行ファイル側で照合しそれに見合った番号のものを提供します。例えば、ドアの前に立ったLeonがドアを開けるアクションをプレーヤーが選んだ場合、実行ファイルは024を読みに行きます。そこに024が削除されていた場合、そこでエラーとなり止まってしまいます。
てか、ゲーム開始早々止まってしまします。これはメモリ上に展開する都合上、欠落しているとそこでストップエラーとなりゲームそのものを楽しめません。
誠に微妙です。
では024_pl19.FCVを0KBにしたらどうなるのでしょうか?
早速実行してみました。とはいえ面倒な作業です。
0KBのファイルをメモ帳で作り、名称を「024_pl19.FCV」にして、datInjectコマンドでpl19.datに組み込んでの実行、ですので手間暇がかかります。
さて、どうなりましたか? お分かりの通り、永久的にドアを開ける事が出来ませんぜ、旦那。


Weskerのこの中に掌打があります。これを探し出してLeonに組み込む(差し替える)ことにより、掌打が出来ます。
しょ〜だしょ〜だ\(^O^)/♪