Registriert: So Aug 08, 2010 08:37 Beiträge: 460
Programmiersprache: C / C++ / Lua
Beschreibung:
Ich hab mich dran gesetzt und für SDL 2.0 Pascal Header geschrieben, einschließlich der Header für die Unterbibliotheken SDL_net, SDL_Image, SDL_Mixer und SDL_TTF, lizensiert unter der LGPL. Für nähere Informationen bitte mein Git-Repository auf Github aufsuchen:
Weiterhin hab ich die alten Header für SDL 1.2 vom Jedi-Team etwas verbessert, sodass jetzt auch alle neuen Delphi-Versionen (insb. der Unicode-Delphi's) unterstützt werden:
Registriert: So Aug 08, 2010 08:37 Beiträge: 460
Programmiersprache: C / C++ / Lua
Hi Leute!
Wie oben angekündigt entwickle ich eine neue Version, meine eigene 3D Engine mit SDL für OpenGL.
Ein großes Feature soll die vollständig Integration in Delphi & Lazarus sein, also im Prinzip ein VCL zu SDL Port. Das gibts zwar schon mit Lazarus (also zm. plattformunabhängig, nix SDL), jedoch kann ich SDL überall ohne iwelche Änderungen zum Laufen kriegen - egal ob auf Android oder Linux, mit dem FPC kriege ich es hin
Jedenfalls zur Integration - Delphi überprüft folgende Sachen:
Code:
program Project1;
uses
Unit1 in'Unit1.pas'{Form1};
begin
Application.CreateForm(TMyForm1, Form1);
end.
Wichtig ist dabei vorallem der {Form1} Kommentar!
Weiterhin fehlt dann in der Unit noch ein {$R *.dfm} Verweis und natürlich die Delphi-DFM...
Diese muss allerdings manuell von meiner Application geladen werden - daran setze ich mich in den nächsten Tagen
_________________ offizieller DGL Compliance Beauftragter Never run a changing system! (oder so)
Weiterhin sollte ich wohl nicht hierein Meldungen zur Engine posten - habe deshalb einen neuen Thread dafür erstellt
Bitte natürlich darum, dass irgendwer mit XE3 das mal testet.. Ein neues Update gibts wohl entweder erst mit der neuen Delphi-Version, oder wenn ich mal Zeit finde SDL 2.0 Header zu schreiben. Mal sehen - vllt. wenn es raus kommt...
_________________ offizieller DGL Compliance Beauftragter Never run a changing system! (oder so)
Allerdings konnte ich aufgrund unglaublicher Abhängigkeiten es noch nicht testen... zumindest gibt es keine Syntaxfehler, außer fehlenden Abhängigkeiten, beispielweise fehlt noch SDL_RWops, weshalb man sdl_surface noch nicht testen konnte, weshalb aber auch alle anderen Sachen noch nicht funktionieren, da die gesamte Grafikroutine darauf aufbaut
Mal sehen, was ich alles in der kommenden Woche und heute schaffe... allzu lange sollte es aber nicht mehr dauern!
Wer möchte kann einen halbwegs aktuellen (kommt darauf an, ob ich vergesse die Änderungen hochzuladen) Entwicklungsstand begutachten:
Registriert: So Aug 08, 2010 08:37 Beiträge: 460
Programmiersprache: C / C++ / Lua
Wochen sind vergangen und ich hab - im letztendlich erfolglosen schulischen Endspurt - keine Zeit gefunden an den Headern weiterzuarbeiten...
Jetzt hab ich endlich etwas Zeit und stürze mich natürlich voller Elan in die Arbeit
Mittlerweile hab ich mir sogar eine Linux-Distribution - in der VM - eingerichtet, sodass ich die Header sogar unter Linux testen könnte, wenn sie vollständig wären...
Etwas hat sich natürlich trotzdem getan - siehe mein Repo - jedoch ist es noch lange nicht kompilier-, geschweige denn nutzbar...
_________________ offizieller DGL Compliance Beauftragter Never run a changing system! (oder so)
Registriert: So Aug 08, 2010 08:37 Beiträge: 460
Programmiersprache: C / C++ / Lua
Pre-Release v.1.0-Alpha
Es sind jetzt endlich die wichtigsten Header übersetzt und es kompiliert schon mal...
Jetzt fange ich erstmal an die wichtigsten der wichtigen bereits übersetzten Funktionen zu testen - ihr könnt übrigens gerne mithelfen (wer weiß, vllt. klappt ja überhaupt nichts und ich kann nochmal von vorne anfangen...)
Registriert: So Aug 08, 2010 08:37 Beiträge: 460
Programmiersprache: C / C++ / Lua
Das erste Problem was ich festgestellt habe:
Man kann mit der DLL die bei libsdl.org als vorkompilierter RC angeboten wird für Delphi nicht verwenden, da bei der Initialisierung von SDL_VIDEO ein Fehler kommt, dass man die sdl_main.h nicht eingebunden hat.
Dieser Fehler wurde allerdings bereits im aktuellen Repo behoben => man muss die DLL sich selbst mit dem aktuellsten Sourcecode kompilieren.
_________________ offizieller DGL Compliance Beauftragter Never run a changing system! (oder so)
Registriert: So Aug 08, 2010 08:37 Beiträge: 460
Programmiersprache: C / C++ / Lua
Um das Problem (s.o.) für Windows Benutzer zu vereinfachen hab ich mal einfach die aktuellsten DLL's kompiliert und in mein Repo geladen.
Für Linux Benutzer gab es sowieso noch nie SDL 2 Libraries und ein Virus hat meinen Rechner inkl. VM geschrottet, sodass ich leider keine kompilieren kann... => ihr müsst es momentan noch selbst kompilieren
Ich arbeite gerade daran sdl_render.h zu übersetzen, damit man endlich auch auf Fenster zugreifen kann/OpenGL einsetzen kann
_________________ offizieller DGL Compliance Beauftragter Never run a changing system! (oder so)
Registriert: So Aug 08, 2010 08:37 Beiträge: 460
Programmiersprache: C / C++ / Lua
Auf Hinweis von Lord Horazont hab ich die Binaries aus dem Repo gelöscht.
Die DLL's funktionierten auch nicht, weil ich sie im Debug-Mode von VCExpress kompiliert hatte => sie liefen nur, wenn man jenen auch installiert hat...
Ich hab jetzt funktionierende DLL's (ich habs getested!) auf meinen Dropbox Account geladen:
Registriert: So Aug 08, 2010 08:37 Beiträge: 460
Programmiersprache: C / C++ / Lua
Alpha-Release 1.3 SDL_CREATETHREAD GEHT ENDLICH!!!
Endlich... ich habe eine Woche mir jeden Tag darüber den Kopf zerbrochen.... ;(
Und diese einfache Lösung...einfach nur die Pointer für BeginThread/EndThread nil setzen, sodass die Lib einfach die eigenen Funktionen nimmt...
Egal. Es geht. Außerdem hab ich noch mehrere Bugs gefixt (herzlichen Dank an die Hinweisgeber) und TSDL_Error und sdl_shape.h übersetzt. Und die Makros für SDL_RWops, also SDL_RWRead,SDL_RWWrite,SDL_RWClose, usw...
Und eben auch noch SDL_power.h => jetzt könnt ihr den Stand der Notebook-Batterien auslesen! Plattformunabhängig!
_________________ offizieller DGL Compliance Beauftragter Never run a changing system! (oder so)
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.