2017年1月29日日曜日

バー会話以外の日本語化について(タブレット本文以外)

以下の手順については、
日本語フォント追加手順について(バー会話部分)
上記手順を実施済みを想定して記載しています。

2/26 Translate.strg(STRG)の構造について追記

※注意!
書き換えは慎重に行ってください。
段階を踏んで少しづつ作業を行う事を推奨します。
書き換え時の要確認事項としては、バー会話時、名前に色が付く事です。
ギリアンの名前が白い
こうなってしまった場合、元に戻す方法は現在見つかっておりません。


対象となる箇所は概ね以下の通りです。
  • バーテンダーステーション(成分を混ぜる部分)ほぼ全て
  • カクテルレシピ表(本文が画像なので問題ありません)
  • バー側のセーブロード等インターフェイス
これらを書き換えた場合、上記の症状が出ます。

・フォント作成
前回の手順同様に5つのフォントを作成します。別々に作成する必要がありますので注意してください。

バージョン1.1.0.4まで
  • 2(8)  バーのタブレットインターフェイス、成分、ボタン 
  • 5(11) バー会話等(既に作業済みの物) 
  • 6(10) ジルの日常会話
  • 7(10) 瓶詰カクテル説明文 
  • 8(8)  バージョン情報、社名表示 
  • 9(11) 資金などのごくわずかなインターフェイス

バージョン1.2.1.0から
  • 2(8)  バーのタブレットインターフェイス、成分、ボタン 
  • 5(10) ジルの日常会話
  • 6(10) 瓶詰カクテル説明文 
  • 7(8)  バージョン情報、社名表示 
  • 8(11) 資金などのごくわずかなインターフェイス
  • 20(11) バー会話等(既に作業済みの物) 

上記情報は以下の内容となります。
フォント番号(ポイント数) 概ねの対象箇所
ポイント数については好みやフォントにより変更して構いません。
私は全てMS UI Gothicを使用しました。
新たに必要なのは、

バージョン1.1.0.4まで
2,6,7,8,9
バージョン1.2.1.0から
2,5,6,7,8

の5つです。

フォントを5つ用意し、

c:\UndertaleTools-master\extract\FONT_new

にコピーします。各フォントにつき、拡張子がgmxとpngで1セットです。
事前にpngに漢字が登録されているか確認しておきましょう。pngは普通にダブルクリックで確認可能です。

c:\UndertaleTools-master\extract\FONT_new

の中にある、patch.txtをメモ帳(UTF-8が使用できるテキストエディターならなんでも構いません)で開きます。
前回、以下の様に記載しました。
5;dialogJP.font.gmx
これはフォント番号5に、セミコロン以下の数字を設定するという意味になります。
私が設定したのは以下の通りです。

バージョン1.1.0.4まで
2;barintJP.font.gmx 
5;dialogJP.font.gmx 
6;jillroomJP.font.gmx 
7;bottledescJP.font.gmx 
8;versionJP.font.gmx 
9;recipeJP.font.gmx

バージョン1.2.1.0から
2;barintJP.font.gmx 
5;jillroomJP.font.gmx 
6;bottledescJP.font.gmx 
7;versionJP.font.gmx 
8;recipeJP.font.gmx
20;dialogJP.font.gmx 

フォント番号は上から下に順序がなるように設定した方が安全です。
UTF-8で保存する様にしましょう。

patch.txtを保存後、
c:\UndertaleTools-master\
に作成した、pack.batを実行しましょう。
前回同様にエラーが出なければ問題ありません。
エラーが出た場合は調査が必要になります。

c:\UndertaleTools-master\extract\FONT_new

上記フォルダには不要なファイルを置かない方が安全です。

どうしてもエラーが解決しない場合、既に作成したFONT_newの情報を別な場所にコピーし、data.winを元のファイルを戻し、再度extract.batを実行する方が手っ取り早い事もあります。
※変更したdata.winは展開できません

問題無く更新できた場合、ゲームを起動し、インターフェイス、ジルの室内会話等々を一通り確認しましょう。作成したフォントになっていれば問題ありません。

確認が終わりましたら、ゲームを終了します。

・translate.txtの書き換え
バー会話、タブレット本文以外の情報は全てSTRGというファイルに記載されています。
今回の作業では、

c:\UndertaleTools-master\extract\translate.strg

が対象となります。

まず、以下の二つのファイルを別のフォルダにコピーします。
original.strg
translate.strg
問題が発生した場合にはこの二つのファイルを書き戻す事になります。
必ずバックアップを取得してください。忘れた場合は再度、前述したextract.batを使用し元に戻します。

c:\UndertaleTools-master\GameMakerStringEditor.exe

を実行します。
Openをクリックします。

c:\UndertaleTools-master\extract\translate.strg
上記ファイルを選択し、Openをクリックします。

開くまで少し時間が掛かるかも知れません。待ちましょう。
行を移動するには、縦のスクロールバーで移動できます。
文字列を検索するには、下にある入力欄に入力を行います。
入力欄に

temp_color

と入力しましょう。移動したかと思います。
現在の所、この行より上は変更しない方が望ましいです。
但し、バー会話の名前が白くなるのを許容するのであれば、変更しても問題ありません。

STRG全体の構成を大雑把に書きます。8,000行近くあるため、全ては書きません。

※数字は概ねの物となります。
※★印が名前が白くなるのが確認されている箇所です

7~101 カクテル名及び短縮カクテル名(カクテル作成時に使用)★
633 temp_color
1666~1683 タブレット日付
1975~2017 カクテルレシピ★
2018~2029 カクテル名2★
2034 バージョン表示
2035 タイトルのスタートメニュー表示待ち文章
2036~2252 バーでのカクテル作成時のジルの心の声
2253~2305 日付更新後のジルの部屋のリマインダー関係
2308~2341 リザルト画面
2342~2539 ジルの部屋会話、タブレット記事名、タブレット記事への反応等
2541~2659 JCエルトン関係
2695~2722 日付更新時の日付曜日表示
3694~3699 瓶詰カクテルの記述
3951~3961 オープニングデモの文章。表示順番通りに並んでいないので注意
3964 開発、発行のクレジット
3973 新規ゲーム開始時のメッセージ1行目
4060~4065 真実か挑戦かの右下インターフェイス
4103~4107 クレジット表示前の会話
4133~4134 新規ゲーム開始時のメッセージ2及び3行目

入力欄に以下の様に入力してみましょう。

click to


Click to start

が表示されるはずです。

Click to startを右クリックします。

Click to startが反転表示されました。
Clickの前をクリックしましょう。Click to startの前に細いカーソルが点滅するはずです。
入力を終えたら、後ろのclick to startを削除します。
削除後、別な文章をクリックして、変更内容を確定します。
他の方法でも確定できますが、確定しないと変更内容が消失する事があります。
必ず確定してから進めましょう。
確定後、

Save

をクリックします。

c:\UndertaleTools-master\extract\translate.strg

を選択し、選択を確認後、

Save

をクリックします。
上書きの警告が出ますが、上書きして下さい。
(前述の通り、事前にバックアップした事を確認してください)

・pack.batの書き換え
translate.strgを適用するためには、pack.batの中身に追記が必要となります。

c:\UndertaleTools-master\pack.bat

をメモ帳等で開きます。

WinPack.exe "C:\UndertaleTools-master\extract" "C:\Program Files (x86)\Steam\steamapps\common\VA-11 HALL-A\data.win" 

参考例のままだとすれば上記の様に書かれているはずです。

最後に以下の文章を追加します。

(半角スペース)-tt

こうなります。

WinPack.exe "C:\UndertaleTools-master\extract" "C:\Program Files (x86)\Steam\steamapps\common\VA-11 HALL-A\data.win" -tt

data.winを再構成時、translate.strgを使用するという意味になります。

追加しましたら、上書きセーブを行います。

では、pack.batを実行してみましょう。
エラーが出なければ成功です。

ゲームを開始してみましょう。


このように表示されましたら、成功です。おめでとうございます。

・注意点

段階を踏んでバックアップを取得するようにしましょう。
失敗しても誰も救ってはくれません。
「ここからやり直したくないな」と思ったら必ずバックアップを取りましょう。
私は全作業を白色名前問題の件で2度行っていますが、正直しばらくこの作業はしたくありません。

進める、確認のサイクルを細かく行う方が安全です。

・次回予定

タブレット本文の日本語化手順。
何か不明点等ありましたら、お聞きください。可能な限りお答えいたします。

・(参考)translate.strgの構造について

translate.strgは以下の構造で作られています。

long(ビッグエンディアン)+UTF-8文字列

これがずっと続いています。つまり4バイト読込、その数値分バイナリを読む、これを最後まで続ければ行毎のテキストにする事が可能です。
但し、UTF-8文字列には、改行(CRLF)、ラインフィード(LF)とタブ(Tab)が含まれているため、テキストに落とす前に別な文字列等に置き換える必要があります。

戻す時には、テキスト(必ずUTF-8で)を行毎に読込、改行(CRLF)、ラインフィード(LF)とタブ(Tab)を元に戻し、バイト数を計算し、long(ビッグエンディアン)に変換、UTF-8文字列を書き込みを繰り返せばtranslate.strgを作れます。

※尚、上記手法で作成した場合でも名前白色化問題が発生したのを確認しております。

0 件のコメント:

コメントを投稿