ここ最近はドラクエで作らなければならない機能のうち、エディタ関係を強化・改善している。


主にメニュー関係、フィールドにおけるキャラクタ操作、戦闘画面操作等。


当然エディタを名乗るからには、メニュー部分も任意に編集可能としているが、

作成当初は画面サイズを原寸、表示倍率を加味しない画面で編集機能を使った。


しかしメニュー編集時に画面サイズが小さく、メニューのアイテムや枠線を配置する際に操作性が悪かった。

これを表示倍率をつけることで操作性向上を狙ったが、どうも編集時の座標やサイズと、内部データで合わない現象が発生。


マウスカーソル位置をTwipやPixel換算したり、内部データを生値で参照したりするが、その際の相互変換が間違っていると思われる。


とりあえずやっつけで対象メニューの座標割り出しの部分は直してみたが、その後のマウスカーソル移動時の移動処理やサイズ変更処理がうまくいかない。


やっつけではうまくいかないので、一旦整理して、換算処理の全体的な見直しが必要になるかも...という状況。


で、色々と探ってみたところ、何となく活路が見えてきた。

自分で組んだコードではあるが、かなり前なので思い出しながら解読していたところ、

文字表示用のスケール処理と、メニュー枠線表示用のスケール処理を分ける必要があるが、

それが一部で一緒くたになっているような気がする。


当初はメニュー全体画面を共通のスケール処理としていたが、それだと文字が潰れて視認性が悪くなるため、

文字のみ鮮明に表示させたくてスケールを分けた様だ。


メニューサイズを変えた時に、この辺のスケーリング処理を見直せばなんとか直りそう、という事が分かったので、

次回はこの辺りを重点的に見ようと思う。