LOL - Starcraft Broodwar Color-Fix

Oh mein Gott!

Ich habe mir eben mal auf meinem Windows 7 - Daddel-PC Starcraft: Broodwar installiert. Das Spiel ist nun ca. 10 Jahre alt, doch macht immernoch laune :)

Allerdings begrüßt es mich unter Windows 7 mit falschen Farben. So, als würde es nur mit 16 Farben laufen. Man kann halt kaum was erkennen.
Eine kurze Internet-Recherche  zeigte mir, das es sich unter Vista nicht viel anders verhält; kein (ausschließlicher) Win7-Bug also.
Es werden in diversen Foren zwar sogenannte "Lösungen" verbreitet, wie z.B. "Jaaa - da musst Du den Kompatibilitätsmodus aktivieren - der ist unter WinVista/Win7 suuuper gut. Dann klappt alles." , unnötig jedoch zu erwähnen, das ich alle möglichen Kombos durchgegangen bin, ohne das sich auch nur das geringste bischen zum besseren verändert hat.

Doch letztendlich habe ich einen Fix gefunden! Der ist _SO_ stumpf, funktioniert jedoch erschreckend gut:

Man legt einfach im Verzeichniß, in dem man Starcraft installiert hat (in welchem auch die StarCraft.exe liegt) eine Batch-Datei an (der Dateiname endet unter Windows mit .bat; z.B.: "IrgendeinName.bat"). In diese schreibt man nun 4 Zeilen:

@echo off

taskkill /f /IM explorer.exe

starcraft.exe

Start explorer.exe

Das killt einem zwar den Explorer, welcher unter Windows eigentlich das GUI mit Desktop, Startmenü, etc. bereitstellt, aber StarCraft läuft nun ohne Farbprobleme!! :) OK, man kann nun nicht mehr wirklich zwischen seinen Anwendungen hin und herswitchen, und es kann sein, das andere, laufende Tasks ohne den Exlorer abstürzen, aber StarCraft läuft! :)
Daher meine Empfehlung: Vorher alle ungesicherten Daten Speichern. Wenn jemand einen eleganteren und vor allem: funktionierenden Fix findet: Immer her damit!

Was bleibt ist das ernüchternde Gefühl, das das weltweit verbreitetste Betriebssystem im Jahre 2009  eigentlich in der Lage sein sollte ein 10 Jahre altes Spiel problemlos darzustellen, bzw. das wenigstens die eigens hierfür vorgesehenen Mechanismen zur Kompatibilität etwas besser laufen sollten...

Teilen per: TwitterEmail


Mit dem vim eine farbige motd erstellen

Hallo zusammen!

ENDLICH! Endlich habe ich den Kniff wieder gefunden!
Ich habe auf diesem Server, auf dem auch diese Homepage gehostet ist, eine farbige motd Datei angelegt. Hierin werden neben der IP und einem kleinen ASCII - Bildchen die auf diesem Server konfigurierten Domains aufgelistet.
Damals habe ich mir nicht weiter aufgeschrieben wie das geht, hatte ich das doch nach 1-2 Minuten googlen direkt gefunden.

[caption id="attachment_415" align="alignleft" width="150" caption="Screenshot der MOTD von zoosau.de"]Screenshot der MOTD von
zoosau.de{.size-thumbnail .wp-image-415 width="150" height="150"}[/caption]

Heute laufen auf demselben Server, auf dem früher nur diese eine Domain, zoosau.de, lief schon 6.
Natürlich wollte ich die neuen 5 Domains immer auch gerne in diese Datei eintragen, jedoch fand ich auf Teufel komm raus den Kniff nicht mehr, wie das geht mit farbigem Text!
Heute bin ich der Sache endlich deutlich näher gekommen. Damit ich das nächste Mal nicht wieder umsonst Ewigkeiten suche, beschreibe ich das Vorgehen hier.

Zunächst öffnet man eine Datei, oder legt halt mit dem vim eine neue an. Will man nun ... sagen wir: Rot, blinkend und auf grünem Hintergrund schreiben, dann begibt man sich zunächst in den Insert - Modus (i) und drückt dann STRG+v , gefolgt von der "Pfeiltaste-nach-rechts"-Taste. Man sieht nun folgendes erscheinen: "\^[OC " , wobei der Teil "\^[" blau dargestellt wird (sofern Konsole und vim auf farbige Darstellung konfiguriert sind). Die letzten beiden Zeichen, das "OC" löscht man nun wieder - es geht um darum, das man die Escape-Character "\^[" erzeugt hat. Warum man nicht einfach "\^[" eintippt? Nun: Testet meine Methode und vergleicht das Ergebnis mit dem Vorgehen "\^[" nur einzutippen ;) Es wird dann halt als die Zeichen "\^[" eingefügt, nicht aber als die Kontrollzeichen. Diese werden nur als blaue "\^[" angezeigt; eigentlich stecken da ganz andere Codes hinter. Schwer zu erklären, einfach mal nach "escape sequences" googlen.

So, damit wird die Sequenz eingeleitet. Nun müssen wir eingeben, was wir darstellen wollen. Ein Blick in die Manpage von "dir_colors" gibt uns hier ein paar Möglichkeiten an die Hand. Man kann hier verschiedene Werte übergeben, welche durch ein ";" getrennt und durch ein weiteres "[" initialisiert werden. Für unser "Rote, blinkende Schrift auf grünem Grund" - Beispiel nehmen wir also "05;31;42" (05 = blinkender Text; 31 = rote Schrift im Vordergrund und 42 = Hintergrundfarbe grün). Anschließend wird ein "m" angehangen, um die Kontrollstruktur zu beenden und zu signalisieren "Jetzt kommt mein Text!". Bisher haben wir also: "\^[[05;31;42m"

Als kleines Beispiel schreibe ich nun einfach "Ich bin haesslicher, blinkender Text auf einem unmoeglichen Hintergrund!" direkt hinter das "m". Dieser Text soll also gleich in unserer sehr eigenwilligen Farbkonstellation ausgegeben werden.

Genau wie die Escapesequenz eingeleitet und aktiviert wurde, muss sie nun auch wieder beendet werden um normalen Text schreiben zu können. Sonst hätte man am Ende ja nur eine große, blinkende, häßliche Textdatei, und das wollen wir wohl nicht ;)
Hierzu bedienen wir uns wieder der Tastenkombination STRG-v, "Pfeiltaste-nach-rechts" - Taste und dem löschen der Zeichen "OC". Als nächstes folgt noch ein "[0m". Die 0 setzt den Text wieder auf seine Standardeigenschaften zurück.
Zur Überprüfung schreibe ich in diesem Beispiel noch den Text "Puh, endlich ist der Albtraum vorbei!" dahinter.

So, dann bewundern wir mal unser Werk: Abspeichern, vim verlassen und "cat Dateiname" eingeben.

Ich bin mir seeeeeehr sicher, das dieses HowTo vor inhaltlichen und fachlichen Ungenauigkeiten nur so strotzt. Ich habe jedoch bisher keine bessere Anleitung gefunden. Wer Fehler findet, kann mich gerne durch einen Kommentar korrigieren :)

Teilen per: TwitterEmail