Sostituzione codice legacy DirectDraw
-
08-10-2019 - |
Domanda
Ieri ho trovato i codici sorgente per il mio gioco Tetris sviluppato molti anni fa in C ++, API Win32 e DirectDraw 7. Ho provato a costruire una soluzione senza alcun successo, perché più recente DirectX SDK (giugno 2010) non include DDraw.h e DDraw.lib più.
C'è un approccio consigliato (si spera con gli esempi) per aggiornare il codice da DirectDraw a una nuova API? O dovrei semplicemente installare più vecchio DirectX SDK?
Soluzione
Se si utilizza la funzionalità blit DirectDraw allora sarà piuttosto un compito di portarlo. A mio parere la soluzione migliore è quella di portarlo a GDI. Può significare scrivere le proprie funzioni Blit tuttavia.
In mancanza di questo si potrebbe porta per D3D anche se questo sarà piuttosto un compito ed è veramente dipende da come fate il vostro rendering. Se tutti i vostri rendering è effettuata utilizzando blits (e nessun accesso diretto frame buffer) allora dovrebbe essere relativamente semplice di portarlo a D3D. Esso fornirà anche voi con la velocità aumenta enormi.
Detto questo si può solo entrare in possesso delle intestazioni DirectDraw (credo che siano in Windows SDK) e continuare a utilizzare DirectDraw.
Altri suggerimenti
Non v'è alcun motore ddraw in DirectX SDK (giugno 2010).
Si dovrebbe trovare ddraw nel SDK di Windows.
È possibile trovare ddraw.h nel SDK di Windows ma, non c'è né ddraw.lib.
come usare? uso ddraw.dll.