第4章 RDTファイルを整理する


全てのRDTファイルを洗い出せ!


前章でStuntmanSnake氏より頂いた「それは恐らくRDTファイルです」の一言で、やるべき事が少しわかった。

それは、まずFILE1とFILE2のRDTファイルを全てリスト化し、基本情報である「そのRDTファイルは、どこのエリアか」を調べることである。

闇雲にRDTファイルを開いて中身を見たところで、理解などできるわけがない。
なにしろこんな感じのわけのわからないHEXコードがづらづらと並ぶデータです。



この中身は置いといてまずは外堀から少しづつ埋めていくしかないわけです。

そうすることによって、少しづつかもしれないし、結局は得る情報は少ないかもしれないけども、知識が蓄積されていくと思われる。
それがやがて「血となり肉となり骨となり贅肉となる」ハズです。
また、先々を考えるとデータベースを作る必要があると思われるので、それの大元となるリストを作成する必要があるわけです。

まずは「RDTファイルの個数を求める」を求め。
全てのシナリオの全てのRDTファイルとNBDファイルをDISCから取り出し、それをリスト化することにした。

DISC
シナリオ名
そのID
DISC内の
NETBIO00.DAT
にあるフォルダ
中にある
ファイル数
移動可能
なMAP数
RDT
ファイル
NBD
ファイル
FILE1
発生
R001
[r001.afs]
1800
24
26
36
巣窟
R028
[r028.afs]
968
後記
29
29
零下
R035
[r035.afs]
1125
後記
28
34
獄炎
R002
[r002.afs]
1177
後記
24
26
決意
R041
[r041.afs]
1194
後記
55
56
FILE2
初心
R020
[r020.afs]
281
6
6
6
咆哮
R040
[r040.afs]
1496
20
23
34
異界
R010
[r010.afs]
1293
28
34
49
記憶
R026
[r026.afs]
1227
28
39
47
死守
R015
[r015.afs]
1250
21
22
35
突破
R006
[r006.afs]
2510
39
65
66
殲滅1
R029
[r029.afs]
730
18
18
18
殲滅2
R030
[r030.afs]
649
15
15
15
殲滅3
R027
[r027.afs]
873
21
21
21
対峙1
R021
[r021.afs]
261
5
5
5
対峙2
R022
[r022.afs]
499
10
10
10
対峙3
R023
[r023.afs]
619
11
13
13

ここで少し矛盾点に気づいた。
NBDファイルとRDTファイルの個数があわないシナリオがあり、実際のMAP数と異なる数もあることだ。

どうゆうことだろう?

NBDファイルは、エリア(MAP)の3D CG形式のオブジェクトを独自形式でパッキング(結合した)ファイルである。
それは「道」や「通路」であったり「建物の中の部屋」であったりし、その個数は、シナリオ中でプレイヤーが移動できるエリア数であるはずなのに…。

プレイヤーが移動した場所でコントローラでマップを開くと「レストラン前通り」とか「裏通り」とか表示されるが、その種類の数とRDTファイルとNBDファイル数が合わないシナリオがいくつかある。

これは推測するに、未使用のエリア(MAP)や条件により切り替わるMAPがあると判断する。

例えば「死守」の「正面玄関前」は、戦闘前と戦闘中では、動ける範囲や見える範囲が異り、カメラのアングル数も違う。

また「咆哮」では、ラスボスが「象」の場合と「ライオン」の場合があり、見比べると「象」の場合は電車の前に柵があるが、ライオンの場合は柵がないし、戦闘時のカメラアングルが違うところもある。

また、StuntmanSnake氏がYoutubeにアップロードした動画での中に、未使用のエリアがいくつかあってそれを紹介していることを知っている。

これは、開発途中で没にしたのか、ゲームショーなどで発表されたトレーラー動画や、ゲーム中で使用されるCGムービーや、リアルタイムで描画されるカットシーン。あるいは、CMやゲームのデモンストレーションムービーなどで使用されたものがあるのかもしれない。


この動画は、StuntmanSnake氏がご自身のチャンネルにアップしたものです。
この動画以外にも昔のトレーラやモーションキャプチャーなどがありますので是非チェックを!!


つまり、プレイヤーが移動できないエリアもいくつか含まれているようであることがわかった。

従って、カメラアングルなどを変更したい場合、プレイをしながら無関係なエリアは変更の対象とせず、実際に移動できるエリアを対象にすれば良いわけです。

なるほど…一歩前進した…ような気がする。

問題はどうやって実際に使用されているRDTファイルを見つけ、それがどのエリアなのかを特定する方法である。
RDTファイルの中身を見たところで「このファイルはここです」とは書かれていないのである。

そこで二つの方法を取ることにした。

一つは、NBDファイルをアンパック(分離)し、分離できたOBJECTファイルを3D CGビュワーで形状を確認し、そのファイル名に該当するRDTファイルをどのエリアかを推測する方法。(詳細はテクスチャデータの変更方法を参照)

例えば、下記は「発生」でタンクローリー爆破後用水路に飛び込み通路をくぐって進む「ドラム管」のエリアである。
形状が複雑ではないので直感的に「ここに違いない」と判断できる。


しかし、上記のような形状に特徴がハッキリとでない複雑な場所は、なにがなんだかよくわからないものが表示されてしまう。


上記は、咆哮のレストランである。
いったいなんなのかは、3D CGについて素人の私では判断できない。

そこで、もう一つの方法は、RDTファイルに含まれているBGMコードの値を書き換え、各エリアを徘徊し、書き換えたBGMコードがどのエリアで再生されるかを確認する方法を使用し、RDTファイルがどのエリアかを確定する方法です。

(この方法については別途「MUSIC MODの作成方法」(作成中)に記す。)


このような方法を駆使し、すべてのシナリオのすべてのMAPに対するRDTファイルをリスト化することができた。
こんな感じです。


全てのシナリオの全てのRDTファイルを特定することにしたのですが、これにすごく時間がかかってしまった。
本当に大変でした。

しかし、ここからが本番です。
下調べはできた。
外堀は埋まった。


…で…ここからどうすればいいのだろう?てことです。


てことで次章に続く