hspdxを使用してフルスクリーンのゲームを作成しているのですが、分からない点があるので質問
させて頂きます。
今まで、フルスクリーンモード中に、alt+tabや他アプリケーションによるフルスクリーンの解除が
された時の対処を取っていなかったので、フルスクリーンが解除された時に、ゲームがエラーで
終了する状態となっていました。
最近になってhspdxに「es_bufcheck」という、それに対応した命令がある事を知りました。
この命令は、「ウィンドウのフォーカスとバッファのロストを監視し、フォーカスが別ウィンドウに
移ったときは実行を停止し、バッファのロストが生じたときはそのバッファの復元を行った後
statに1を返す」というものです。
この命令を組み込んだおかげで、エラー終了する事は無くなったのですが、問題点があります。
DirectXの仕様で、別ウィンドウにフォーカスが移ると、vramの内容が消失する場合があるとの事で、
ウィンドウのフォーカスが再び自分のゲームに戻った時に、自前でvramの内容を復帰させなければ
なりません。
マップチップやスプライトデータなど、fileで存在するものは、ただ単にfileを再読み込みすれば
解決します。
しかし、vramにはその他に、それらの画像データを元に加工した一時的な画像データが存在する為、
それをどうやって復帰させたら良いのか頭を悩ませています。
もし、ウィンドウのフォーカスが移るのを直前に検知する方法があれば、vramの内容が消失する前に
一時fileとして待避したいと考えているのですが、そういった手段は可能なのでしょうか?
そういった手段が取れないとしたら、どういった対応を取れば良いのでしょうか?
以上、よろしくお願い申し上げます。