鉄道経営系ゲーム製作スレッド Ver.6
■ このスレッドは過去ログ倉庫に格納されています
0820名前は開発中のものです。
2010/03/21(日) 04:10:40ID:aViYKpOiとりあえず、何故かコメントアウトされている以下の4行を稼動させれば
bltAlphaFastは一応動くと思いますよ。
AlphaBlender.cpp - bltAlphaFast
--------------------------
137: memset( &ddsdTarget, 0, sizeof ddsdTarget );
138: ddsdTarget.dwSize = sizeof ddsdTarget;
144: memset( &ddsdSource, 0, sizeof ddsdSource );
145: ddsdSource.dwSize = sizeof ddsdSource;
--------------------------
このコードがないと構造体が初期化されず、正しい値を返してくれません。
Lockの返り値を見るとおそらく失敗しているはずです。
(Lockの返り値でエラーチェックされていないので、見逃してしまったのでしょう)
メモリの読み取りエラーも、偶然のメモリ配置により偶然成功し、Lock範囲を超えて
書き込んでしまったせいだと思います。
ちなみに、0.9.0でgetDisplayModeが失敗するのも同じ原因です。
DDSURFACEDESC2構造体が初期化されていなかったため、
GetSurfaceDescがDDERR_INVALIDPARAMSを返して失敗しています。
0.9.0.1ではコメントアウトしているようですが、Fixed riorio 2010.03.16の部分を復活させると
正しく動作すると思います。
それでは、お邪魔しました。
■ このスレッドは過去ログ倉庫に格納されています