2010-12-10 20 views
5

Ayer encontré códigos fuente para mi juego Tetris desarrollado hace muchos años en C++, Win32 API y DirectDraw 7. Intenté construir una solución sin éxito porque la más reciente DirectX SDK (June 2010) no incluye DDraw.h y DDraw. lib más.Reemplazando el código de DirectDraw heredado

¿Hay algún enfoque recomendado (con suerte con ejemplos) para actualizar el código de DirectDraw a una API más nueva? ¿O debería simplemente instalar el SDK de DirectX anterior?

+0

Se movieron al SDK de Windows. –

Respuesta

3

Si usa la funcionalidad DirectDraw blit, será una gran tarea portarla. En mi opinión, tu mejor opción es portarlo a GDI. Sin embargo, puede significar escribir sus propias funciones de blit.

En caso de que no pueda realizar el puerto a D3D, aunque esto será una gran tarea y realmente depende de cómo lo haga su procesamiento. Si toda su representación se realiza utilizando blits (y sin acceso directo a la memoria intermedia de cuadros), entonces debería ser relativamente sencillo transferirla a D3D. También le proporcionará ENORMES aumentos de velocidad.

Dicho esto, puede obtener los encabezados de DirectDraw (creo que están en el SDK de Windows) y continuar usando DirectDraw.

+0

Acabo de descargar e instalar el último SDK de Windows ddraw.h es incluir pero ddraw.lib no está allí. Pero estoy marcando tu respuesta porque me indicaste la dirección correcta. En realidad, tengo que usar ddraw.dll directamente, se describe en el enlace que publiqué en mi pregunta inicial. –

+0

Esas son malas noticias para mí. Tengo un código que fue desarrollado durante la era de DirectX 6, usa Direct2D/DirectDraw BitBlt. No quiero portarlo a D3D ya que no es 3D en absoluto. Si Windows SDK tiene los encabezados, entonces la funcionalidad debería estar en algún lugar también. –

0

No hay un motor de ddraw en DirectX SDK (junio de 2010).

Debería encontrar ddraw en Windows SDK.

Puede encontrar ddraw.h en Windows SDK, pero no hay ddraw.lib ninguno.

cómo usar? use ddraw.dll.

Cuestiones relacionadas