CheatEngine による実装
CheatEngine を新規にインストールされる方への注意、インストール時に色々とアドオンがインストールされてしまうのでチェックを外してインストールされた方が無難です。
スクリプトここから
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="18">
<CheatEntries>
<CheatEntry>
<ID>45</ID>
<Description>"english voice"</Description>
<LastState Activated="0"/>
<Color>FF0000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(voice_lng,ChildofLight.exe,00 08 08 08 08 01 02 03 04 08 05 08 08 08 06 08 07)
voice_lng+8:
db 08
registersymbol(voice_lng)
[DISABLE]
voice_lng+8:
db 04
unregistersymbol(voice_lng)
</AssemblerScript>
</CheatEntry>
</CheatEntries>
<Comments>===============================
Game Title : Child of Light
Game Version : 1.0.31711
Proces Name : ChildofLight.exe
Script Version: 1.0
CE Version : 6.4
Release date : 2015/12/07
Author : 雑用担当
------------------------------------------
History:
2015/12/07: Release for version 1.0.31711
Features:
- change the language of movie voice
===========================================
[NOTE]
===========================================
- brazilian = 0
- english = 8
- french = 1
- german = 2
- italian = 3
- japanese = 4
- latamspanish = 5
- russian = 6
- spanish = 7
===========================================
</Comments>
</CheatTable>
ここまで
を ゲーム名.ct で保存、文字コードは UTF-8N
ゲーム名で無くても可、拡張子をCTにすれば良い。
CheatEngine を起動する

左上の緑枠で囲まれたアイコンをクリック

プロセスリストが表示されるのでゲームの実行ファイル名を選択して Open

フォルダアイコンをクリックして先ほどセーブしておいたスクリプトファイル(ゲーム名.ct)を読み込む

このように下の欄に english voice という項目が表示されるはず
この状態では左端のチェックボックスがオフになっているので現在は japanese voice

オンにすると以降のムービーは english voice となる。
ここから余談
スクリプトは長々書いていますが重要なのは
aobscanmodule(voice_lng,ChildofLight.exe,00 08 08 08 08 01 02 03 04 08 05 08 08 08 06 08 07)
voice_lng+8:
db 08
この部分でチェックボックスがチェックされたら 00 08 ..... と jmp_tbl のアドレスを検索して、そのアドレス+8 が japanese のアドレスになる。そのアドレスの値は 04 なのでそこを 08 に置き換える
チェックボックスのチェックが外されたら元の値 04 に戻す。
ということをやっているだけ。
つまり応用として french 音声 japanese 字幕や japanese 音声 italian 字幕など色々な組み合わせが可能である。各 language の値はスクリプトの [NOTE] 部分を参照してください。
CheatEngine を新規にインストールされる方への注意、インストール時に色々とアドオンがインストールされてしまうのでチェックを外してインストールされた方が無難です。
スクリプトここから
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="18">
<CheatEntries>
<CheatEntry>
<ID>45</ID>
<Description>"english voice"</Description>
<LastState Activated="0"/>
<Color>FF0000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(voice_lng,ChildofLight.exe,00 08 08 08 08 01 02 03 04 08 05 08 08 08 06 08 07)
voice_lng+8:
db 08
registersymbol(voice_lng)
[DISABLE]
voice_lng+8:
db 04
unregistersymbol(voice_lng)
</AssemblerScript>
</CheatEntry>
</CheatEntries>
<Comments>===============================
Game Title : Child of Light
Game Version : 1.0.31711
Proces Name : ChildofLight.exe
Script Version: 1.0
CE Version : 6.4
Release date : 2015/12/07
Author : 雑用担当
------------------------------------------
History:
2015/12/07: Release for version 1.0.31711
Features:
- change the language of movie voice
===========================================
[NOTE]
===========================================
- brazilian = 0
- english = 8
- french = 1
- german = 2
- italian = 3
- japanese = 4
- latamspanish = 5
- russian = 6
- spanish = 7
===========================================
</Comments>
</CheatTable>
ここまで
を ゲーム名.ct で保存、文字コードは UTF-8N
ゲーム名で無くても可、拡張子をCTにすれば良い。
CheatEngine を起動する

左上の緑枠で囲まれたアイコンをクリック

プロセスリストが表示されるのでゲームの実行ファイル名を選択して Open

フォルダアイコンをクリックして先ほどセーブしておいたスクリプトファイル(ゲーム名.ct)を読み込む

このように下の欄に english voice という項目が表示されるはず
この状態では左端のチェックボックスがオフになっているので現在は japanese voice

オンにすると以降のムービーは english voice となる。
ここから余談
スクリプトは長々書いていますが重要なのは
aobscanmodule(voice_lng,ChildofLight.exe,00 08 08 08 08 01 02 03 04 08 05 08 08 08 06 08 07)
voice_lng+8:
db 08
この部分でチェックボックスがチェックされたら 00 08 ..... と jmp_tbl のアドレスを検索して、そのアドレス+8 が japanese のアドレスになる。そのアドレスの値は 04 なのでそこを 08 に置き換える
チェックボックスのチェックが外されたら元の値 04 に戻す。
ということをやっているだけ。
つまり応用として french 音声 japanese 字幕や japanese 音声 italian 字幕など色々な組み合わせが可能である。各 language の値はスクリプトの [NOTE] 部分を参照してください。
コメント