Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

25.10.2003, 13:51

Löschen

Löschen

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

25.10.2003, 14:04

Du weißt schon, dass die D3DX-Funktionen das Laden aus Zip-Dateien nicht unterstützen? Das ist nämlich nur ein Feature der TriBase-Engine und hat mit D3DX nichts zu tun.
Was übergibst Du denn der Funktion konkret als Dateinamen?

3

25.10.2003, 14:10

Löschen

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

25.10.2003, 14:19

Die Funktion D3DXCreateTextureFromFile erwartet den Namen einer "echten" Datei. LoadZipObject (wenn es die Funktion ist, die ich geschrieben habe), liefert aber nur einen Zeiger auf den Speicherbereich, in dem das Bild aus der Zip-Datei dann drin liegt. Du kannst LoadZipObject also nicht als Parameter für D3DXCreateTextureFromFile nehmen.
Du müsstest das, was Dir LoadZipObject liefert, in eine separate Datei speichern und diese dann mit D3DXCreateTextureFromFile laden. Alternativ kannst Du auch D3DXCreateTextureFromFileInMemory verwenden. Diese Funktion erwartet tatsächlich einen Speicherbereich. Die Größe müsstest Du mit tbMemGetSize herausfinden können.

5

25.10.2003, 14:22

Geht das nicht auch ein bissel einfacher für den Anfang??
Oder ist es besser wenn ich deine DLL dazu nehme??

MfG Djsammy

PS.: LoadZipObject kommt aus eine tut von dir.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

25.10.2003, 14:27

OK, dann versuch es mal so (ist überhaupt nicht schwer):

Quellcode

1
2
3
4
int iDataSize;
char* pData = LoadZipObject("Data.zip", "Hauptmenu.jpg", &iDataSize);
D3DXCreateTextureFromFileInMemory(pD3DDevice, pData, iDataSize, &pTexture);
delete[] pData;

Werbeanzeige