Zu den Units: Mea Culpa!! Mir ist auch vor wenigen Minuten gekommen, dass da ja noch was fehlt...
Aber Hobby-Programmierer hat dích zu den richtigen Headern weitergeleitet. (Die Direct3D9.pas kann übrigens aus der OverlayUnit gelöscht werden... is noch ein Überbleibsel von vor ein paar Monaten
)
Zu der
Exception: Also sie hängt nicht mit falschen Headern zusammen (sonst wäre die vermutlich schon früher im Code gekommen
), sondern höchstwahrscheinlich damit, dass deine Grafikkarte ein anderes Format möchte... Geh deshalb mal in die TDDOverlay.CreateOverlay Prozedur, entferne den Kommentar um die formats[1]- und formats[2]-Zuweisungen und ändere in der for-Schleife danach das "to 0" auf "to 2". Danach hangelst du dich per Breakpoint mal durch die Vorschleife und schaust ob und bei welchem Wert von "i" DDraw.CreateSurface erfolgreich ist.
Das könnte sich nämlich als kleines Problem erweisen, wenn man danach DCs verwenden will...