SDL3 (Simple DirectMedia Layer) Packages

Zur Vorstellung von Komponenten und Units für Lazarus
Neo1171
Beiträge: 12
Registriert: Do 7. Nov 2024, 17:56

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von Neo1171 »

Dankeschön :)

Mathias
Beiträge: 6779
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von Mathias »

Ich habe gerade die Bindung an das neue Prerelease 3.1.10 angepasst.

https://github.com/sechshelme/Lazarus-S ... s/releases

Es wurde sehr wenig geändert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Neo1171
Beiträge: 12
Registriert: Do 7. Nov 2024, 17:56

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von Neo1171 »

Oh, und nun sogar schon SDL-release-3.2.0 wie ich grade gesehen habe ^^

fleißig!

Mathias
Beiträge: 6779
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von Mathias »

Neo1171 hat geschrieben: Mi 22. Jan 2025, 17:17 Oh, und nun sogar schon SDL-release-3.2.0 wie ich grade gesehen habe ^^

fleißig!
Schon angepasst, es war nur eine kleine Änderung.

https://github.com/sechshelme/Lazarus-S ... ease-3.2.0
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Neo1171
Beiträge: 12
Registriert: Do 7. Nov 2024, 17:56

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von Neo1171 »

Nochmals vielen Dank für deine Arbeit die du uns zur Verfügung stellst!


Was hälst du davon dafür zu sorgen, dass dein Projekt ebenfalls in der Liste https://www.libsdl.org/languages.php eingetragen wird?

Genauso wie bereits für SDL2 dort einige Einträge für Pascal zu finden sind: https://www.libsdl.org/languages-2.0.php


Vielleicht schreibst du die mal an.. Dann kann es jeder dankbar sofort finden und los starten :)
Macht sich auch sehr gut wenn auf solch aktuelle Entwicklungen man immernoch von Pascal ließt ^^

Mathias
Beiträge: 6779
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von Mathias »

Was hälst du davon dafür zu sorgen, dass dein Projekt ebenfalls in der Liste https://www.libsdl.org/languages.php eingetragen wird?
Danke für den Tip.
Ich habe es mal hier reingestellt, Mal gucken ob Antwort kommt.

https://discourse.libsdl.org/t/sdl3-laz ... ding/56433

Mein Zeile wäre noch das es im "Online Pacakge" von Lazarus erscheint
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6661
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von af0815 »

Mathias hat geschrieben: Fr 24. Jan 2025, 17:06 Mein Zeile wäre noch das es im "Online Pacakge" von Lazarus erscheint
Wenn du das an Maintainer du dir als langfristiges Ziel setzt, so sind IMHO die Hürden nicht allzu hoch. wp hat es ja erst vor einiger Zeit einmal freundlicher Weise erklärt.

Edit: viewtopic.php?t=16429 aber da hat er sowieso auf einen Post von dir geantwortet.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mathias
Beiträge: 6779
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von Mathias »

Edit: viewtopic.php?t=16429 aber da hat er sowieso auf einen Post von dir geantwortet.
Ups, die Antwort wegen des Copyright, ist mir unter gegangen. Ich dacht es kam keine Antwort mehr, :oops:
Das nächstes wird sein, die readme.md auf englisch zu übersetzen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Neo1171
Beiträge: 12
Registriert: Do 7. Nov 2024, 17:56

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von Neo1171 »

Mir ist ein Fehler aufgefallen, der auf eine vergessene Anpassung für Änderungen zwischen SDL3.1.8 und SDL3.1.10 hinweist.

Korrekt arbeitet dein aktuelles, sowie auch ältere Releases bis zur DLL-Version SDL3.1.8.
Doch mit der aktuellen SDL3.2 sowie auch schon mit der vorherigen Version SDL3.1.10 fällt folgendes auf:


Funktion "SDL_GlobDirectory" führt zu Suchergebnissen, mit fehlendem 1. Zeichen aller gefundener Dateinamen.


Mein Beispiel:

lvllist : ^PChar;
lvlcount : longint;

lvllist := SDL_GlobDirectory(PAnsiChar(PopPath + 'levels\'), PAnsiChar('*.hdr'), SDL_PATHTYPE_FILE, @lvlcount);

Bis zur DLL Version SDL3.1.8 beinhaltet lvllist eine Liste korrekter und vollständiger Dateinamen.
Seit DLL-Version SDL3.1.10 allerdings fehlt bei allen gefundenen Dateinamen das 1. Zeichen.



Mit freundlichen Grüßen :)

Mathias
Beiträge: 6779
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von Mathias »

Bis zur DLL Version SDL3.1.8 beinhaltet lvllist eine Liste korrekter und vollständiger Dateinamen.
Seit DLL-Version SDL3.1.10 allerdings fehlt bei allen gefundenen Dateinamen das 1. Zeichen.
Kann ich nachvollziehen. Nur bin ich da unschuldig, da liegt ein Bug SDL seitig vor.
Lässt man der hintersten "\\" weg, in fpc hat nur ein "\ ", dann geht es, mit C, sowie mit fpc.

Mit Linux, besteht das Problem nicht, egal ob mit oder ohne "/".

Code: Alles auswählen

/*
  Linux:
  g++ main.c -o main -lSDL3
  
  Windows:
  x86_64-w64-mingw32-gcc main.c -o main.exe -lSDL3 -I/usr/local/include -L/usr/local/bin
*/

#include <SDL3/SDL.h>

int main(int argc, char *argv[]) {
    int count;
    char **list;
    int i;

    SDL_Init(SDL_INIT_VIDEO);

    list = SDL_GlobDirectory("c:\\windows\\", "*.*", SDL_PATHTYPE_FILE, &count);
    // list = SDL_GlobDirectory("/usr/local/lib/", "*.*", SDL_PATHTYPE_FILE, &count);

    if (list == NULL) {
        SDL_Log("file not found");
    } else {
        for (i = 0; i < count; i++) {
            SDL_Log("%3d.  %s", i, list[i]);
        }

        SDL_free(list);
    }

    SDL_Quit();
    return 0;
}
Ich habe als Test, die allerneuste DLL gebaut. Ich werde einen Bug-Report machen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6779
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von Mathias »

Der Bug-Report ist erstellt,

https://github.com/libsdl-org/SDL/issues/12135

So nebenbei, geht nur mit wine.
Dies arbeitet korrekt.

Code: Alles auswählen

list := SDL_GlobDirectory('/usr/local/lib/', '*.*', SDL_PATHTYPE_FILE, @Count);    
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Neo1171
Beiträge: 12
Registriert: Do 7. Nov 2024, 17:56

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von Neo1171 »

Ah, alles klar. Danke für die schnelle Reaktion ^^

Tatsächlich.. lasse ich am Ende das "\" aus meinem Beispiel weg, funktionierts wieder fehlerfrei..

Neo1171
Beiträge: 12
Registriert: Do 7. Nov 2024, 17:56

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von Neo1171 »

Wie siehts eigentlich mit der Unterstützung von SDL3_ttf.dll aus? Läuft das mittlerweile auch schon?

Finde keine DLL-Datei, die nicht die Meldung "Unable to render text surface! SDL_ttf Error: That operation is not supported" ausgibt..
Hast du vielleicht eine funktionierende Win32-x64 DLL version parat oder könntest du eine bauen?

Mathias
Beiträge: 6779
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von Mathias »

Neo1171 hat geschrieben: Do 30. Jan 2025, 15:33 Ah, alles klar. Danke für die schnelle Reaktion ^^

Tatsächlich.. lasse ich am Ende das "\" aus meinem Beispiel weg, funktionierts wieder fehlerfrei..
Der Fehler sollte behoben sein,

https://github.com/libsdl-org/SDL/commi ... 6c001aeeab
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6779
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: SDL3 (Simple DirectMedia Layer) Packages

Beitrag von Mathias »

Finde keine DLL-Datei, die nicht die Meldung "Unable to render text surface! SDL_ttf Error: That operation is not supported" ausgibt..
Hast du vielleicht eine funktionierende Win32-x64 DLL version parat oder könntest du eine bauen?
Ich kriege es momentan auch nicht hin. Aber ich vermute es geht nicht mehr lange, und SDL3_ttf wird veröffentlicht.

Die sind fleissig daran am arbeiten.
https://discourse.libsdl.org/c/commits/9
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten