見出し画像

Cruelty Squad日本語化

【要約・まとめ】

色々書いてあるが、結局はこのファイルを使います。
Godot RE Tools任意の.ttf形式の日本語フォントファイルが必要です。
JIS第二水準のフォントの使用を想定しています。
一部セーブデータの互換性が失われるかもしれません。

6/25更新 株・内臓・魚・固有NPCなどの名称を日本語化

基本的には動作に問題ないのは確認済ですが、未知の不具合が発生したり、英語版セーブデータとの互換性が失われるかもしれません(何か大きな問題が起きた場合は、下の方にもあるがCrus jp.zipのほうが安定するかも)
・英語版で入手済みの臓器が、日本語導入後に再取得まで「???」と説明文に表示され未入手扱いになる(所持数は維持され、また通常通り加算される)
・英語版で死亡した固有NPCが、日本語導入後に復活する
これは確認済みの仕様ですが、大きな不都合にはならないかと思います


1.Godot RE Toolsをインストールして起動

2.「RE Tools」→「Recover Project」で「C:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad」などsteamにインストールされてるCrueltysquad.pckを選択
(steamライブラリのCruelty Squadを右クリックして「管理」→「ローカルファイルを閲覧」から開かれるフォルダのことです)

3.Destination folderに同様に「C:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad」を選択して、Optionsの「Extract Only」でExtract(ファイルを抽出)

4.「C:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad」を開いて、crueltysquad.pckをリネームまたは削除
(展開されたファイルと.pckファイルでは、.pckファイルのほうが優先的にゲームに読み込まれるため=展開されたファイルに日本語化の変更を加えても、.pckファイルのほうが読み込まれてしまう)

5.上記Crus jp.zipファイルを解凍して出てきた中身を全て「C:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad」にドラッグ&ドロップで上書き

6.任意の.ttf形式の日本語フォントファイルを「gamefont.ttf」「gamefont(1).ttf」「MingLiU-ExtB-01.ttf」にリネームして「C:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad\fonts」にドラッグ&ドロップで上書き

「MingLiU-ExtB-01.ttf」は印象が近いIPA明朝、「gamefont.ttf」「gamefont(1).ttf」はふぉんとうは怖い明朝体暗黒ゾン字源界明朝、あるいは可読性めちゃ低いけど雰囲気重視なら怨霊フォントなどに変更すると良いのではないかと思います。JIS第二水準のフォントを想定しています。


上記手順で日本語化できるはずです
それと、modloaderとの互換性は検証してないですが、自分が使ってないので多分ないと思います…あしからず


経緯

 去年の春くらいに日本語が表示できるのを確認だけして、夏くらいに何となく人と協力してぼちぼち作業し始め、小説を書き終わり、昨年末くらいにCruelty Squad全文を翻訳したのだが、自分が馬鹿すぎて翻訳を組み込めなかったのでファイルだけアップしておこうと思う

( 2024/06/17 エンディングでの表示を確認・修正済み
 また全般的に細かな改行を調整、メニュー画面や設定、弾薬名、自販機で買えるジュースやスナックの名前などを日本語化)
(セリフの音声をランダムに当てるアップデートに対応、初クリア時の本部でのセリフを日本語に修正)

 この.tsvファイル自体もpentad0氏に作ってもらった。。。
この日本語化はpentad0氏やchihiro氏の力によるところが大きいです 多謝

自分が馬鹿でゲームに組み込んで動作を確認できないので、ゲーム内ではどう表示されるのかなど確認していません。

 このpentad0氏の手順に従えば日本語化できるはず。自分は脳味噌が足りないので出来なかった

追記

できた。pckフォルダとpck_bakフォルダを取り違えてたのが原因くさかった(たぶん)。やればできるみたいです

 最後、バッチファイルの07_import_text_and_copy_to_game_dir.batは途中でGodotエンジンが起動してファイルを置き換えてくれるはずなのでちょっと動作固まってても待ったほうがいいかも

 フォントを置き換えるバッチファイル(06_copy_japanese_font_file_to_game_dir.bat)だけ動作がちょっとよく分からなかったから、Cruelty Squad内のFontsフォルダにあるgamefont.ttfとgamefont(1).ttf、およびMingLiU-ExtB-01.ttfを任意の日本語フォントに置き換えても成立します


概要、やり方

 基本的には、Godotエンジンの特性である「展開したファイルから実行ファイルを起動してもゲームが動作する」という点を生かして、ゲームのpckファイルを展開し、Godotエンジンを利用して.tsvファイルの翻訳を基に日本語に置き換える、ということをしていると思います。すごい

アンパック前のCruelty Squadのフォルダはこんな感じ
アンパックするとこんな感じになります

【推奨】うまく行かない、面倒だという人向け(6/22追記)

コンパイル済みの日本語化ファイルをzipにまとめました
Godot RE Tools任意の日本語フォントファイルだけ用意してください

6/24更新 死亡時およびエンディング3の画像ファイルを日本語化
(それに伴って、エンディング3の字幕を削除 前のバージョンを使用していた人は上のzipファイルで上書きしてください)

6/25更新 株・内臓・魚・固有NPCなどの名称を日本語化
 たぶん大丈夫だとは思うけど、未知の不具合が発生したり、英語版セーブデータとの互換性が(一部)失われるかも

6/24更新

1.Godot RE Toolsをインストールして起動

2.「RE Tools」→「Recover Project」で「C:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad」などsteamにインストールされてるCrueltysquad.pckを選択
(steamライブラリのCruelty Squadを右クリックして「管理」→「ローカルファイルを閲覧」から開かれるフォルダのことです)

3.Destination folderに同様に「C:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad」を選択して、Optionsの「Extract Only」でExtract(ファイルを抽出)

4.「C:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad」を開いて、crueltysquad.pckをリネームまたは削除
(展開されたファイルと.pckファイルでは、.pckファイルのほうが優先的にゲームに読み込まれるため=展開されたファイルに日本語化の変更を加えても、.pckファイルのほうが読み込まれてしまう)

5.上記Crus jp.zipファイルを解凍して出てきた中身を全て「C:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad」にドラッグ&ドロップで上書き

6.任意の.ttf形式の日本語フォントファイルを「gamefont.ttf」「gamefont(1).ttf」「MingLiU-ExtB-01.ttf」にリネームして「C:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad\fonts」にドラッグ&ドロップで上書き

「MingLiU-ExtB-01.ttf」は印象が近いIPA明朝、「gamefont.ttf」「gamefont(1).ttf」はふぉんとうは怖い明朝体暗黒ゾン字源界明朝、あるいは可読性めちゃ低いけど雰囲気重視なら怨霊フォントなどに変更すると良いのではないかと思います。JIS第二水準のフォントを想定しています。


(参考までに)バッチファイルを使用したやり方

 こちらの方法だと、画像ファイルなどが日本語化されません。しかし将来的にゲームがアップデート等した場合にも対応できる可能性がある利点があります。

バッチファイルによる日本語化が完了したあと、こちらのファイルで上書きすると死亡時やエンディングなどの画像ファイルが日本語化されるはずです

Python、Godot RE Tools、Godot 3.5.2-stableのインストールが必要です。

Godot_v3.5.2-stable_win64.exeはC:\Temp/Cruelty Squad/Godot_v3.5.2-stable_win64.exe/に入れます。


7つのバッチファイルがあります。
基本的には上記に書かれた手順に従って、順番に使っていけばいいです。

  • 00_config.bat

まずこれをメモ帳などテキストエディタで開くと、一行目に

rem set gameDir="F:\SteamLibrary/steamapps/common/Cruelty Squad"

とあります。これはゲームのディレクトリ(フォルダの場所)を指定するものです。これがいちばん大事。だいたいみんなCドライブにインストールするかと思うので、

rem set gameDir="C:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad"

たとえば、このように指定してください。

  • 01_create_work_folder.bat

このバッチファイルを実行すると、C:\Temp/Cruelty Squad にワークフォルダが生成されます。ここのショートカットを作っておくと便利です。

  • 02_copy_unpacked_gd_files_to_work_dir.bat

  • 03_copy_unpacked_files_to_game_dir.bat

  • 04_delete_unnecessary_files.bat

  • 05_export_text.bat

この4つは、Cruelty Squadの.pckファイルをアンパックしたり、英語の.tsvファイルを生成するのに使います。手順通りやればいいですが、自分はGodot RE Toolsで.pckファイルを展開する際に、間違ってワークフォルダ(C:\Temp\Cruelty Squad\pck)とバックアップフォルダ(C:\Temp\Cruelty Squad\pck_bak)を取り違えて指定しまって、しばらく詰まりました。
 バックアップフォルダ(\pck_bak)にpckファイルをアンパックして、ワークフォルダ(\pck)にコピーしたり必要なファイルだけ抽出してくれたりする作業をやってくれます。

 Godot RE ToolsのRecover projectからcrueltysquad.pckを選択して開き、アンパックの指定先にバックアップフォルダ(C:\Temp\Cruelty Squad\pck_bak)を指定して、Full Recovery→Extractを実行。
 02_copy_unpacked_gd_files_to_work_dir.batを実行したのち、再びバックアップフォルダ(C:\Temp\Cruelty Squad\pck_bak)を指定してExtract Only→Extractを実行。順にbat/03_copy_unpacked_files_to_game_dir.bat、bat/04_delete_unnecessary_files.bat、bat/05_export_text.batのバッチファイルを実行する。

  • 06_copy_japanese_font_file_to_game_dir.bat

これは C:\Temp\Cruelty Squad\japanese_font に入れた日本語フォントファイル(.ttf形式)を、上記手順によって展開されたCruelty SquadのC:\SteamLibrary/steamapps/common/Cruelty Squad/Fonts に元々あるフォントと入れ替えてくれるバッチファイル。
 バッチファイルを編集してフォントファイルの名前を指定することで、任意の日本語フォントに入れ替えてくれる。

 …はずなのだが、自分は何故かこのバッチファイルをうまく使えなかったので、代わりに直接 C:\SteamLibrary/steamapps/common/Cruelty Squad/Fonts にフォントファイルをドラッグ&ドロップして入れ替えた。
 ゲーム中で使用されるフォントはgamefont.ttfgamefont(1).ttf、およびMingLiU-ExtB-01.ttfがある。前者は手書きのアルファベットのフォントで、後者は明朝体のフォント。

 自分は前者をふぉんとうは怖い明朝体に入れ替えて、後者をオリジナルとほとんど印象が近いIPA明朝に入れ替えた。それぞれのフォントの名前をgamefont.ttfgamefont(1).ttf、およびMingLiU-ExtB-01.ttfに書き換えてドラッグ&ドロップし上書きするだけでもいい。下の日本語に置き換えるバッチファイルを起動するたびにフォントもバックアップの(オリジナルの)フォントに戻されるので、その度にフォントを入れ替える必要がある。

gamefont.ttfとgamefont(1).ttfを「ふぉんとうは怖い明朝体」にした例
gamefont.ttfとgamefont(1).ttfを「暗黒ゾン字」にしてもいいかも
  • 07_import_text_and_copy_to_game_dir.bat

 このバッチファイルを起動すると、まずコマンドプロンプト的なものが立ち上がってそれからGodotエンジンが起動し、C:\Temp\Cruelty Squad\tsv内にあるCruelty-Squad_text_Japanese.tsvのファイルの内容に書き換えてくれる。02~05のアンパックなどの手順がうまく行ってないとエラーになる(と思う)。

 途中の「*.gdファイルコンパイル用のGodotプロジェクトを作成する」という手順(エラーが表示~ダウンロードしてインストールとか)は一回やれば多分大丈夫。

 Godot_v3.5.2-stable_win64.exeはC:\Temp/Cruelty Squad/Godot_v3.5.2-stable_win64.exe/に入れます。
 Godotをインストールしたところの"C:\Temp/Cruelty Squad/Godot_v3.5.2-stable_win64.exe/Godot_v3.5.2-stable_win64.exe"を実行して、「新規プロジェクト」したらC:\Temp/Cruelty Squad/gdc_project_workを入力して「作成して編集」「プロジェクト」→「エクスポート」→「追加」→「Windows Desktop」→「エクスポートテンプレートの管理」→「ダウンロードしてインストール」という手順のはず。

00_config.batの中にGodotエンジンの記述もあるのだが、

set godotEngineExe="%tempDir:~1,-1%/Godot_v3.5.2-stable_win64.exe/Godot_v3.5.2-stable_win64.exe"

 一応バージョンが3.5.2-stableと指定されているので、それに合わせてインストールした。Godotエンジンは.gdファイルを日本語に書き換えてコンパイルして.gdcファイルにする過程で使われます。

こっちは株・内臓・魚・固有NPCなどが英語のままのバージョン

こっちは株・内臓・魚・固有NPCなどの名称を日本語化
未知の不具合が発生したり、英語版セーブデータとの互換性が失われるかも

 .tsvファイル自体はUTF-8で記述されていてNotepad++などで編集可能。1333行目のあたりに日本語でも音声を流してくれるスクリプトが入っているそうです。

 一度ちゃんと書き換わることを確認できたら、翻訳の更新などがあった場合、このバッチファイルを起動するだけで再び(更新された)Cruelty-Squad_text_Japanese.tsvの内容に書き換えてくれます。


バッチファイルによる日本語化が完了したあと、こちらのファイルで上書きすると死亡時やエンディングなどの画像ファイルが日本語化されるはずです


 全てが分からなくなったら、Cruelty Squadのフォルダの中身を全部消してインストールし直し頭からやり直すとかすると出来たりします(気分的に)

・文字列が全く表示されない
 →テキストは日本語に置き換わっているが、恐らく日本語フォントがインストールされていない
・フォントは変わっているが、文字列が英語のまま
 →翻訳ファイルが正常に転写されていない。工程のどこかで間違っているので、やり直す


初ミッションクリア時のCruelty Squad本部でのセリフが訳されてないことに気付いたので、とりあえず上記手順の後にC:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad\LevelsにあるTraining_Level.tscnをnotepad++などで開いて、11825行目の以下の行を、

DYN_LINES = [ [ "N" ], [ "N" ], [ "Great job out there! Can't believe that was only your first mission.", "I would have done it myself but I was simply too busy. I'm preparing to start my own PMC. Getting too old for this. Hahaha!", "Already got funding too so things are looking up. I'll let you know when I'm recruiting if you ever want a change of pace.", "Never thought I'd go this far." ], [ "N" ], [ "N" ], [ "N" ], [ "N" ], [ "N" ], [ "N" ], [ "N" ], [ "N" ], [ "N" ], [ "N" ] ]

こちらに書き換えたら良いと思います。 →.tsvファイルに追加してもらって対応済 おんぶにだっこ

DYN_LINES = [ [ "N" ], [ "N" ], [ "よくやった!これが君の最初のミッションだなんて信じられないよ。", "僕がやっても良かったんだが、忙しくてね。新しいPMCを立ち上げるところなんだ。こういう仕事をするには年を取りすぎてね。ハハハ!", "もう資金は集まってるから万事好調ってとこさ。自分のペースで仕事したくなったら、君にも仕事を紹介するよ。", "まさかここまで来るとは思わなかったなぁ。" ], [ "N" ], [ "N" ], [ "N" ], [ "N" ], [ "N" ], [ "N" ], [ "N" ], [ "N" ], [ "N" ], [ "N" ] ]

他にも追加されたセリフがあるかもしれないが未確認です

書き換え前
書き換え後

ギャラリー

仕様的にセリフの音声が無くなってしまう、口の代わりにハンドラーが表示されるときがある、一部改行にミスがある(これは多分私のせい)など仕様とか問題とかがないわけではないが、日本語にできるようです

→ 6/17以降、日本語表記でもセリフの音声が出るようになりました。オリジナルではアルファベットに対応して音声が流されるところを、ランダムに再生しているそうです。すごい。謎の技術

神なる光は切断された 君は神経伝達物質で駆動する肉人形となった

これ日本語表示なかったからここに書いておく

導入方法が分からないけど簡単に作ったから置いておく
(6/24)→上のほうでzipにまとめたが、導入できた。

バッチファイルによる日本語化が完了したあと、こちらのファイルで上書きすると死亡時やエンディングなどの画像ファイルが日本語化されるはずです


エンディング(参考用、ネタバレ)


レビューも書いた

Goldeneye (N64) + L.S.D. (PS1) + Baroque (SS) / Georges Bataille = Cruelty Squad

加速主義に基づいた資本主義社会的ディストピアを舞台にした、死が克服されて生命がほとんど無価値になった世界で暗殺稼業を請け負う、出口のない主人公のバイオパンク・イマーシブFPS。
ジョルジュ・バタイユの消費社会論を基底にしたストーリーや、様々な攻略法が存在するマップの出来の良さ、80-90年代サブカルチャーへの異常とも言える執着、当時の実験機や試作品しか出てこない偏った銃の趣味、クローン技術や幹細胞技術を濫用したのであろう氾濫する生命や生物を利用したガジェットの数々、見た目からして(着色料を使った原色のケーキのような…)疲弊した消費社会の退廃的で純粋なサイバーパンクを実現していることが魅力。

ユウウツな眠りから起こしちまったか?

 主人公はSECデスユニットを除隊後、荒廃した酷い暮らしぶりをしていたらしいことがハンドラー(請負人)から語られる。そこから主人公は残虐部隊【Cruelty Squad】に転属となる。
 メニュー画面でミッション説明をしてくれるハンドラーは、膨れ上がった脂肪に覆われた怪物のような外見をしている…だが加速主義に基づいた経済システムが全てに優先し、生命倫理がないこの世界ではその怪物のような外見こそが日常なのだ。大量生産、大量消費、大量廃棄のエコ・システムの循環…それはこの現代の資本主義経済のシステムそのものだ。Cruelty Squadの過剰なビジュアルは、原義のシュルレアル=超現実を表現していると自分は解釈する。

 無神論者のジョルジュ・バタイユによれば、原始生命の段階では【死】の概念が存在しなかったらしい。単細胞生物は分裂によって自身をクローニングする事で、自らの複製を作ることができる。個体はそのように増えていき…世界は生命で溢れかえる。バタイユによれば、これは我々が太陽から無限の熱・光エネルギーを供給され続けていることに由来する。
 そのエネルギーの消費のために生命は複雑化したという。生命の形態はより複雑化し、単細胞生物から多細胞生物へと選択され、減数分裂と有性生殖はより多くのエネルギーを消費する…そうして進化によって生まれた草食動物が草を食べ、そして肉食動物が草食動物を食べることで…ここで初めて【死】の概念が導入される。すなわち生命というものは元来より、生産・消費・廃棄(=誕生・死・分解)のシステムの循環そのものである。

 そしてそのエコ・システムの循環とは、この経済システムも同様だ。

 Cruelty Squadの世界では生命存在が氾濫し、クローン技術や臓器移植は自明のこと(何度も死ぬと借金返済のために肉体が再生する「Power in Misery」モードになることでそれが示される)であり、すなわち死が克服されている。それはバタイユがいうところの単細胞生物の世界観だ。そして減数分裂しない同一の遺伝子をクローニングし続ける世界では…生物多様性は失われる。新たな遺伝子、新しいものは誕生しなくなる。この閉塞感こそが主人公の抱える「ユウウツな眠り」そのものだ。

お前の暴力的慈悲によって生命存在を終わらせろ

 中盤以降、ハンドラーのミッション説明はより観念的なものになっていく。まるで疲弊する資本主義を体現するような彼の肥え太った身体が救済を求めるように。主人公もまた、ピュア・オプティクス社の装置にLife(生命・人生)を捧げてDeath(死、死神)そのものとなる。
 主人公は疲弊して肥え太った社会を解体する分解者(デコンポーザー)になったのだ。

 エンディング1ではアブラクサス(太陽と同一視されたイラン神話のミスラ、あるいはインド神話のミトラと関係する。また弥勒菩薩/マイトレーヤと語源を同根とする)を打ち倒し、死の克服された世界に永遠に囚われるという仮初の幸福を得る。

 エンディング2で主人公は文字通り「希望が失われ」(Hope Eradicatedモード)、「死そのものとなり」、自らの似姿のボスを打ち倒すと、「Life」(生命・人生)の顔面と相対した際に次のように語られる:
「キャリアパス設定。10年計画。投資。早起き。CEOマインドセット。せいぜい頑張るこった」
 すなわち、生命・人生を捧げて経済社会のエコ・システムにコミットメントしろという…それは勤め人の立場だろうが消費者の立場だろうが、企業法人の奴隷になることを半ば強制されている現代人全てが抱える命題だ。
 主人公=プレイヤーは経済システム(ゲーム内に組み込まれた株式取引システム)によって投資し、資産を増やして、家を購入する。それはこの資本主義社会のシステムと、教育やコマーシャリズムによって我々に植え付けられた「幸福のモデル」そのものだ。
 だが上で既に述べたように、バタイユ的に言えば、生命と経済のエコ・システムはそもそも同一のものだ。これもまた、エンディング1と同様に仮初の幸福であることに違いはない。

 トラウマループを克服し「生命のゆりかご」なるものに触れると、エンディング3で暗殺者である主人公が文字通り「死をもたらすもの」となり、生命存在を終わらせていくことが語られる。この膨れ上がった生命と経済のエコ・システムの循環を断ち切るのは君自身だ。ニーチェの言う永劫回帰からの脱却…仏教でいう[b]解脱[/b]の概念に近い。それはこの生命と経済社会のエコ・システムの循環を断ち切り、終わらせることだ。これはパンク思想の根幹であるシステムへの叛逆だ。すなわち暗殺者である主人公=プレイヤーのもたらす死によって、価値が規定される。生命の価値は死に由来していたのだ。

 Cruelty Squadは最も純粋なサイバーパンクとバイオパンクの表現型だ。

---
『東京!一人暮らしだモナQ棟201号室ギコ男』の作者Bodiesbeat氏がブログ「海難を防ぐメモ」で語っていたことから引用すると、
「僕らは世界を脳という正体不明のフィルターを通してしか感覚出来ない。
そのために僕らの感じる音、色、味・・・等々は本来のものでは無く、
生データを元に脳があらゆる脚色着色を施した唯一無二で独自の
アメリカのケーキみたいにグロテスクな妄想の塊であるはずだろう。
僕らは屈折したイメージの中に生きているんだ。
何一つ真実なんか見えていない。自らの脳の中でもがいているだけ。
そこをさらに推し進めて、最早世界は僕らから独立して存在しているのではなく
脳が観察するから存在している、脳に依存してようやく成り立っているのでは、とも思う。」

というのが、ゲームの世界観を端的に表現していると思う。
それはデヴィッド・ボウイが"Life on Mars?"で歌っていた「ミッキー・マウスは膨れ上がって牛になる」という疲弊した資本主義のモチーフ…「着色料を使った原色のケーキ」のようなグロテスクな90年代的ビジュアルが、このゲームそのものを象徴していると言える。

---
日本語にすると世界観が理解しやすいです
日本語にしましたので、あとはよろしく(様々な助言や協力をして下さったpentad0氏とchihiro氏のお二方に感謝)

ちなみに16GB RAM intel i5 UHD620とかでも、まあカクつくときあるけど動きます
個人的な話だけど、自分の誕生日にリリースされていたのが嬉しかった


コントローラでCruelty Squadを遊びたい人向け

 これは日本語化には関係ないけど、コントローラでCruelty Squadを遊びたい狂人向けのXbox360コントローラのレイアウト(多分steamが開きます)

steam://controllerconfig/1388770/3243748132
00年代のUBIソフトのタクティカルFPS(ゴーストリコンとかレインボーシックスとか)は、
左スティック押し込みでしゃがみ、右スティック押し込みでズームっていうレイアウトだった
LTでキックするのはXbox版のReturn to Castle Wolfensteinがそうだった
初代Xboxの白・黒ボタンはLBとRBに対応し、白ボタンが腕インプラントだとAボタンのジャンプと同時に使える想定を開発者がしていたが、Xbox360互換対応された際に操作性が変わってしまったという想像をしています(今、存在しないCruelty Squadの初代Xbox版の話をしています)

For Those Who Somehow Got Lost in Here…

well I thought pentad0's CruS Japanese translation batch files might be useful for making a translation of any other language
So I'll try to explain what these batch files are & how to use them
I'm not sure it even works but you'd get the idea at least


00_config.bat

Open up this batch file with a text editor, you'll see on the first line:

rem set gameDir="F:\SteamLibrary/steamapps/common/Cruelty Squad"

this is a setting for your game directory. Edit here something like this:

rem set gameDir="C:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad"

01_create_work_folder.bat

Run this batch file you'll get your working folders under "C:\Temp/Cruelty Squad"

/pck/bak
Contains files Unmodified

/pck
Contains files Modified

/tsv
Contains .tsv text files
"Cruelty-Squad_text_English.tsv" ... Contains Extracted lines from game's files
"Cruelty-Squad_text_Japanese.tsv" ...Contains lines which will be implemented into the game

/Godot_v3.5.2-stable_win64.exe
Put Godot_v3.5.2-stable_win64.exe in this directory

/gdc_project
A folder for compiling .gd files into .gdc files (.gdc = compiled .gd file)

gdc_project.zip
/gdc_project_work

relate to above... I have no idea really


Firstly, you'll need to install Python 3.11 above & Godot RE Tools

Execute "01_create_work_folder.bat" to create working folders in "C:\Temp/Cruelty Squad"

Unpack & decompile crueltysquad.pck

  1. Execute gdre_tools.exe > RE Tools > Recover project

  2. Select crueltysquad.pck in your gamefolder as in "C:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad" then press "Open"

  3. Select "C:\Temp/Cruelty Squad/pck/bak" as a Destination Folder, select "Full Recovery" in Options then "Extract"

  4. Execute "02_copy_unpacked_gd_files_to_work_dir.bat" then this batch file will copy those .gd files into C:\Temp/Cruelty Squad/pck and clear them

  5. Select "C:\Temp/Cruelty Squad/pck/bak" as a Destination Folder again, select "Extract Only" in Options then "Extract"

Then, Excute "03_copy_unpacked_files_to_game_dir.bat" and this batch file will copy extracted files into your game's directory as in "C:\Program Files (x86)\Steam\steamapps\common\Cruelty Squad", and will rename crueltysquad.pck so the game won't load this .pck file

Executing "04_delete_unnecessary_files.bat" will automatically back-up .gd files from "C:\Temp/Cruelty Squad/pck/" to "C:\Temp/Cruelty Squad/pck/bak" and deletes unnecessary files

Excuting "05_export_text.bat" won't be necessary, since you can get already-extracted English tsv text file from Github
but this batch file will extract necessary lines from game's files anyway (I couldn't use this one well...)


You can find "Cruelty-Squad_text_English.tsv" from Github or as a Extracted file.
Rename this file "Cruelty-Squad_text_Japanese.tsv" and this will be your translation file. (well at least I believe so...)
Alternatively, you can just replace each Japanese lines into your language in original "Cruelty-Squad_text_Japanese.tsv" file by hand. although I think identifying Japanese lines for non-Japanese speakers is pain in the ass

There're several points you need to know:

  1. it's written in UTF-8. You can edit it using Notepad++ or whatever

  2. if you want a new line, use \n (sometimes you can't insert linefeeds as in NPC's lines)

  3. if the line were written like:


Levels\Training_Level.json	json			Cruelty Squad Headquarters	???	An oasis of love and friendship.	[EOL]

Replace each texts. (in this case, "Cruelty Squad Headquarters" "???" "An oasis of love and friendship." will be replaced)

Levels\Training_Level.json	json			残虐小隊本部	???	愛と友情のオアシスさ。	[EOL]

and if the line were written like this:

Scripts\Dialogue.gd	gd	14	0	You seem cool.	You seem cool.	[EOL]

you replace the latter one. the script will refer the first one to locate the line in game's files and will replace into latter text you translated. (that's what I believe)

Scripts\Dialogue.gd	gd	14	0	You seem cool.	あんたクールだな。	[EOL]

in this page, You may find scripts which will automatically replace and merge texts into "Cruelty-Squad_text_Japanese.tsv" though, I couldn't use this one as well, so... You may need to replace your translations by hand.


anyway,
To apply your Translated .tsv file

Firstly, put Godot_v3.5.2-stable_win64.exe in the directory "C:\Temp/Cruelty Squad/Godot_v3.5.2-stable_win64.exe/"

I'm not sure what Godot Engine's system messages in English language here, so I'll try to explain but I probably miss some points.

Create Godot project for compiling .gd files

  1. Execute Godot_v3.5.2-stable_win64.exe in "C:\Temp/Cruelty Squad/Godot_v3.5.2-stable_win64.exe/"

  2. Press "New Project" or something like that

  3. the Path will be "C:\Temp\Cruelty Squad\gdc_project". Press "Create and Edit" or some sort.

  4. Choose "Project" > "Export"

  5. Press "Add..." and select "Windows Desktop"

  6. Error message will be displayed, so press "Management of Export templates" or something like that

  7. Press "Download and install", when it's finished, Press "Close" and quit Godot Engine

Put your translated .tsv file, "Cruelty-Squad_text_Japanese.tsv" in "C:\Temp\Cruelty Squad\tsv"

Execute "07_import_text_and_copy_to_game_dir.bat" will pops up the terminal, and Godot Engine will be executed too. When it's finished, your translated texts are probably implemented into the game.

If you want to update your translation, just overwrite "Cruelty-Squad_text_Japanese.tsv" in "C:\Temp\Cruelty Squad\tsv",
then simply execute "07_import_text_and_copy_to_game_dir.bat" again.


For your information:

06_copy_japanese_font_file_to_game_dir.bat
This batch file will overwrite font files though, somehow I couldn't use this one well so you can just rename your font files to "gamefont.tff" "gamefont(1).tff" and "MingLiU-ExtB-01.ttf", then put those files into /Cruelty Squad/Fonts folder then overwrite them.
If you have no problem to display your language with original fonts, you don't need any of these processes.

vanilla Cruelty Squad's voices are related to alphabets so when you use any other characters than alphabets, it goes silent. though added script in line 1333 Japanese .tsv file here, will randomly play those sounds.

Menu\Speech.gd	insert_lines	92		\t\tif c.ord_at(0) >= 11904:	[EOL]
Menu\Speech.gd	insert_lines	92		\t\t\temit_signal("character_speak")	[EOL]
Menu\Speech.gd	insert_lines	92		\t\t\t$AudioStreamPlayer.stream = alpha_sound[c.ord_at(0) % 26]	[EOL]
Menu\Speech.gd	insert_lines	92		\t\t\t$AudioStreamPlayer.play()	[EOL]
Menu\Speech.gd	insert_lines	92		\t\t\t$AudioStreamPlayer.play()	[EOL]
Scripts\speech_label.gd	insert_lines	91		\t\tif c.ord_at(0) >= 11904:	[EOL]
Scripts\speech_label.gd	insert_lines	91		\t\t\temit_signal("character_speak")	[EOL]
Scripts\speech_label.gd	insert_lines	91		\t\t\t$AudioStreamPlayer.stream = alpha_sound[c.ord_at(0) % 26]	[EOL]
Scripts\speech_label.gd	insert_lines	91		\t\t\t$AudioStreamPlayer.play()	[EOL]

FYI, Line 32 here is subtitles for Ending 3. if you couldn't replace texture files, this will be your alternative. with this method, it should be displayed something like this:

in the English tsv file, Line 14 "Cutscenes\CutsceneEnd3.tscn" is the line to put your translation. If you don't want to display subtitles in Ending 3, just ingore it or overwrite with vanilla "CutsceneEnd3.tscn" file.


some tips

Names of Missions, Weapons, Implants, Unique NPCs, and Acronyms of Stocks, Organs, Fishes are used in game's save files so if you change those names you'll lose some compatibility with original savegames.
but translated names will be saved and loaded seemingly without any remarkable problems, so it might be okay. (though I didn't translated names of Missions, Weapons, Implants for safety. Weapons and Implants names were added in their descriptions instead)

translated NPCs names will be written in your savegames and saved and loaded without any remarkable problems, so Dead NPCs resurrect once, but you can just kill them again... they only live twice.

if you want to translate organs names, you'll have to change both in .tscn files of Entities\Physics_Objects and Entities\Stock_Handler.gd
if not, this'll cause some problems


Handler美少女化

通常版
メカクレ版

自分はオリジナルのHandlerのキャラクターやデザインがいいと思うから、あまり乗り気はしなかったけど作ってしまったからアップしとく
これもModloaderと合わせると問題が起きる場合あるらしいから、Modloader使ってる人はなんとかやってみてください

よう、オレだ ユウウツな眠りから起こしちまったか?

そんな感じです。あとはよろしく

いいなと思ったら応援しよう!