Hi,
ich habe folgendes Problem:
Ich will mittels fopen und fread Daten aus einer binären Datei lesen. Es handelt sich hierbei um das MPQ-Format, was von Blizzard entwickelt wurde. Erstmal meine Frage, ob es möglich ist(und vor allem wie? :wink: ), bestimmte Daten aus der Datei zu lesen, wenn das Format genaustens bekannt ist?
Ich habe einen kleinen Beispielcode geschrieben, welcher mir den Namen einer Karte von Warcraft 3 aus einer *.W3M- bzw *.W3X-Datei, welche auch das MPQ-Format benutzen, ausliest und anzeigt. Das Problem ist, dass ich das Format nicht kenne, darum meine 2. Frage, ob jemand weiss, wie ich an spezielle Daten in einer MPQ komme, wie z.B. "Vorgeschlagene Spieler".
Das auslesen des MapNames habe ich durch probieren hinbekommen, aber das reicht mir nicht...
...hier der code:
PHP-Code:
<?
$filename = "maps/BonusCredits.w3m"; # Name der Karte
if($mpqfile = fopen($filename,"r")) # wird Datei richtig geöffnet?
echo "'$filename' geöffnet.
";
fseek($mpqfile,8); # Dateizeiger auf das 8. Byte setzen
$test = rtrim(fread($mpqfile,255)); # 255 Zeichen auslesen und Leerzeichen abschneiden
$mapname = substr($test,0,strpos($test,chr(0))); # Mapname vom 8. Byte bis zum nächsten Zeichen mit dem ASCII Code 0 auslesen
echo "gelesen($filename): '".$mapname."'"; # Mapname anzeigen
fclose($mpqfile); # Datei schließen
?>
Die Kommentare dienen nur der Übersicht und müssen nicht unbedingt stimmen. Ich hab sie so genannt, wie ich das verstanden habe.
Ich weiss zwar, dass das nicht viel mit PHP zu tun hat, aber ich weiss nicht, wo ich noch fragen soll
Ich weiss, dass es mit C möglich ist, also warum auch nicht mit PHP...
Da ich leider nur sehr wenig Kenntnisse in C habe, obwohl ich PHP eigentlich gut und sonst nur noch Delphi kann, kann ich vorhandenen C-code nich wirklich umsetzen :wink: und somit ist es mir leider nicht gegeben dieses Problem zu lösen...
...hoffe ihr könnt mir helfen
so far
profiler