Runes of Magic – Der schwarze Fix

So ein diabolisches Programm wie Runes of Magic hat man selten. Da möchte ich Euch einen Bug zeigen, für den ich endlich einen Fix gefunden habe, da zeigt sich der Bug nicht mehr 😀

Der Bug

Zum Glück braucht man es nur ein paar mal starten und der Bug manifestiert sich, als ob er Uhrzeitabhängig wäre 😀 Wem das hier bekannt vorkommt:

Dem kann ich jetzt helfen 🙂 Ein Fenster mit Fehlermeldungen, die nicht angezeigt werden, weil das Fehlerfenster einen Programmierfehler hat :D, ist vor dem Spielfenster zu sehen. Es läßt sich nicht wegbewegen und ist auch ansonsten einfach defekt.

Natürlich gibt es dazu dutzende Bugreports an Wine und Runes of Magic, aber die schieben sich gegenseitig den Fehlerteufel zu und machen nix.

Um das zu lösen, braucht Ihr wmctrl,  das Window-Manager-ControlProgramm, also quasi WMCP 😉 Der Befehl:

wmctrl -l

listet alle offenen Fenster Eures Desktops auf, was so aussehen könnte:

0x03800003 -1 MeinRechner Schreibtisch
0x0380000b -1 MeinRechner nemo-desktop
0x08400006 0 MeinRechner marius@MeinRechner:~
0x09800001 0 MeinRechner Runes of Magic
0x09800003 0 MeinRechner Error List
0x0a400019 0 N/A ROM-Fix1.png (2.6M) — Krita

Ihr seht den Titel des Fensters und die WindowID. Spontan wollte ich mit der WindowID und der -c Option von wmctrl das Fenster einfach schliessen, aber da spielt Runes of Magic nicht mit aka. das ignoriert das kaputte Windowsfenster einfach. Es müssen andere Mittel her 😀

Die Lösung

Die Lösung sieht dann so aus:

wmctrl -r „Error List“ -e 0,0,0,1,1

Damit wird das Fenster mit dem Titel „Error List“ auf dem derzeitigen Desktop, Links oben auf die Koordinate 0/0 geschoben ( da wars vorher schon ) und dann auf 1×1 Pixel reduziert. Es ist jetzt also nur noch genau ein Pixel links oben in der Ecke, wo man sowieso den Fensterrahmen hat. Damit ist es aus der Störgleichung entfernt und das Spiel kann losgehen.

Wer früher mühselig zig Restarts von Rom hingelegt hatte, bis das Fenster mal nicht zu sehen war, der kann jetzt aufatmen … endlich weg 😀

Ein kleines Manko gibts dann doch, wenn man die Arbeitsfläche wechselt, ist der Bug wieder da.

Also Terminal aufmachen  und eingeben : watch -n 5 „wmctrl -r \“Error List\“ -e 0,0,0,1,1″

Alle 5 Sekunden wird es damit automatisch wieder verkleinert.

FFMPEG: automatisch Rahmen entfernen

Jeder Videofan kennt das, auf der DVD war ein 4:3 der eigentlich ein 16:9 Film war und nun oben und unten schwarze Streifen hat. Die müssen irgendwie weg und FFmpeg hat die Lösung :

ffplay -i YourMovie.mp4 -vf "cropdetect=24:16:0"

Dieser Befehl erkennt schwarze Balken und gibt die nötigen Werte dafür dann aus. FFmpeg gibt dann so einen Wert aus: „crop=480:320:0:130“, das meint, das Bild ist 480×320, ab Links 0px und Oben 130px, oder anders ausgedrückt, er schneidet oben 130px weg. Da nur 320px benutzt werden, fallen unten die restlichen schwarzen Pixel weg.

Das führt uns dann zu diesem Befehl, wo dies Ergebnis angegeben wird:

ffmpeg -threads 8  -i test.avi -f avi  -r 25 -vcodec libxvid -vtag XVID -aspect 16:9 -maxrate 900k -b:v 700k -qmin 3 -qmax 5 -bufsize 4096 -mbd 2 -bf 2  -c:v:0 libxvid -c:a:0 libmp3lame -b:a:0 192k -vf "crop=480:320:0:130" -s:v 480x320 "test2.avi"