ESLファイル編集講座
ESLファイルを操作することが出来れば、自分の好みの場所に好みの敵を出すことが出来ます。
たとえば村中央広場においてエルヒガンテとかU-3を出すことも可能です。
開始早々からクラウザーと対戦、てな事も。
もちろんイベントシーンとは違いますので、倒したからと言って重要なキーアイテムが手に入る、と言うわけではありません。
今回の編集作業は非常に危険でありますので、あくまでもお遊びの延長と言うことでお願いします。
ここでは難しい理屈は極力排除して敵キャラの変更のみに絞っておりますが、
ただ数字が並んだりして別の困難な部分もありかと……(^o^)
必要なソフト …… 解凍ソフト gca
…… バイナリ編集ソフト
☆ ESLファイルとは何か?
ここには登場する敵の各種データが存在します。
実行ファイルはここを読み取って場面に応じた敵を出現させます。
☆ESLファイルを編集すると何がどうなるのか?
縛りプレイとして、村人の体力を最大限に引き上げる。
どこにどんな敵が出現するのか分かる。
敵の体力を小さくすることによってイケイケドンドン状態にする。
※注 イベントがらみの主要敵キャラに関しては実行ファイル側で強制的に元の数値に戻りますので
U-3をハンドガン一発で撃破、とはなりません。
※注 あまり無理するとゲームバランスが崩れます。
※注 元のesl.datは消さないでください。消してしまうと元には戻れません。
☆解説
まずEtcを解凍します。ETC.dat を探し出して、拡張子をgcaに変更してください。
【etc.dat →etc.gca 】
GCAを使ってetc.gcaを解凍してください。
Etcというフォルダが出来上がりその中にEmgirl00.datなど夥しい数のファイルが出現したことと思われます。
この中でゲーム本編で利用されているのがemleonXX.dat(XXは数字)です。
実行ファイル側では、適宜これらを読み取って展開しております。
そこでこの講座ではこれらを弄くってみようというわけです。
Emleon00.dat …… 村
Emleon01.dat …… 古城
Emleon02.dat …… 孤島
各ファイルは8160バイトで構成されております。
ひとつの敵データは32バイトで作られておりますので、
ひとつのファイルには255体分の敵データが存在することになります。
☆応用
では実際どうなっているかemleon00.datをバイナリ編集ソフトで見てみましょう。
……以下略
数字の羅列です。何が何だか分かりません。下の表を参考に改ざん、じゃない改良していきましょう。
オフセット対応表1
オフセット |
サイズ |
内容 |
内容 |
00 |
1 |
出現状況 |
00で出ない 01で出現 |
01 |
1 |
種類 |
別項参照 |
02 |
1 |
バリエーション |
|
03 |
1 |
行動 |
|
04 |
1 |
反応 |
|
05 |
1 |
服装 |
これで一セットと考えます |
06 |
1 |
服装 |
|
07 |
1 |
所有武器 |
|
08 |
2 |
体力 |
8813……5000 16進数 |
09 |
反対に読む |
以下省略
どうすりゃいいんじゃい!
まあまあ、何をどういう風に見ればよいのかと申しあげます。
たとえば上記のバイナリファイルからアドレス01E01を見ますと「23」という数字があります。
02000と02200にも「23」という番号が振られています。
これはカラスを指します。つまりスタート地点にいるカラス三羽の事。地面にいたり木の上にいたりしてますよね。
32バイトでひとつの敵キャラを表示しておりますので、一羽のカラスは01E00から01FFまでとなります。
次は0200から021F、以下同様となります。
この部分をもっと詳細に眺めますといろいろなことが分かります。
01E00 01……いるかいないか? この場合出現している、となります
01E01 23……下記対応表より「カラス」と言うことが分かります
01E02 00……00ではカラスそのもの。数字を入れることによって他のものに変化する場合があります
01E03 00……行動パターン。村人で言うなら農作業をしている、牛の世話をしている、干し草の手入れなど
01E04 00……反応。数字が大きいほど遠くにいても襲ってきます。00だとレオンに気づいていないと言うことになります
01E05 00……服装。数値を入れることにより、村人男、村人女、に変化します
01E06 00……これも服装に関する数値です。服などのバリエーションを増やすためでしょうか?
01E07 00……所持武器。斧、鎌、包丁、松明、ボウガンなど攻撃用武器です
01E08 01E09 0A 00……体力。これは2バイト仕様でしかも16進数。さらには反対から読みます。000Aは10進数で10を現します。
01E01の「23」を「35」に変更しますと村長第一形態になります。
ただしそのままではカラスの体力しか持っていませんので、01E08 01E09の数値を上げると……。
「2B」にすると……。
「38」にすると……。
まあ、書き替えて自分の目で確かめてください。
たとえばemleon00.eslより
01E0 01 23 00 00
00 00 00 00 0A 00 00 00 02 DD CE 00
01F0 85 FE 00 00 11 33 00 00 00 01 00 00 00
00 00 00
01E0 01 38 00 00 00 00 00 00 0A 00 00 00 02 DD CE 00
01F0 85 FE 00 00 11 33 00 00 00 01 00 00 00
00 00 00
「23」(黒バックに赤文字)を「38」に書き替え、上書き保存しますと
書き替え番号は下記のオフセット対応表2からお分かりの通り、背骨の伸びたムカデのような村長が現れます。
注 書き替えた際には必ず「NewGame」から実行してください。保存したファイルから読み込みますと予期しないエラーが出ます。
NewGameから保存した場合においては確認が取れておりません。Savedataもコピーしておいた方が無難です。
02400で00 02401で12と言う数値が見えます。12は村人を現しておりますが、先頭が00では出現しない、と言うことになります。
これは小屋での戦闘が終了した時、実行ファイル側で出現させる村人を現します。
つまり出現しない(00) がイベントが終了した時点で出現する(01)と変化します。調べてみますとそのような例がいっぱいあります。
今回のこの講座はあくまでも敵キャラの変更を目的としておりますので、このほかのオフセット番号を操作する事により
木の上にいるプラーガとか出せますが、今回略させていただきます。
注 エラー覚悟で臨んでください。あくまでもお遊びですから、一切の責任は持ちません。
注 ひとつのesl.datファイルには最大でも4種類までとしてください。そういう仕様になっておりますので。
注 バックアップは必ずとっておいてください。特に元のファイルを削除しないようにお願いします。
書き替えるには別途バイナリファイル編集ソフトを用意してください。フリーソフトでOKです。
オフセット対応表2
どの番号がどの敵に相当するか、列挙しておきます。あくまでも参考ですが。
注意すべきはゲーム破損と書かれているオフセット番号は使わないようにしてください。
空欄になっているのはデータとして存在しないか、未確認です。
nonとなっているのは入れてみたが、変化のないものです。
05、06、07のオフセットをいじることによって何かが出現するかもしれません。
オフセット01 |
|
01 |
ゲーム破損 |
02 |
|
03 |
|
04 |
Lewis |
05 |
Ashleyノーマル姿 |
06 |
村人 |
07 |
|
08 |
|
09 |
|
0A |
|
0B |
|
0C |
|
0D |
|
0E |
|
0F |
モーターボート |
10 |
|
11 |
邪教徒 |
12 |
村人 |
13 |
村人男 |
14 |
|
15 |
村人 |
16 |
|
17 |
|
18 |
武器商人 |
19 |
邪教徒 |
1A |
|
1B |
|
1C |
|
1D |
戦闘員 |
1E |
|
1F |
|
20 |
|
21 |
犬 |
22 |
コルミロス |
23 |
カラス |
24 |
へび |
25 |
プラーガ |
26 |
牛 |
27 |
ブラックバス |
28 |
鶏 |
29 |
鶏 |
2A |
トラバサミ |
2B |
エルヒガンテ |
2C |
ヴェルデューゴ |
2D |
ノビスタドール |
2E |
小蜘蛛 |
2F |
デルラゴ |
30 |
動かない やめた方がよい |
31 |
サドラー |
32 |
U-3 |
33 |
村人男 |
34 |
non |
35 |
村長2 |
36 |
リヘナラドール |
37 |
村人男 |
38 |
ラモンサラザール |
39 |
クラウザー |
3A |
自爆ロボ |
3B |
non |
3C |
アルマデューラ |
3D |
ヘリ |
3E |
ゲーム破損 |
3F |
サドラー |
40 |
村人 |
41 |
ゲーム破損 |
42 |
村人 |
43 |
戦闘員 |
44 |
村人 |
45 |
|
46 |
non |
47 |
|
48 |
|
49 |
|
4A |
|
4B |
|
4C |
|
4D |
|
4E |
|
4F |
non |
50 |
ゲーム破損 |
51 |
ゲーム破損 |
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 |
|
58 |
|
59 |
|
5A |
|
5B |
|
5C |
ゲーム破損 |
5D |
|
|
|
|
|
|
|
|
|
|
|
FA |
村人男 |
FB |
|