
DQ3モンスター・アイテム・呪文名編
tomorrowさんのページhttp://www.pp.iij4u.or.jp/~tomorrow でセーブデータ改造表を見てキャラクターの名前を変えられることを知り、いろいろ試してみた結果、数値と文字の対応表を作ることができた。
-- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00 SP 0 1 2 3 4 5 6 7 8 9 あ い う え お
10 か き く け こ さ し す せ そ た ち つ て と な
20 に ぬ ね の は ひ ふ へ ほ ま み む め も や ゆ
30 よ ら り る れ ろ わ を ん っ ゃ ゅ ょ ア イ オ
40 カ キ ク コ サ シ ス タ テ ト ナ ソ ヌ ハ ヒ フ
50 ホ マ ミ ム メ モ ラ ル レ ロ ン エ ニ ネ ノ ャ
60 ッ ヨ ど L M P V X 。 . 。 ” ° ? !
70 「 * ↓ → : … |  ̄  ̄ NW SW 右 NE _ SE ー
80 じ だ ぶ ど → A B C D E F G H
6Bは下付き半濁音、71、72は三角形、NWとかSEは枠のカド、SPは空白
そこで今度は町の人たちとかの台詞を変えてみようと思った。しかしバイナリエディタを開いて1バイトずつ解読していたのでは日が暮れてしまうので、バイナリデータと文字を対応させるプログラムを作ってみたところ、↓こんな風になった。
ここから下の説明は上のデータを見ながら読んでください。
適当に見ていると、28020h(←アドレスね)に”ひのきのほう”と書いてある!
その次は”こんほう”・・・。濁点がないのはきっと、文字が表示されるとき一行上に濁点があることから考えて、何か特殊な形式でデータが記録されているからなんだろう。
さて、もうチョット先も見ようとすると、今度は町の名前、呪文、モンスターの名前といろいろ出てきた。そして・・・・
--ふくろ--ああ --おお --なんと
これは日本語のようだが意味不明・・・。これわもしかして台詞のデータは文字列の組み合わせのデータだという事なのか?ってぇことは1人の台詞を変えようとすると他の部分まで変わってしまう。せいぜい”ヒミコ”とかの固有名詞を変えることぐらいしかできなさそうだ。しょうがない。諦めよう。
さて、とりあえず手始めに”おうじゃのけん”を”ラグナロク”に変えてみましょう。さっきのデータの中から探すと・・・・・・28110hの行の後ろのあたりにありました。
・・・えか6おうしゃのけんか6くさ・・・
”じ”が”し”になっています。濁点を打つ場所はどこに記録されているのでしょうか。わざわざここから離れた場所にあるとも思えないし、前後には他のアイテムの名前(ここでは”いかづちのつえ”と”くさなぎのけん”)があるので、恐らく前か後ろどちらかの”か6”に記録されているのでしょう。考えられるのは
前の”か6”に”いかづちのつえ”の濁点データ、後ろの”か6”に”おうじゃのけん”の濁点データ、あるいは、前の”か6”に”おうじゃのけん”の濁点データ、後ろの”か6”に”くさなぎのけん”の濁点データが記録されている、このどちらか
です。しかしこの3つの名前をよ〜く見ると、
い か づ ち の つ え
お う じ ゃ の け ん
く さ な ぎ の け ん
となっており、最初の2つは3文字目、3個目は4文字目に濁点があります。ということはどうやら後ろの”か6”が”おうじゃのけん”の濁点データのようです。では今度は”か”なのでしょうか、それとも”6”なのでしょうか。よく分からないので、ここで濁点のないアイテムを見てみましょう。適当に探すと・・・
せ い な る ナ イ フ SP 6
て つ の や り SP SP SP 4
(SPは空白)
というわけで、濁点のないアイテムだと数字の前は空白、すなわち0というデータ(文字コード表参照)が記録されています。しかも、数字の方が濁点データだとしたら上の二つは同じ数字になるハズ。しかし”6”と”4”で違います。よって”か”が濁点データと分かります。
では、”か”と3文字目の濁点がどう対応しているのでしょうか。そこで、”か”が、数値としていくつなのかを上の表で探すと・・・ありました!(←そりゃあるよ)10hです。一文字ごとに濁点のあるなしを記録していると思われるので、10hを2進数に変換してみると00010000です。これとアイテム名”おうじゃのけん”を対応させてみると
0 0 0 1 0 0 0 0
お う じ ゃ の け ん SP
となり、ヘンですが、チョット考えてみると、
0 0 0 1 0 0 0 0
SP お う じ ゃ の け ん
こうなのかも知れない気がします。
そこで、こうなのだと信じ込んで名前を変えてみましょう。濁点の位置データは
0 0 1 0 0 0 0 0
SP お う じ ゃ の け ん
SP ラ グ ナ ロ ク SP SP
なので、00100000を16進数にして、20hとなります。
さあ、いよいよバイナリエディタでデータを書き換えてみましょう。適当なバイナリエディタを開き、2811Chを見てください。
0F 0D 16 3A 23 13 38 10
と書いてあるはず。これは”おうしゃのけんか”を表しているので、
56(ラ)42(ク)4A(ナ)59(ロ)42(ク)00(SP)00(SP)20(濁点)
と書き換えましょう。で、保存。
こんどはモンスター・・・と言いたいところですが、疲れたのでやめます。データの発見とかはコッチの方が楽なので、適当にがんばってください。
