というわけで、昨日行っていたバグを片付けて更新しました。
前に公開してからの累積していた更新部を丸ごと公開したものです。主に
- DirectDrawを使ってフルスクリーンにしているプログラムに対してのウィンドウ化処理を変更
- 描画対象ウィンドウの検知方法を変更
したことになります。
特に後者について、前と検知方法が変わっているため、ものによっては前のバージョンの方が検知に成功することもあるような気がしています。
そのため、今回特別に両方を公開したままにする予定です。バージョンによる差がどれくらい出るのかどうかがおもしろいところです。
ちなみに、以前記事に書いたとおり、8bitのエミュレーションについてはルーチンは書きましたがおそらく失敗します。画面が真っ黒のまま描画されない、という感じだと予測しています。
さすがにそれになってくると仮想マシン内で実行することで補間処理とか考えてくれ、といいたくなります。
一応、公開する前に必ず処理が成功しているかどうかは確認しています。今まで通り、とあるゲーム数本で動作が成功することを確認しています。
ちょっとびっくりなのは、前までもそうだったのか非常に気にかかるのですが、WinXPとWin7のDirectDrawでのハードウェア拡大処理(?)がなんか違うような気がしています。
WinXP上でDirectDrawを使って拡大をすると補間処理が働いていた「ような気がする」のですが・・・。気のせいでしょうか?
というわけで、気になる人は確認してみてください。