HotlineMiami2日本語化MOD

HotlineMiami2のセリフのみ日本語化MODを作成しました。

ダウンロード

  • 上記をダウンロード&解凍
  • japanmod.patchwad"ドキュメント/My Games/HotlineMiami2/mods"配下に配置
  • ゲームタイトル→Options→LanguageでJapanmodを選択

MOD概要

HotlineMiami2 PC版は日本語を選択できませんが、データ内には日本語が存在します。
ただ、強制的に選択しても日本語に対応したフォントが存在しません。

このMODでは

  • 日本語を選択可能に
  • 日本語フォント画像の埋め込み
  • 雰囲気を重視してセリフ以外は英語

という対応をしています。

日本語化MODの作成手順

もしも、日本語化modを作成する場合以下の手順を参考にしてください。
※ binファイルは32bit(4Byte)のリトルエンディアンで数値が記録してある点に注意

必要なツール

日本語を選択可能にする

  1. HLM WAD Explolerでhlm2_localization.binを取り出します。
  2. バイナリエディタでJapanese文字列後ろの0C02などに書き換える。
  3. 書き換えた hlm2_localization.binをHLM wad explolerでReplaceする。

日本語フォントの埋め込み

HLM wad explolerで日本語化したいフォントを確認をします。

次に、bmfontで使用するフォントを画像化します。

  1. Font Optionsで種類とサイズの決定
  2. hlm2_localizationで使用する文字を列挙したUTF-16のテキストを作成
  3. 上記ファイルをSelect chars from fileで開く
  4. 00000 Latin + Lation Supplementも一応選択
  5. ExportOptionsフォント画像がpng形式で1ファイルになるように調整
  6. 出力

最後にHLM wad explolerで該当のフォントをReplaceします。
※ XML内のファイル指定は機能していないので同名のファイルにする

セリフの書き換え

C言語風で書くと以下のような構造になっています(文法的に正しくないです)。

struct hlm2_localization{
  int32_t language_length;
  int32_t unknown1;
  struct language_data language_section[language_length];
};
struct language_data{
  int32_t lang_name_length;
  char lang_name[lang_name_length];
  int32_t control_number;//選択の可否とか設定している
  int32_t text_length;
  struct position head_section[text_length];
  struct text body_section{text_length];
};
struct position{
  int32_t text_position;
};
struct text{
  char text[];//head_sectionのtext_positionから次のtext_positionまでの文字列
};

上記を考慮して以下のようなスクリプトを作るか
gist
海外の人が作っているエディタを使えば編集できます。

何か合ったらメールかtwitterまでお願いします。