Resourcen-Datei für Spiele unter PureBasic

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
KatSeiko
Beiträge: 367
Registriert: 19.07.2008 07:47

Resourcen-Datei für Spiele unter PureBasic

Beitrag von KatSeiko »

Ich sehe immer wieder bei anderen Spielen, dass sie Ressourcen-Dateien verwenden, in denen alle Grafiken zusammengefasst werden. Wie funktioniert das unter PureBasic? (Ich habe noch keine Dokumentation hierzu gefunden...)

Was ich meine, ist dieses: Aktuell sind meine Grafiken in einem Ordner namens GFX und meine Sounds in einem Ordner namens SND... Ich würde nun zu gern all diese Daten alle in eine einzelne Datei packen...

So als Beispiel: Guildwars besteht aus genau zwei Dateien. Einer GW.exe und einer GW.dat. letztere enthält alles, was das Spiel ausmacht (Module, Grafiken, Sounds, Meshes, ...).
Win7 Ultimate x64, PureBasic 5.11

There is no substitute..
BildBildBild
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: Resourcen-Datei für Spiele unter PureBasic

Beitrag von Danilo »

KatSeiko hat geschrieben:Was ich meine, ist dieses: Aktuell sind meine Grafiken in einem Ordner namens GFX und meine Sounds in einem Ordner namens SND... Ich würde nun zu gern all diese Daten alle in eine einzelne Datei packen...
Direkt in die EXE kann es mit IncludeBinary in einer DataSection.
Und dann mit CatchSound/CatchImage/CatchSprite usw. aus dem Speicher laden.
KatSeiko hat geschrieben:So als Beispiel: Guildwars besteht aus genau zwei Dateien. Einer GW.exe und einer GW.dat. letztere enthält alles, was das Spiel ausmacht (Module, Grafiken, Sounds, Meshes, ...).
Dafür wären die Packer-Befehle ideal, siehe Hilfe. Du packst also alle
Einzeldateien nacheinander in Deine .dat, und zur Laufzeit lädst/entpackst
Du die Daten dann in den Speicher.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
KatSeiko
Beiträge: 367
Registriert: 19.07.2008 07:47

Beitrag von KatSeiko »

Kann ich dazu bitte ein Beispiel bekommen? (Ich bin erst ein paar Tage an PureBasic überhaupt dran, hab mich gleich nach dem Kauf registriert...)
Win7 Ultimate x64, PureBasic 5.11

There is no substitute..
BildBildBild
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

KatSeiko hat geschrieben:Kann ich dazu bitte ein Beispiel bekommen? (Ich bin erst ein paar Tage an PureBasic überhaupt dran
Zum packen/entpacken stehen direkt Beispiele in der Hilfe bei
CreatePack() und OpenPack().

Bei IncludeBinary funktioniert es ungefähr so:

Code: Alles auswählen

; screen oeffnen...

If Not CatchSprite(1,?Player1)
  ; Fehler ausgeben : End
Endif

If Not CatchSprite(2,?Player2)
  ; Fehler ausgeben : End
Endif

If Not CatchSound(1,?Sound1)
  ; Fehler ausgeben : End
Endif

; GameLoop...

End

DataSection
  Player1: IncludeBinary "GFX\player1.bmp"
  Player2: IncludeBinary "GFX\player2.bmp"
  Sound1:  IncludeBinary "SND\schuss.wav"
EndDataSection
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Antworten