KSR Web Site
PROJECT:KSR2000AST(2001/08/11)
一部の環境で、bitmapの読み込み時にエラーが出ていたのを、修正した(つもり)。
グラフィックの微調整と、難易度の調整も行った。

■エラー内容
読み込んだグラフィックは、DirectDrawSurfaceに格納されるのだが、 この格納用のDirectDrawSurfaceを作成に失敗して、 エラーが出ていることがわかった。

■調査した内容
DirectX SDKのドキュメントで、こんな記事を見つけた。
--- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
DirectX の以前のバージョンでは、オフスクリーン サーフェスの 最大幅はプライマリ サーフェスの幅に制限されていた。
DirectX 5.0 では、ディスプレイ ハードウェアがサポートできるのであれば、 必要なだけ広いサーフェスを作成することができる。
ただし、幅の広いオフスクリーン サーフェスを宣言する場合には注意が必要である。
ビデオ カードメモリが要求された広さのサーフェスを保持できない場合、 サーフェスはシステム メモリに作成される。 明示的にビデオ メモリを選択し、ハードウェアがそれをサポートできない場合、 その呼び出しは失敗する。
詳細については、「ワイド サーフェスの作成」を参照すること。
--- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
どうやら、ビデオカードの制限で、1280×960のサイズの グラフィックデータが読み込めなかったようだ。
オフスクリーンサーフェイスの最大幅を、プリマリサーフェイスの幅にすればよい。
つまりグラフィックデータの最大幅を、640にすればよい。

■修正内容
これまでグラフィックデータは、 1280×960のサイズが1枚分だったのだが、 これを分割して、640×480のサイズを4枚にした。
グラフィックデータ読み込み部分と切り出し座標の計算部分を、 それにあわせて修正した。

[ back ]