Seite 2 von 4

Verfasst: 01.04.2006 15:13
von Stefan
Bisher werden folgende Befehle unterstützt:(22)
InitSprite()
AvailableScreenMemory()
ExamineScreenModes()
NextScreenMode()
ScreenModeWidth()
ScreenModeHeight()
ScreenModeRefreshRate()
ScreenModeDepth()
OpenWindowedScreen(WindowID,x,y,Width,Height,AutoStretch,RightOffset,BottomOffset)
ClearScreen(Color)
ScreenID()
IsScreenActive()
FlipBuffers(Mode)
ScreenOutput()
SpriteOutput(Sprite)
DisplayTransparentSprite(Sprite,x,y)
DisplaySprite(Sprite,x,y)
DisplayRGBFilter(x,y,Width,Height,R,G,B)
FreeSprite(Sprite)
IsSprite(Sprite)
CreateSprite(Sprite,Width,Height,Mode)
TransparentSpriteColor(Sprite,Color)
Ein kleiner test:
http://hometown.aol.de/MoebiusStefan/DX ... emTest.exe

Verfasst: 08.04.2006 21:26
von Stefan
Nun werden alle Sprite-Befehle unterstützt, bis auf:
ChangeAlphaIntensity()
DisplayAlphaSprite()
DisplayShadowSprite()
DisplaySolidSprite()
GrabSprite()
OpenScreen()
SaveSprite()
SpriteID()
Hier die aktuelle Version zum testen:
http://stefanmoebius.de/DX9Subsystem2.zip
Gruß
Stefan

Verfasst: 08.04.2006 22:55
von DrShrek
Hallo Stefan,

Wenn Du GrapSprite() noch implementierst...
dann kann ich es mit PBpuzzle testen...

Danke
IceSoft / Dr. Shrek

Verfasst: 09.04.2006 12:39
von Stefan
Wenn Du GrapSprite() noch implementierst...
dann kann ich es mit PBpuzzle testen...
Das wäre cool! 8)
Ich hab jetzt noch GrabSprite(),OpenScreen() und SpriteID() hinzugefügt:
Link: http://stefanmoebius.de/DX9Subsystem3.zip

//edit:
ACHTUNG: OpenScreen() bitte nicht testen

Verfasst: 09.04.2006 19:44
von DrShrek
Invalid memory access bei:

Code: Alles auswählen

CreateSprite(1, 0, 0)

Verfasst: 09.04.2006 19:57
von Stefan
@Dr. Shrek
Ist dein PBPuzzle nun kompilierbar ?
Dr. Shrek hat geschrieben:Invalid memory access bei:

Code: Alles auswählen

CreateSprite(1, 0, 0)
Ok, hab eine Abfrage eingebaut.

Verfasst: 09.04.2006 20:05
von DrShrek
Stefan hat geschrieben:@Dr. Shrek
Ist dein PBPuzzle nun kompilierbar ?
Ja...kompilierbar schon...
..aber ich bekomme Runtime errors... siehe oben...
Es fehlen einfach noch ein paar Checks in Deinen Routinen :wink:

Verfasst: 09.04.2006 20:30
von DrShrek
Hier das nächste 'Invalid memory access' bei:

CopySprite(#sOrginal, #Sprite2 )

HIer noch ein Hinweis aus der Hilfe: #Sprite2 is created if it does not exist.

Example:

Code: Alles auswählen

If InitSprite()=0:Debug "Can't init DX9":EndIf
OpenWindow(1,0,0,400,300,"Test")
If OpenWindowedScreen(WindowID(1),10,10,320,240,1,10,10)=0
Debug "Can't open screen"
EndIf

sx = 20
sy = 20
#sOrginal = 10
#Sprite2 = 20

CreateSprite(#sOrginal, sX, sY)
CopySprite(#sOrginal, #Sprite2 ) 


Repeat

Until WindowEvent()=#PB_Event_CloseWindow

Verfasst: 23.04.2006 23:04
von Hellhound66
Hi Stefan, ich brauche deine Hilfe.

Ich mache gerade genau das Gleiche wie du, nur als Interface, mit dem einzigen Unterschied, dass ich ein OGL-Programmierer bin und von DX9 keine Ahnung habe. Die schäbigen Tutorials und mein DX9 Buch hier zu Hause waren der totale Reinfall. Ich verzweifle an so einfachen Sachen, wie das verändern von Texturen im Speicher. Überall werden diese verfi***** Dinger aus irgendwelchen Dateien geladen, aber nirgends steht, wie man sie danach verändert. MipMaps,ja klar, aber das wars schon. Mir ist das alles zu kryptisch. Hast du mir einen Tipp, wo ich ein gutes Tutorial finden kann, eines wie das Red Book für OGL?

Danke im Voraus.

/edit: Ich brauche auf jeden Fall etwas wie CatchSprite/Texture.

Verfasst: 27.04.2006 16:36
von Stefan
@Hellhound66
Sorry, hab im moment sehr wenig Zeit, schau dir mal diese Links an:
/edit: Ich brauche auf jeden Fall etwas wie CatchSprite/Texture
Das müsstest du mit den Methoden GetRenderTargetData() und UpdateSurface() hinbekommen.
//edit:
Die Quelltexte des Subsystem findest du hier http://stefanmoebius.de/DX9Ssrc.zip
(allerdings ist das dort sehr schlecht gelöst (bis jetzt :wink: ) und hat sehr viele Bugs)

Gruß
Stefan