2022年、12月10日時点の情報です。
アップデート等でアドレスが異なる、通用しなくなる等があります。
使い勝手をよくしてみる
上記の謎のファイルは何なのかの説明は省くがJKS_Win64の撮影モードの使い勝手をよくしてみようと思う。
キャラを消させないようにする
地道な調査の結果、”カメラとキャラの距離の値”と”決められた値”を比較する命令はGameAssembly.dll+1F95705、
その結果を受けてキャラを消すかどうかの分岐を行う命令はGameAssembly.dll+1F95708であることが分かった。
comiss xmm6,xmm0
ja GameAssembly.dll+1F95737
xmm6には”決められた値“が、xmm0には”カメラとキャラの距離の値“が格納されている。
この二つを比較して、”決められた値“が”カメラとキャラの距離の値“を上回った時、GameAssembly.dll+1F95737にジャンプする。
GameAssembly.dll+1F95737にジャンプすると、詳細はよく分からないがキャラが消えることになる。
comiss xmm6,xmm0の命令を、comiss xmm0,xmm0にすることで、”カメラとキャラの距離の値“が”カメラとキャラの距離の値“を上回ることはなくなるので、ジャンプしなくなり、キャラが消えることが無くなる。
または、直接
GameAssembly.dll+1F95708の、ja GameAssembly.dll+1F95737の命令をnop 2にすればジャンプ命令がなくなり、キャラが消えることが無くなる。
暗闇を晴らす
次にポーズ時にキャラの一部が暗黒に包まれるのをなんとかしてみようと思う。
詳細は分からないが、地道な調査の結果、”この命令が走るとき、現在どういう状況なのか”を比較する命令はGameAssembly.dll+212A72D、
その結果を受けて暗黒に包まれるか、あるいは暗黒を晴らすかの分岐をする命令はGameAssembly.dll+212A730であることが分かった。
cmp edi,01
je GameAssembly.dll+212A743
ediの値はGameAssembly.dll+212A6CAとGameAssembly.dll+212A6CDの命令で決まるが、ポーズ時に01、ポーズを解除したときに00になるようだ。
詳細は分からないが、ediが01と等しい時、GameAssembly.dll+212A743にジャンプし、キャラクターの一部が暗闇に包まれ、01と等しくない時、ジャンプしなくなり、暗闇が晴れることになる。
そして、ポーズ時にediは01になり、キャラクターの一部が暗闇に包まれることになる。
なので、GameAssembly.dll+212A730の、je GameAssembly.dll+212A743の命令をnop 2にすればジャンプ命令がなくなり、キャラクターの一部が暗闇に包まれることが無くなる。