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 ]