Problem beim Lesen von BSP (Quake 1 / Half-Life 1) Level-Dateien
-
Hallo Leute,
ich hatte zuvor meinen ersten BSP Loader für "Quake III Arena" Maps fertiggestellt und nun möchte ich auch Quake 1 Level und vor allem die Maps aus Half-Life 1/ Counter-Strike 1.0 bis 1.6 lesen und in eigene 3D Programme einbauen.
Das dürfte meines Wissens auch völlig legal sein, da "Valve" für Half-Life 1 ja das Datei-format von Quake 1 mehr oder weniger übernommen hat.
Die Grundstruktur der Maps aus CS 1.6 erkenne ich auch schon mit meinem Loader in meinem TestProgramm, aber leider funktioniert das Erstellen der Polygone noch gar nicht gut.
Ich habe bisher nur diese eine Spezifikation hier gefunden: http://www.gamers.org/dEngine/quake/spec/quake-spec34/qkspec_4.htmKennt jemand von euch eine bessere? Oder gibt es inzwischen sogar schon eine, extra für das Half-Life 1 Format, weil das ja neuer ist als das von Quake 1?
-
Warum Probleme, wo hakts denn?
Nen paar weitere Spezifikationen:
http://graphics.stanford.edu/~kekoa/q3/
http://www.geocities.com/cofrdrbob/bspformat.html
http://www.flipcode.com/archives/Quake_2_BSP_File_Format.shtml
http://misofruit.co.kr/seojewoo/programming/opengl/Quake3Format.htm
http://www.gamers.org/dEngine/quake/spec/Mfg.
way
-
Danke schon mal für die Antwort
Mein eigentliches Problem ist im Grunde nur folgendes:
- ich verzweifle langsam daran, wie die ganzen Edges zu einer TriangleList zusammengesetzt werden sollen,
- und ich verstehe nicht warum ich es nur schaffe gerade mal die Hälfte der Map zu laden. (es sieht so aus als wäre sie in exakt zwei Hälften zerteilt, die linke bzw. rechte Seite fehlt meistens komplett, oder es sind nur ganz wenig Dreiecke auf einer Seite zu sehen)
-
Damit ihr mein Problem und mein Verwundern, über den Aufbau der BSP Map von Half-Life 1, besser nachvollziehen könnt, habe ich euch hier mal ein Beispielbild hochgeladen:
http://softpixelengine.sourceforge.net/other/ProblemDemoBild.pngWie auf dem Bild zu erkennen ist, habe ich sowieso noch ein paar Probleme beim zusammensetzten der Dreiecke innerhalb der Faces.
Aber was ich absolut nicht verstehe ist, wieso die Map in zwei Hälften zerteilt ist. In anderen Karten ist sie anders unterteilt, aber immer Fehlt ein großer Abschnitt und dann komplett. Das verstehe ich nicht, kann mir das jemand erklären.
Davon steht in den ganzen Spezifikation nichts?!
-
was ich absolut nicht verstehe ist, wieso die Map in zwei Hälften zerteilt ist
Wegen des grundlegenden Konzeptes von BSP.
-
Naugt, aber wie kann ich dann die andere Hälfte aus der Datei lesen?
Ich bin einfach Ratlos wo der Rest an Daten ist
-
Beim Debugen habe ich vestgestellt, dass ich definitiv jedes Byte aus der Datei auslese, aber trotzdem fehlt die eine Hälfte der Karte.
Kann mir denn niemand sagen wie ich an die restlichen Daten komme?
-
Relevant ist nicht dass Du jedes Byte liesst, sondern dass Du es korrekt interpretierst.