dont fill textures w/o ram images

This commit is contained in:
cxgeorge 2002-10-23 02:48:50 +00:00
parent c56d92f5d5
commit d0197351ab

View File

@ -1425,10 +1425,12 @@ IDirect3DTexture8 *DXTextureContext::CreateTexture(DXScreenData &scrn) {
#endif #endif
#endif #endif
if(_texture->has_ram_image()) {
hr = FillDDSurfTexturePixels(); hr = FillDDSurfTexturePixels();
if(FAILED(hr)) { if(FAILED(hr)) {
goto error_exit; goto error_exit;
} }
}
// Return the newly created texture // Return the newly created texture
return _pD3DTexture8; return _pD3DTexture8;
@ -1443,6 +1445,12 @@ HRESULT DXTextureContext::
FillDDSurfTexturePixels(void) { FillDDSurfTexturePixels(void) {
HRESULT hr=E_FAIL; HRESULT hr=E_FAIL;
assert(IS_VALID_PTR(_texture)); assert(IS_VALID_PTR(_texture));
if(!_texture->has_ram_image()) {
dxgsg_cat.warning() << "CreateTexture: tried to fill surface that has no ram image!\n";
return S_OK;
}
PixelBuffer *pbuf = _texture->get_ram_image(); PixelBuffer *pbuf = _texture->get_ram_image();
if (pbuf == (PixelBuffer *)NULL) { if (pbuf == (PixelBuffer *)NULL) {
dxgsg_cat.fatal() << "CreateTexture: get_ram_image() failed\n"; dxgsg_cat.fatal() << "CreateTexture: get_ram_image() failed\n";