プログラムを改造する(7)
EU4パッチの技術情報です。
前回
マップテキストの大文字化
概略
localisationフォルダのテキストを見てください。国名は大文字になっていません。にも関わらずゲームのマップテキストはすべて大文字になっています。これはつまりa-zのバイトに対しては内部的に0x20を引いている場所があるということです。日本語の場合はスキップしないといけません。
修正前
途中callしている関数の中で0x20を引いています。
修正後
バグの修正
概略
ここまでの修正で下記のタブを見ようとしたところ、強制終了してしまいました。
修正
レジスタを戻す処理を忘れていました。
マップテキストの修正?
概略
メモにはmap bug fixと残されていましたが覚えていません。日付(9/10)から考えて、下記あたりだと思います。 popush.hatenablog.com
この修正の上では前回の「マップテキストの調整」の修正が入っているので、ループから抜ける条件を追加したのだと思います。EU4のマップテキストのジャスティファイは間にスペース(0x20)を入れていって、その全長が表示領域をこえたらループを抜けるようになっていたので、それを変えたのだったと思います。
修正前
修正後
間にスペースが入るようになりました。
プログラムを改造する(8)へ続く