Witam. Odnawiam ten temat z nowymi konkretami, bo z tłumaczeniem ddraw.dll dla C&C Red Alert z C na Delphi wyszło mi nieciekawie, bo nie działa. A słabo ogarniam wskaźniki oraz interface'y, zarówno w Delphi, a tymbardziej w językach C podobnych - dlatego znalazłem inne ddfixy na sieci. Między innymi do gier "Knights and Merhants" oraz "Thief" a takze do serii "Wing Comander" i do tej ostatniej są źródla w C++. Dołaczam archiwum *.rar z dwoma podkatalogami w podkatalogu. W DDHACK_ORIGINAL_SOURCE
jest oryginalne źródło w C++, a w podkatalogu DDHACK_TRANSLATED_TO_DELPHI
moje kombinacje. Funkcja logf została zamieniona na wyświetlającą MessageBoxy, bo w debugowaniu dllki pod OllymDbg na przykład nie mam wprawy. Także posłużyłem się po lamersku MessageBoxami. Samą grę w wersji poprawioen przeze mnie tak aby działała byz CD czy montowania obrazu ISO wraz z paczką kodeków do wyświetlenia video w pliku wymagane_kodeki_dla_gry_wacki_uruchom.exe
umieściłem na: http://olesio.eu/wacki_tc.rar I teraz tak jeżeli w kodzie mam jako komentarz te linijkę
// bez tworzenia surface Wacki pokazuja Intro w oknie...
//lplpDDSurface := TMyIDDrawSurface1.Create(lpDDSurfaceDesc);
to gra pokazuje początkowe intro w prawidłowej palecie barw bez ubijania explorer.exe jednak jeżeli pominiemy intro Escapem to gra się wywala na CreateSurface, a jeżeli odkomentujemy tworzenie tego obiektu - interface'u to nie pokaże się nawet intro, a ostatni MessageBox jaki ujrzymy przed wywaleniem gry to TMyIDDrawSurface1.GetPalette
. Prosil bym kogoś o pomoc w napisaniu tego no właśnie można to chyba nazwać wrapperem. Ja nie mam doświadczenia w językach C podonych jak i w DirectX. Pisałem do autora CNCDDRAW ale nie odpisał, a autor tego fixa do Wing Commandera projekt porzucił i nie ma zamiaru go już rozwijać, więc nie wiem czy dało by radę liczyć na jego pomoc. Z góry dziękuję za wszelkie odpowiedzi i wskazówki od Was. A i dodam, że wiem iż oryginalny kod eksportuje więcej funkcji, ale mi zależy tylko na wrapperze na DirectDrawCreate, bo takowej używa gra "Wacki". Natomiast oryginalny dll dla Wing Commanderów wyświetla prawie ok tylko intro dla gry "Książe i Tchórz", a w samej grze już grafika wygląda jak puzzle i do tego miga, także na pewno bez przeróbek kodu się nie uda, więc liczę tutaj na pomoc osób bardziej doświadczonych ode mnie.