プログラムを変更する(7)
ck2パッチの話です
前回
今回
この話です。
ひゃー改行できた~ pic.twitter.com/8bCQWRmLm4
— matanki.saito (@matanki_saito) 2017年12月16日
改行を修正する
EU4だとxmmレジスタ(浮動小数点数)を使って幅を計算していましたが、ck2だと整数でした。その他はだいたい同じでした。
改行処理は下記のすぐ下にいます。 popush.hatenablog.com
拡大するとこうです。送り幅(advance width)が0であるかをチェックしてところがあります。スペース(0x20)はフォントを読み込んだときに強制的に送り幅をが0に上書きされるため、文字幅チェックが行われるようになります。よってEU4と同じように修正出来るわけです。
前処理として、ローカル変数用のスタックサイズを変更します。0x428に0x8を足して0x430にしました。追記)この処理はいりませんでした。
ローカル変数[ebp-438h]]にコードポイントを保存しておきます。
最後にコードポイントを見て、改行チェックを行うように誘導します。
次回はプログラムを変更する(8)です