Wir kapern jetzt DarkSouls thread völlig
Nicht schlimm, da ich das Problem in meinem Fall gelöst habe.
Vielleicht schafft ihr das ja noch irgendwie, SDL unter PB zum Laufen zu bringen.
Das sieht mir in disem Fall sehr nach nem kaputten Zeiger aus, weil der Zeichensalat dort steht, wo eigentlich ein Dateiname stehen sollte.
Edit: Habe ihn ausfindig gemacht.
Code: Alles auswählen
; SDL_LoadWAV
; Load a WAVE file
Procedure SDL_LoadWAV_(*fname, *spec, *audio_buf, *audio_len )
ProcedureReturn SDL_LoadWAV_RW_(SDL_RWFromFile_(*fname,[color=#FF0000]@[/color]"rb"), 1, *spec, *audio_buf, *audio_len)
EndProcedure
Das rote @ fehlt bei dir (bzw. jenes zwischen den ungeparsten [color]-tags, ich kriege das gerade nicht hervorgehoben
).
Der zweite Parameter von SDL_RW_FromFile ist ein Zeiger auf einen String. du übergibst dort direkt einen String. Der Dateiname ist in UTF8 angelegt, daher ist UTF8() schon richtig.
https://wiki.libsdl.org/SDL_RWFromFile.
Musst mit den Strings aufpassen, weil PB die standardmäßig by value und C standardmäßig by reference (const char*) übergibt.
Wenn du das anpasst, dann lädt er bei mir die Datei, Schmiet dafür allerdings in Zeile 830 in der .pbi ab.