SDL und PureBasic

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

SDL und PureBasic

Beitrag von Lebostein »

Hi,

hat schonmal jemand SDL in Verbindung mit PureBasic benutzt? Ich hab gestern damit ein bisschen rumgespielt und bin noch nicht so richtig weit gekommen. Folgender Code funktioniert. Es wird ein Fullscreen mit 800x600 Pixeln geöffnet bei einer Farbtiefe von 32 Bit:

Code: Alles auswählen

#SDL_Library       = 99

#SDL_INIT_VIDEO    = $00000020
#SDL_HWSURFACE     = $00000001
#SDL_DOUBLEBUF     = $40000000
#SDL_FULLSCREEN    = $80000000

OpenLibrary(#SDL_Library, "SDL.dll")

CallFunction(#SDL_Library, "SDL_Init", #SDL_INIT_VIDEO)
SurfaceID = CallFunction(#SDL_Library, "SDL_SetVideoMode", 800, 600, 32, #SDL_HWSURFACE | #SDL_DOUBLEBUF | #SDL_FULLSCREEN)
CallFunction(#SDL_Library, "SDL_Quit")

CloseLibrary(#SDL_Library)

Debug SurfaceID
Jetzt hab ich aber in der Docu gelesen, dass zum Beispiel die Funktion SDL_SetVideoMode eine Struktur Namens SDL_Surface zurückgibt. Scheinbar kann aber CallFunction nur einzelne Zahlenwerte und keine Struktur zurückgeben....

Wer hat schonmal derartiges versucht? Danke für jeden Hinweis.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Alle Parameter an eine DLL sind Long und die Rückgaben auch, jedoch sind es meist nur Zeiger auf Speicherbereiche (Structuren sind nichts anderes).

Am besten siehste Dir mal die von Danilo zusammengestellte Text-Datei an, die findest Du hier: http://forums.purebasic.com/german/view ... t&start=10

Ich hoffe das ich die frage richtig verstanden habe. Wenn die Rückgabe per Stack erfolgt dann einfach ein leeres ProcedureReturn nach erfolgtem Funktionsaufruf. Wird in diesem Fall aber wohl nicht so sein
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Ah, Danke für den Hinweis. Mittlerweile bin ich auch im engl. Forum fündig geworden:

http://forums.purebasic.com/english/vie ... l&start=16
Antworten