Im Experten Modus kompilieren - WIP

Dieser Artikel zeigt, wie sich eine Map für Counter-Strike kompilieren lässt, der einfacheren Verständlichkeit halber. Für eine normale Half-Life Map muss lediglich der Parameter -game cstrike weggelassen werden. Mehr dazu weiter unten.

Der Expert-Modus ist nach der Installation mit dynamischen Variabeln vorkonfiguriert. Nach dem Hammer richtig konfiguriert wurde, und der Normal-Modus fehlerfrei kompiliert, tut es der Expert-Modus auch.

Voreinstellungen

Um überhaupt eine Map erfolgreich zu kompilieren, müssen selbstverständlich die Compiler-Programme sowie die Verzeichniseinstellungen in den Optionen von Hammer richtig vorkonfiguriert sein. Das hier sind nur Beispiele, die Angaben müssen natürlich dem lokalen System entsprechen.

Ob dies der Fall ist, kann einfach überprüft werden, in dem ein einfacher kleiner Raum (der keine Fehler enthalten sollte!) mit dem einfachen Run-Map Dialog kompiliert wird. Funktioniert dies, stimmen die Voraussetzungen, um die Map auch im Fortgeschrittenen Modus zu kompilieren.

Der Run-Map (einfach) Dialog

Um eine in Hammer erstellte Map zu spielen, muss sie kompiliert werden. Wenn man, nach dem Hammer frischt installiert wurde, eine Map kompilieren will (über die Run-Schaltfläche oder F9) erscheint zuerst dieser Dialog:

erste_map_run.jpg

Hier handelt es sich aber um die einfache, schnelle Möglichkeit zu kompilieren. Will man später zusätzliche Parameter wie -onlyents, -bounce, -chop, -fast, etc um nur ein paar wenige zu nennen, verwenden, ist es unumgänglich im Expertenmodus zu kompilieren. Dieser erreicht man, indem man dem Run-Map Dialog auf die Schaltfläche Expert klickt.
Der Hacken Save visible objects only bewirkt, dass nur die sichtbaren Anteile der Map compiliert werden. Ein Brush/Entity ist in diesem Zusammenhang sichtbar, wenn er/es nicht per VisGroup ausgeblendet wurde.

Der Run-Map (Advanced) Dialog

Wechselt man nun über die Schaltfläche Expert im einfachen Run-Map Dialog, so sollte folgendes Fenster erscheinen. Falls man wieder im einfachen Modus kompilieren will, klickt man einfach auf die Schaltfläche Normal unten links.

Einstellungen die im Dialog vorgenommen wurden, werden sofort gespeichert. Wenn also die Map nicht kompiliert werden muss, kann der Dialog getrost mit der Cancel Schaltfläche beendet werden, ohne das Datenverlust befürchtet werden muss.

Mit der Schaltfläche Go! wird der Compile gestartet.

Der Hacken Run with visible objects only bewirkt, dass nur die sichtbaren Anteile der Map compiliert werden. Ein Brush/Entity ist in diesem Zusammenhang sichtbar, wenn er/es nicht per VisGroup ausgeblendet wurde.

Configurations

Unter diesem Dropdown-Menü können verschiedene voreingestellte Abläufe ausgewählt werden. Unteranderem auch für Counter-Strike, Opposing Force oder gar Team Fortress Classic. Es ist jedoch auch möglich selber solche Abläufe zu erstellen, um z.B. separate Abläufe für Final-Compile, Fast-Compile, Onlyents, etc zu haben. Klickt man nun auf die Schaltfläche Edit, so erscheint ein kleines Menü, indem sich die verschiedenen Abläufe verwalten lassen. Die Schaltflächen New, Remove, Rename, Copy sollten selbsterklärend sein.

Compile/run-Commands

In diesem Fenster ist der eigentliche Ablauf der Compile-Programme und anderer Funktionen aufgelistet. Mit den Schaltflächen Up und Down lässt sich die Reihenfolge der einzelnen Schritte verändern. Mit den Hackenkästchen lässt sich einstellen, ob die Ausgewählten Schritte ausgeführt, oder übersprungen werden. Die Schaltflächen New und Remove sollten auch hier wieder selbsterklärend sein, wobei bei New nur ein neuer Punkt hinzugefügt wird, dessen Einstellungen separat angelegt werden müssen. Dazu später mehr. Standardmässig sollte dieses Fenster wie oben aussehen um einen fehlerfreien Compile zu garantieren. Beim Auswählen eines einzelnen Schritts/Commands werden die Einstellungen im Rahmen rechts Command Properities zum bearbeiten angezeigt. Sämtliche Variablen, die folgend verwendet werden, entnehmen ihre Einstellungen aus den, in den Hammer Optionen eingestellten Pfaden. Hier eine kleine Erläuterung was die einzelnen Schritte bewirken.

Change Directory $exedir

Der Command Change Directory ist ein herkömlicher DOS-Befehl (die Compiler sind selber auch DOS-Programme) um das auszuführende Verzeichnis zu ändern.
Der Parameter $exedir ist eine Variable, welche den Pfad, der in den Optionen als Game Executable Directory definiert wurde, enthält.

Dieser Schritt wechselt das Verzeichnis des Compiler-Vorgangs in den Spielordner.

$csg_exe $path\$file

Der Command $csg_exe ist wieder eine Variable, die den ganzen Pfad zum CSG Compiler enthält.
Der Parameter $path ist eine Variable, die den Pfad zum RMF-Verzeichnis enthält.
Der \ dient als Untertrennung zwischen Pfad- und Dateivariable.
Der Parameter $file ist eine Variable, welche den Dateinahmen ohne die Dateiendung enthält.

Das selbe lässt sich auf die folgenden drei Schritte übertragen, bei denen die drei anderen Compiler-Programme BSP, VIS und RAD ausgeführt werden.

Mit diesen vier Schritten wird die Map mit den oben genannten Compiler-Programmen kompiliert. Das ist der eigentliche Compile-Prozess.

Copy File $path\$file.bsp $bspdir\$file.bsp

Der Command Copy File ist ein herkömlicher DOS-Befehl. Damit wird die als Paramter mitgegebene Datei in das ebenfalls als Paramter mitgegebene Verzeichnis kopiert.
Die Parameter $path\$file.bsp ergeben den Pfad zu fertig kompilierten BSP der Map im RMF-Verzeichnis.
Die Parameter $bspdir\$file.bsp ergeben den Pfad zum maps-Verzeichnis im Spielordner.

Die fertig kompilierte BSP wird ins Maps-Verzeichnis des Spieleordners kopiert.

Copy File $path\$file.pts $bspdir\$file.pts

Der Command Copy File ist ein herkömlicher DOS-Befehl. Damit wird die als Paramter mitgegebene Datei in das ebenfalls als Paramter mitgegebene Verzeichnis kopiert.
Die Parameter $path\$file.pts ergeben den Pfad zum Pointfile der fertig kompilierten BSP der Map im RMF-Verzeichnis.
Die Parameter $bspdir\$file.pts ergeben den Pfad zum maps-Verzeichnis im Spielordner.

Die zur fertig kompilierten Map gehörige PTS-Datei resp. das Pointfile wird ebenfalls zur allfälligen LEAK-Suche in das Maps-Verzeichnis des Spieleordners kopiert.

$game_exe +map $file -game cstrike -dev -console +deathmatch 1

Der Command $game_exe entspricht dem Pfad zur EXE-Datei des Spiels.
Der Parameter +map $file gibt an, welche Map gleich beim Spielstart geladen werden soll.
Der Parameter -game cstrike startet das Spiel mit der Modifikation Counter-Strike (optional).
Der Parameter -dev startet das Spiel im Developer-Modus1) (optional).
Der Parameter -console aktiviert die Console im Spiel (optional). Für den Developer-Modus voraussetzung!
Der Parameter +deathmatch 1 startet das Spiel im Multiplayer-Modus (optional).

Command Properities

In diesem Rahmen lassen sich die Einstellungen für einen einzelnen Schritt erstellen/verändern. Dazu muss lediglich der entsprechende Schritt im Fenster Compile/run Commands ausgewählt werden.

Command

Hier lässt sich ein Befehl eintragen. Alle verfügbaren Befehle sind durch Druck auf die Schaltfläche Cmds verfügbar. Wobei die oberen Befehle standard DOS-Befehle sind, und die Unteren für den Compile zuständig sind.

Parameter

Hier lassen sich mehrer Parameter zum entsprechenen Command eintragen. Was alles für Parameter zur Verfügung stehen, wird durch Druck auf die Schaltfläche Parms sichtbar. Hier können die Spezialparameter für einzelne Compiler-Programme eingetragen werden, z.B. -fast für VIS, -bounce # für RAD oder -onlyents für CSG. Dies sind jedoch nur Beispiele. Für eine genaue Beschreibung der zur Verfügungstehenden Compiler-Parameter sollte die Dokumentation, die der Compiler beiliegt konsultiert werden! Compiler-Parameter sollten immer vor der obligatorischen Pfadvariable sein.

Use Long Filenames

Wenn dieser Hacken aktviert ist, werden auch Maps mit längeren Namen sicher kompiliert.

Ensure file post-exist

FIXME

Use Process window

Wenn dieser Hacken aktiviert ist, wird der ausgewählte Schritt im Process Window2) auch angezeigt.

Bemerkungen

keine

Weblinks

1) Develop: engl. Entwickeln → Entwicklungsumgebung
2) Process Window: Das Fenster, in welchem nach dem Compile der Compile-Log zu sehen ist
Die Verwendung aller Dokumente einschließlich der Abbildungen ausschließlich zu nichtkommerziellen Zwecken. Verbreitung des Dokuments auf Speichermedien, (insbesondere auf CD-ROMs als Beilage zu Zeitschriften und Magazinen oder sog. "Mission-Packs" etc.) ist untersagt.
 
half-life/tutorials/expert_kompilieren.txt · Zuletzt geändert: 2008/11/21 10:01 von Xerox