Seite 2 von 9
Verfasst: 17.02.2009 16:15
von Fluid Byte
ts-soft hat geschrieben:Wenn Du aber x64 benötigst oder Dir Sourcen lieber sind, nimm mein

Also erstmal, gutes "Verkaufsgespräch"!
Zweitens, ich denke du gewinnst das Rennen. Fakt ist ich werde nicht mehr lange warten und mir demnächst einen neuen Rechner zulegen. Dieser wird auf jeden Fall eine 64Bit Maschine sein um 8GB Speicher nutzen zu können.
Wer nun in die Credits kommt hängt davon ab wer eher fertig bzw. da ist. Mein Spiel oder mein neuer Rechner.

Verfasst: 17.02.2009 16:24
von ts-soft
DrFalo hat geschrieben:Ei, Ei, Ei - ich nutze bis jetzt gnozals lib. Ist deine wirklich Mini? Ich brauch eigendlich nur die Ein- und Auspackfunktion. Mal schauen...
Ist wirklich mini
Wenn Du die UserLib von Gnozal entpackst und die Größe mit der statische
Lib von mir vergleichst, wirste sehen das es sehr Mini ist
Da bei mir aber die restlichen Funktionen aus der zlib.lib von PB Importiert
werden, macht es im EndEffekt kaum Unterschied.
Die Vorteile liegen also nicht unbedingt bei mini, sondern eher bei:
Übersichtlicher, x64 möglich, keine SubSysteme, Sourcen verfügbar.
Gruß
Thomas
Verfasst: 17.02.2009 18:54
von ts-soft
Update
Globaler Zip-Kommentar kann hinzugefügt werden. Dies geschieht beim
schliessen mit
ZIP_FileClose(ZipHandle[, Comment.s])
Comment kann ein String oder der Dateiname einer Textdatei sein.
Einfach die entsprechende Procedure durch diese:
Code: Alles auswählen
Procedure ZIP_FileClose(ZipHandle, Comment.s = "")
Protected *mem, FF, Size
If Comment <> ""
If UCase(GetExtensionPart(Comment)) = "TXT" And FileSize(Comment) > 0
FF = ReadFile(#PB_Any, Comment)
If FF
Size = Lof(FF)
*mem = AllocateMemory(Size)
If *mem
ReadData(FF, *mem, Size)
EndIf
CloseFile(FF)
If *mem
Comment = PeekS(*mem, -1, #PB_Ascii)
FreeMemory(*mem)
EndIf
EndIf
EndIf
*mem = AllocateMemory(Len(Comment))
If *mem
PokeS(*mem, Comment, -1, #PB_Ascii)
EndIf
EndIf
zipClose(ZipHandle, *mem)
If *mem : FreeMemory(*mem) : EndIf
EndProcedure
ersetzen oder neu downloaden
Verfasst: 17.02.2009 23:06
von Fluid Byte
Mir ist gerade ein merkwürdiger Bug aufgefallen. Wenn man im Code UseOGGSoundDecoder() stehen hat funktioniert das Einlesen mittels ProgramFilename() als Archivdatei nicht mehr. Im folgenden Beispiel wird zweimal Null zurückgegeben (x86 Version):
Code: Alles auswählen
UseOGGSoundDecoder()
DataSection
IncludeBinary #PB_Compiler_Home + "Examples\Sources\Data\skybox.zip"
EndDataSection
Index = ZIP_GetFileNumber(ProgramFilename(),"desert07_RT.jpg")
Debug ZIP_ExtractFile(ProgramFilename(),Index,GetTemporaryDirectory(),0)
Debug ZIP_CatchFile(ProgramFilename(),1)
Dieses Beispiel funktioniert wiederum tadellos:
Code: Alles auswählen
UseOGGSoundDecoder()
ArchiveFile$ = #PB_Compiler_Home + "Examples\Sources\Data\skybox.zip"
Index = ZIP_GetFileNumber(ArchiveFile$,"desert07_RT.jpg")
Debug ZIP_ExtractFile(ArchiveFile$,Index,GetTemporaryDirectory(),0)
Debug ZIP_CatchFile(ArchiveFile$,1)
Die PureZIP DLL von gnozal hat übrigens dasselbe Problem.
Verfasst: 17.02.2009 23:22
von ts-soft
Schalt den Debugger aus!
Gruß
Thomas
Verfasst: 17.02.2009 23:31
von Fluid Byte
Ist aus, geht nicht immer noch nicht.
Verfasst: 17.02.2009 23:37
von ts-soft
Code: Alles auswählen
XIncludeFile #PB_Compiler_Home + "include\minizip_include.pbi"
UseOGGSoundDecoder()
DataSection
IncludeBinary #PB_Compiler_Home + "Examples\Sources\Data\skybox.zip"
EndDataSection
Index = ZIP_GetFileNumber(ProgramFilename(),"desert07_RT.jpg")
ZIP_ExtractFile(ProgramFilename(),Index,GetTemporaryDirectory(),0)
MessageRequester(Str(Index), Str(ZIP_CatchFile(ProgramFilename(),1)))
geht ohne debugger!
Messagerequester hat geschrieben:---------------------------
5
---------------------------
42928072
---------------------------
OK
---------------------------
Verfasst: 17.02.2009 23:45
von Fluid Byte
Es geht wenn man ebenfalls alle "Debug"-Aufrufe entfernt. Aber warum ist das nötig wenn der Debugger eh deaktiviert ist? Außerdem funktioniert das nur bei deiner minizip LIB, nicht aber bei gnozals PureZIP DLL.
Naja, sehr gute Arbeit Herr Schulz.

Verfasst: 17.02.2009 23:47
von ts-soft
Funktionen, denen ein Debug voraus geht, werden ohne Debugger nicht
ausgeführt
>> Naja, sehr gute Arbeit Herr Schulz.

danke
Verfasst: 17.02.2009 23:52
von RSBasic
Von mir auch: Gute Arbeit
Sehr nützlich
