IDirectDrawSurface7
ist ein Interface, das man im Structure-Viewer ansehen kann.
doppelklick auf den Interface-Namen, dann offenbart er folgendes:
Code: Alles auswählen
Interface IDirectDrawSurface7
QueryInterface(a, b)
AddRef()
Release()
AddAttachedSurface(a)
AddOverlayDirtyRect(a)
Blt(a, b, c, d, e)
BltBatch(a, b, c)
BltFast(a, b, c, d, e)
DeleteAttachedSurface(a, b)
EnumAttachedSurfaces(a, b)
EnumOverlayZOrders(a, b, c)
Flip(a, b)
GetAttachedSurface(a, b)
GetBltStatus(a)
GetCaps(a)
GetClipper(a)
GetColorKey(a, b)
GetDC(a)
GetFlipStatus(a)
GetOverlayPosition(a, b)
GetPalette(a)
GetPixelFormat(a)
GetSurfaceDesc(a)
Initialize(a, b)
IsLost()
Lock(a, b, c, d)
ReleaseDC(a)
Restore()
SetClipper(a)
SetColorKey(a, b)
SetOverlayPosition(a, b)
SetPalette(a)
Unlock(a)
UpdateOverlay(a, b, c, d, e)
UpdateOverlayDisplay(a)
UpdateOverlayZOrder(a, b)
GetDDInterface(a)
PageLock(a)
PageUnlock(a)
SetSurfaceDesc(a, b)
SetPrivateData(a, b, c, d)
GetPrivateData(a, b, c)
FreePrivateData(a)
GetUniquenessValue(a)
ChangeUniquenessValue()
SetPriority(a)
GetPriority(a)
SetLOD(a)
GetLOD(a)
EndInterface
seh ich selbst zum ersten mal.
leider ist das 7er in der win32.hlp nicht beschrieben, da ist nur das erste und das 2er drin.
ich seh hier auf die schnelle auch keine methode, die den pointer zur grafik selber zurückliefert.
::GetAttachedSurface(a, b) selber ermöglicht anscheinend, eine Surface anzuhängen.
win32.hlp -> IDirectDrawSurface::GetAttachedSurface
auf jeden fall ist eine DD-Surface etwas wesentlich komplexeres als ein simpler grafik-speicherbereich.
OT
wenn ich sowas sehe, dann denke ich immer, wieviel ressourcen doch das OS verbrät für seinen ganzen objektkrempel,
und was man aus nem PC wohl rausholen könnte, wenn man ihn wirklich root-like programmieren würde.
man müsste bei nem game ein linux-kernel (deswegen linux, weil man davon den source bekommt) mitliefern,
und das game startet einfach per boot-CD. klar, die hardware-einstellungen wären ein bisschen ein problem,
weil ja heutzutage aller möglicher krempel verwendet werden kann und jeder müll andere treiber braucht....
aber die idee ist einfach reizvoll.