Zur besseren Übersichtlichkeit finden sich aktuelle Versionen in diesem neuen Thread.
TL;DR: LegacyClonk-Schnellinstallationsanleitung für Windows
LegacyClonk (kurz LC) ist ein Fanprojekt basierend auf Clonk Rage.
LegacyClonk erhält Updates und soll weiterhin mit den bestehenden Clonk-Rage-Spielinhalten kompatibel bleiben.
Es sollen möglichst viele Bugs und Unschönheiten behoben werden und nette Zusatzfeatures eingebaut werden, die das Leben erleichtern, ohne dass das Spielgeschehen beeinflusst wird.
Ideen und Wünsche für neue Features können hier vorgeschlagen werden.
Installation
Bei Problemen bitte diesen Thread (vorallem den ersten Post) genau lesen.
Auch bei erfolgreicher Installation würden wir uns über eine Abstimmung bei der Umfrage in demselben Post freuen.
Zum Installieren muss bereits das originale Clonk Rage oder eine vorige Version von LegacyClonk installiert sein.
Das Update ändert fast alle Dateien der Clonk-Rage-Installation, weshalb die Installation danach nicht mehr ohne weiteres mit der originalen Clonk.exe funktioniert. Wer beide Versionen betreiben will sollte sich Clonk Rage ein zweites mal installieren.
Es kann sowohl von beliebigen LC-Versionen, als auch direkt von Clonk Rage auf die aktuellste LC-Version aktualisiert werden.
Wird allerdings von LC [330] aus aktualisiert, muss danach die Sprache manuell von LD auf „normales“ Deutsch zurückgestellt werden. Die Language.c4g die für LC [330] installiert wurde kann danach gelöscht werden.
Wird von Clonk Rage aus aktualisiert, müssen entweder manuell die Einstellungen neu gesetzt werden oder die Einstellungen je nach Betriebssystem entsprechend manuell kopiert werden.
Zum Aktualisieren auf LC die jeweils gewünschte Version (weiter unten verlinkt) herunterladen und dann den folgenden Installationsanweisungen folgen.
Sobald irgendeine Version von LC installiert ist, kann auch die integrierte Update-Funktion über den Menüpunkt „Info“ verwendet werden. Die integrierte Update-Funktion verwendet allerdings zur Zeit nur HTTP. Wer sich wirklich sicher sein will sollte das Update manuell herunterladen und installieren.
Manuelle Installation
Achtung: Ab Version [332] kann es aufgrund von Änderungen bei c4group sein, dass der Update-Vorgang 2x durchgeführt werden muss, bis er fehlerfrei durchläuft.
Windows
Systemanforderungen:
- Windows 7 oder neuer
- Microsoft Visual C++ Redistributable for Visual Studio 2019 x86 (auch für 64 bit Installationen x86, da LC nur 32 bit ist)
Warnung: Einige Antivirus-Programme erkennen Clonk.exe möglicherweise als Virus oder warnen dass es unbekannt ist. Der Sourcecode ist hier verfügbar.
Die heruntergeladene Update-Datei mit Doppelklick öffnen.
Je nach Installationsort kann es sein, dass Administratorrechte notwendig sind.
Bei Problemen bei der Installation kann `lc_windows_updater_xxx.bat´ (siehe Downloads) eventuell hilfreich sein. Dazu die bat-Datei und die passende (selbe Versionsnummer) Update-Datei (c4u) in den Clonk-Ordner speichern und die bat-Datei ausführen. Wenn Clonk mit Administratorrechten ausgeführt werden muss, muss die bat-Datei ebenfalls mit Administratorrechten ausgeführt werden.
An dieser Stelle danke an @Funni, der die verbesserte Update-bat-Datei ab [332] gemacht hat.
Um die Konfiguration von Clonk Rage nach LegacyClonk zu übernehmen, muss der Registry-Eintrag HKEY_CURRENT_USER\Software\RedWolf Design\Clonk Rage
nach HKEY_CURRENT_USER\Software\LegacyClonk Team\LegacyClonk
kopiert werden.
Linux
Systemanforderungen:
Die vorkompilierte Engine wird mit Ubuntu 18.04 (bionic) kompiliert.
Folgende Pakete, oder ähnliche für andere Distributionen, sind notwendig:
zlib1g libgl1-mesa libjpeg libpng16-16 libssl libglu1-mesa libglew libsdl1.2 libsdl-mixer1.2 libfreetype6 freeglut3 libxpm
Zum Installieren des heruntergeladenen Updates muss in einem Terminal in den Clonk-Ordner gewechselt werden:
$ cd clonk-ordner
Danach muss das Update mit clonk installiert werden:
$ ./clonk pfad-zu-update.c4u
Sollte eine 64 bit-Installation vorhanden sein, so sind beim ersten Update von Clonk Rage aus einige Dinge zu beachten. Weitere Updates von LC zu neueren Versionen können danach ohne weiteres normal installiert werden.
- Zum Installieren des Updates muss
./clonk64
anstatt./clonk
verwendet werden. Sollte aufgrund von Fehlern ein zweiter Durchlauf notwendig sein, muss beim zweiten Durchgang dann das bereits aktualisierte./clonk
verwendet werden. - Die Updates für 32 und 64 bit sind bei LC getrennt. Deshalb gibt es keine Unterscheidung mehr zwischen
clonk
undclonk64
sowiec4group
undc4group64
. Deshalb müssen bereits bestehende Verknüpfungen und ähnliches aktualisiert werden, damit sieclonk
bzw.c4group
verwenden.
Kurz gesagt: Nach dem Update sind architekturunabhängig clonk
und c4group
zu verwenden.
Um die Konfiguration von Clonk Rage zu übernehmen muss ~/.clonk/rage/config nach ~/.legacyclonk/config kopiert werden.
Mac
Zurzeit gibt es aufgrund fehlender Expertise kein funktionierendes Update-Paket für Mac, obwohl die Kompilierung der Clonk-Anwendung an sich für Mac funktioniert.
Bei Interesse bitte bei DerTod im IRC melden oder hier eine entsprechende Antwort posten.
Downloads
Entwicklerdokumentation
Die Entwicklerdokumentation findet sich wie üblich hier auf Clonkspot. Sie wird bei LC-Änderungen aktualisiert.
Die wichtigsten Änderungen
Die folgenden Änderungen sind nur die wichtigsten.
Eine vollständige Liste der Änderungen kann aus dem git-log entnommen werden.
[337]
Dies ist ein reines Bugfix-Release. Es behebt Script-Errors von [336] und verbessert die Wahl der Cursorgröße.
[336 - 4.9.10.8]
Update der Spielinhalte
Mit diesem Update werden die Standard-Spielinhalte auf Version 4.9.10.8 mit aktualisiert.
Hauptsächlich wird dadurch die 4K-Version des Tiefsee-Loaders installiert.
Es werden aber alle Pakete aktualisiert und um COPYING-Dateien (enthalten eine Auflistung von wem welche Dateien stammen) erweitert. Dieser Schritt ist wichtig, damit wir in Zukunft unseren eigenen vollständigen Installer und ein Archiv mit dem kompletten Spiel anbieten können.
Skalierungsverbesserungen
Viele Ungereimtheiten der Skalierung wurden behoben und verbessert:
- Cursor werden in nativer Auflösung angezeigt. Dazu gibt es zusätzlich neue größere Cursorgrafiken
- Schrift wird in nativer Auflösung angezeigt (ist aber unter Umständen trotzdem nicht 100 % scharf)
- Die Dicke von Linien wird mitskaliert. z.B. bei Leitungen oder Tooltip-Rahmen
- Die SolidMask-Anzeige wurde gefixt
- Streifen zwischen zwischen sich wiederholenden Grafiken wurden behoben
- Von anderen Grafiken hereinragende Pixel wurden behoben
Strg+F fokussiert das Suchfeld in der Szenarioliste
Escape bei ausgewähltem Suchfeld fokussiert die Szenarioliste
Escape schließt den F4-Dialog und /chart
2 neue Layouts für das Upperboard
Zusätzlich zum normalen Upperboard gibts jetzt noch 2 neue Varianten:
- kleine Variante:
- Minivariante neben dem Log:
Automatische Liga-Anmeldung
Es gibt jetzt eine einfache Form der automatischen Liga-Anmeldung.
Dazu wird der Benutzername dauerhaft gespeichert und das Passwort so lange bis LC beendet wird.
Damit trotzdem ohne Beenden von Clonk der eingeloggte Spieler gewechselt werden kann, wird beim Entfernen des Spielers in der Lobby das Passwort „vergessen“, wodurch die Login-Daten geändert werden können.
Beim Beitreten über veraltete Referenzen wird der Titel jetzt richtig angezeigt
Wenn man im richtigen Moment einem Spiel beitritt, während gerade von einem Szenario auf ein anderes gewechselt wurde passierte es, dass in der Lobby oben noch der alte Titel stand, was öfters für Verwirrung sorgte.
Veraltete Referenzen (Einträge in der Spieleliste vom Netzwerkmodus) lassen sich leider nicht ohne weiteres Vermeiden. Dafür wird jetzt aber der Titel nochmal aktualisiert, sobald man in der Lobby ankommt.
Bessere OpenGL-Performance
Die neuen 4K-Loader haben eine Stelle im Code aufgedeckt, die für Hardware von heute unnötig viel Overhead erzeugt hat.
Von der Optimierung profitieren nicht nur die Loader sondern alle großen Grafiken, wodurch auch im laufenden Spiel die CPU-Auslastung wesentlich gesenkt wird. Allerdings muss für die momentane Implementierung von FoW (Fog of War) die alte aufwändigere Variante verwendet werden, wodurch der Vorteil bei aktiviertem FoW verloren geht.
60 FPS im Menü
Das Menü, also alles außerhalb vom eigentlichen Spielmodus, wie Hauptmenü, Lobby, Szenarioliste, etc. laufen jetzt mit 60 FPS, was ein deutlich flüssigeres und angenehmeres Bedienen ermöglicht.
Gleichzeitig löst sich dadurch das Problem, dass von SetGameSpeed() gesetzte FPS über ein Szenario hinaus erhalten bleiben, da die FPS im Menü auf 60 und bei Spielstart auf 36 gesetzt werden.
Kompatibilitätsprobleme mit nicht-#strict-3-Scripten behoben
In einigen Szenarien gab es mit [335] leider ein paar Fehlermeldungen die aufgrund eines Implementierungsfehlers von #strict 3 auftraten, die die uns selber aufgefallen sind sind jetzt behoben.
?-Modifier für C4Script für „Safe Navigation“
Vor Operatoren für Zugriffe auf Variablen von Maps, Arrays und Objekten sowie Funktionsaufrufe kann jetzt ein ? gesetzt werden: ?. ?[] ?-> ?->~
Der Modifier sorgt dafür, dass bei Zugriff auf nil kein Error ausgelöst wird sondern stattdessen der ganze Ausdruck nil zurückliefert. Weitere Informationen dazu finden sich in der Doku.
Script-Überladung der Clonk-Wechsel-Tasten
Es ist jetzt ohne weitere Hacks möglich, das Drücken der Clonk-Wechsel-Tasten per Callback abzufangen und den Clonk-Wechsel zu unterdrücken, um andere Aktionen auszulösen.
Dazu gibt es wie gewohnt alle möglichen Varianten von ControlCursor{Left,Toggle,Right}.
DefCore-Einstellung HideHUDBars
Über den DefCore-Eintrag HideHUDBars können einzelne oder mehrere Statusleisten (Lebensenergie, Zauberenergie und Luft) von Objekten ausgeblendet werden. Das ist zum Beispiel sinnvoll, wenn Objekte ihr eigenes HUD anbieten.
[335]
Dies ist bis auf 2 Ausnahmen ein reines Bug-Fix-Release, da sich bei der großen Anzahl an doch eher größeren Änderungen in [334] doch einige eher kritischere Fehler einschlichen.
Behoben wurden 2 Bugs die bei Verwendung von IPv6 auftraten, ein Crash in GetPath() (was mithilfe von System.c4g GetPathLength() ersetzt), ein kleiner Fehler in der #strict 3-Implementierung der in alten Scripts unter Umständen fälschlicherweise Errors auslöste, ungewünschter Lag im Infoscreen und doch noch ein Bug in der Zeilenumbrechung, der sich einschlich.
Außerdem wurde der Netzwerk-Paket-Log deaktiviert, damit die Fehlermeldungsbox bei Verbindungsabbrüchen nicht so ewig lädt.
Als kleines Extra ist jetzt auch der IRC-Chat verwendbar, während man als Client auf den Dialog „Warte auf Spielstart“ starrt.
[334]
Versenden von Spieldaten (c4d, c4s, …) optimiert
Bereits bei nur leicht erhöhten Pings war das Versenden der Spieldaten (in der Lobby) nur sehr träge und hat den verfügbaren Upload oft bei weitem nicht ausgenützt.
Jetzt werden „aggressiver“ mehr Daten verschickt, um dies auszugleichen.
Ein Nebeneffekt davon ist, dass unter Umständen die Pings während des Ladens sehr hoch werden können.
Bereitschafts-Checkbox-Text ändert sich zu „lädt noch“, solange sie deaktiviert ist
Um es hoffentlich endlich offensichtlich genug zu machen, ändert sich jetzt die Beschriftung der Bereit-Checkbox zu „lädt noch“, solange sie deshalb nicht aktivierbar ist.
IPv6-Support (und Puncher)
LC hat jetzt den vollständigen IPv6-Support und netpuncher aus OpenClonk backported bekommen.
Kurz gesagt, kann man mit LC jetzt auch über IPv6 hosten und beitreten, vorausgesetzt beide Parteien haben bereits IPv6 vom Internetanbieter bekommen.
Bei IPv6 gibt es prinzipbedingt kein Port Forwarding mehr im originalen Sinn.
Erfahrungsgemäß haben aber IPv6-aktivierte Router eine Firewall aktiviert, bei der trotzdem die entsprechenden Ports freigeschaltet werden müssen, um über IPv6 hosten zu können.
Leute mit DSLite (die die bis jetzt nicht mehr über IPv4 hosten konnten) müssen aber bitte bedenken, dass ihnen dann auch nur andere Spieler beitreteten können die ebenfalls bereits IPv6 haben.
Andererseits können Hosts mit echtem Dual Stack wirklich alle beitreten, vorausgesetzt Port Forwarding und IPv6-Firewall sind richtig konfiguriert.
Gleichzeitig verwendet LC jetzt den gleichen netpuncher wie OpenClonk, wodurch es einigen Hosts auch über IPv4 möglich sein sollte zu hosten, bei denen es vorher wegen nicht möglichem Port Forwarding (auch zB bei DSLite).
Tests haben allerdings bereits gezeigt, dass auch der netpuncher leider kein Allheilmittel ist. Im Zweifelsfall müssen auch DSLite-Kunden Port Forwarding im Router einstellen, um die Chancen zu erhöhen.
neues Logo
Dank @AniProGuy hat LC jetzt endlich sein eigenes richtiges Logo im vollen und im Icon-Format.
Windows: Gamma wird beim Minimieren zurückgesetzt
Entfernen von internen Scripts
Eigentlich ist es nur ein Implementierungsdetail, aber mit schwerwiegenden Folgen.
Bis jetzt war es durch eine minimale Änderung im Source-Code über sogenannte „interne Scripts“ möglich, egal ob als Host oder als Client, egal ob der Debug-Modus aktiviert ist, egal ob Liga aktiviert ist, unsichtbar zu Scripten.
Diese „internen Scripts“ wurden entfernt und alle legitimen Verwendungen in der Engine durch entsprechende eigene Pakete ersetzt. Dadurch ist es jetzt unmöglich (zumindest über diesen Weg) als Client und unsichtbar zu scripten, ohne dass es das Szenario vorsieht.
Zeilenumbruch von formatiertem Text endgültig behoben
Durch das Aktivieren von weißem Chat und Timestamps wurde deutlich sichtbar, dass bei automatischen Zeilenumbrüchen die Textformatierung (Farbe, kursiv) in den fortgesetzten Zeilen verloren gingen.
Der Versuch dies bereits in [333] zu beheben ist leider gescheitert, aber diesmal sollte es wirklich passen.
höher aufgelöste Loader
Durch @Funni’s Initiative haben wir von matthes einige Loader in 4K neu gerendert zugeschickt bekommen.
Durch vernachlässigte Pflege von Plugins gab es allerdings leider ein paar Renderfehler, die @Funni noch händisch korrigiert hat, auch wenn es leider nicht perfekt ist.
Wir sind weiterhin auf der Suche nach Grafikern die uns bei diesem Problem mit Bildbearbeitungskenntnissen helfen könnten.
Momentan sind der Goldmine-Loader (der Hintergrund vom Hauptmenü) und der Loader in der Wasserhöhle neu.
C4Script-Neuerungen
In dieser Version gibt es viele neue Features für C4Script, die nur darauf warten ausprobiert zu werden. Die Dokumentation dazu muss aber erst noch aktualisiert werden.
Bei der Verwendung aber bitte damit rechnen, dass es noch zu unentdeckten Bugs kommen könnte.
#strict 3
Eine Weiterentwicklung von #strict 2, die zumindest aus unserer Sicht viele Macken in C4Script korrigieren und neue Features erlaubt.
#strict 3 wird höchstwahrscheinlich in Zukunft noch weitere Änderungen erfahren, wir werden aber versuchen zur ersten (hier vorgestellten) Version von #strict 3 abwärtskompatibel zu bleiben, sodass im Nachhinein Scripte nicht erneut angepasst werden müssen.
Neue Scripte sollten definitiv als Ziel #strict 3 anstreben.
nil
Möglicherweise bereits aus OpenClonk bekannt, gibt es jetzt einen expliziten Wert für „nichts“.
Der große Vorteil ist, dass sich so typmäßig 0, false, NONE untereinander und von nil unterscheiden lassen.
Da 0, false und NONE jetzt jeweils ihrem zugehörigen Typen entsprechen, sind diese nicht mehr zu string, object, array oder (auch neu) map konvertieren. Für die Übergabe von Argumenten von gerade genannten Typen muss also anstelle von 0 (auch false und NONE) immer nil verwendet werden.
Da nil auch ungleich 0, false und NONE ist, muss um auf das Nicht-Vorhanden-Sein eines Werts zu überprüfen dieser mit nil verglichen werden.
Also if(foo == nil)
anstelle von if(foo == 0)
und anderen Varianten. Analog dasselbe für !=
.
Eine schwächere Version besteht darin if(foo)
bzw. if(!foo)
zu machen, was eher der alten Bedeutung entspricht, da nil, 0, false und NONE alle false sind, wenn sie zu einem bool konvertiert werden.
Maps
Die Details werden weiter unten erklärt.
Zum Verwenden von Syntax für maps muss #strict 3 aktiv sein.
Access Modifiers
Mit #strict 3 bekommen access modifiers (public, protected, private) endlich ihre Bedeutung zurück.
Bislang war es so, dass Funktionsaufrufe mit ->
die Zugriffsberechtigungen ignoriert haben.
Zumindest ich bin dadurch übergegegangen gar keine Berechtigungen mehr festzulegen.
Jetzt ist es so, dass diese Berechtigungen auch mit ->
überprüft werden, falls sowohl das Script das den Aufruf ausführt, als auch das Script in dem die aufgerufene Funktion stehen beide #strict 3 sind.
Dadurch, dass wirklich beide #strict 3 sein müssen, sollten alle Interaktionen mit älteren Scripts weiterhin funktionieren.
Die Standardberechtigung ist wie üblich public, falls nichts angegeben wird.
Maps (auch als Hash oder assoziatives Array bekannt)
Ebenfalls ähnlich zu OpenClonks proplists, aber dennoch nicht ganz, sind maps eine lang ersehnte Datenstruktur für C4Script.
Mit Maps können Werte beliebigen Typs als Schlüssel verwendet werden, um zugehörige Daten zu speichern.
Eine Beschreibung zu Maps findet sich in der Doku.
Direkt modifizierende Operatoren können nicht mehr crashen
Auch erst vor kurzem beim Einbauen des ..=
-Operators fiel mir auf, dass man mit +=
und vielen weiteren Operatoren die das Argument direkt modifizieren ganz leicht die Engine crashen lassen konnte.
Beispiel:
/script Global(0) = "Hallo"
/script Global(0) += 1
Durch zusätzliche Checks (und genaue Fehlermeldungen) ist dies mit [334] unabhängig vom verwendeten #strict-Level behoben.
SetLength endgültig gefixt
Ein Crash in SetLength wurde bereits in [333] vermeintlich gefixt, tatsächlich aber nur auf einen anderen Spezialfall verschoben.
Jetzt sollte es wirklich komplett richtig funktionieren.
Array-Append-Operator []
Durch Leerlassen der []-Klammern kann ein neues Element an das Ende das Arrays angehängt werden.
Beispiel: arr[] = 1337
ist äquivalent zum vorher üblichen arr[GetLength(arr)] = 1337
.
Array-Zugriff auf Strings
Mithilfe vom []-Array-Zugriff können jetzt die einzelnen Zeichen eines Strings direkt als String extrahiert werden. Momentan ist aber nur Lese-Zugriff möglich, ein Versuch einen derartigen Wert zu verändern endet in einem Error.
Außerdem können negative Indizes verwendet werden, um auf Zeichen von hinten zuzugreifen.
Beispiel: "Hallo"[0]
-> "H"
, "Hallo"[-1]
-> "o"
Betragsmäßig zu große Indizes liefern nil / 0.
Ergänzte Kombinationsoperatoren <<=, >>=, **=
Mit der sonst üblichen Bedeutung von anderen kombinierten Zuweisungsoperatoren gibt es jetzt auch <<=, >>= und **= als Gegenstück zu <<, >> und **.
Konkatenierungsoperator ..
und ..=
Der ..
-Operator bietet gleich mehrere neue Möglichkeiten. ..=
ist wie üblich der kombinierte Zuweisungsoperator.
Falls einer der Operanden ein String ist, konkateniert (= zusammenfügen) ..
die zwei Strings.
Falls nötig wird dazu der zweite Operand zu einem String konvertiert, falls dieser ein int oder eine ID ist.
Ansonsten gibt es einen Error.
Falls beide Operanden Arrays sind, werden die Arrays zusammengefügt.
Falls beide Operanden Maps sind, werden diese gewissermaßen zusammengefügt. die Beschreibung und ein Beispiel dazu sind in der Beschreibung von Maps enthalten.
Beispiele:
"Hallo" .. " " .. "Welt"
-> "Hallo Welt"
10 .. " %"
-> "10 %"
[0, 42] .. [1337, 1]
-> [0, 42, 1337, 1]
[333]
Fixes für Windows
- /alert funktioniert wieder
- das Problem, dass bei manchen Leuten beim Minimieren und Wiederherstellen nur mehr ein weißes/graues Bild da war, ist behoben
- windowseigener „Ding“- Sound bei manchen Shortcuts ist eliminiert
- Absturz (nur beim ersten Mal sichtbar) beim Beenden von LC behoben
- c4group.exe wird ab jetzt, also sobald bereits mindestens Version [333] vorhanden ist, geupdated, insofern das Update über Clonk.exe (dazu zählt auch Doppelklick auf die Update-Datei und Verwenden der bat-Datei) gemacht wird
/script
ist jetzt bei aktiviertem Debug-Modus im Einzelspielermodus in allen Szenarien möglich
Bis jetzt durfte man nur in Netzwerkspielen oder in eigens erstellten Szenarien per /script
scripten.
Diese (sinnlose?) Beschränkung ist jetzt entfernt.
/nodebug
als Client
/nodebug
kann jetzt wieder wie früher als Client verwendet werden, um Hosts beim Cheaten zu hindern.
LoadScenarioSection
kann jetzt die aktuelle Sektion neu laden
Mit LoadScenarioSection
kann die aktuell aktive Sektion neu geladen werden, indem die aktuelle Sektion nochmal geladen wird.
Vorher führte dies nur zu einer Warnung, dass die Sektion schon aktiv ist.
(Seltener) Crash in Script-Funktion SetLength
behoben
Danke an @Bratkartoffl fürs aufdecken
[332]
Verbesserter Vollbild- und Fenstermodus
Die Maus ist nun auch bei aktivierter Skalierung ohne jegliche Probleme verwendbar. Außerdem sind Benachrichtigungen - etwa die Windows 10-Toasts - sowie Firewallfenster einwandfrei sicht- und bedienbar. Auch /console
geht wieder problemlos.
Neues Script-Callback InitializeDef
protected func InitializeDef(string section)
: Wird in jeder Definition vor dem Szenario-Initialize-Aufruf bzw. beim Sectionwechsel aufgerufen bevor Objekte erstellt werden. Kann dazu verwendet werden, um etwa statische Variablen zu setzen.
section
gibt dabei die neue Section an - ist der Wert 0
, wird die Hauptsection geladen.
Farbcode nein, Farbcode ja
Die Szenarioliste zeigt keine ungeparsten Farbcodes mehr an, dafür wird der Titel auf dem Loader in Farbe dargestellt.
Suchfunktion
Es gibt nun eine Suchfunktion für die Szenarienliste.
[331]
Neuer Vollbild- und Fenstermodus
Im Vollbild-Modus wird immer die aktuell eingestellte Auflösung verwendet.
Außerdem sollte gerade unter Windows das Minimieren und Wiederherstellen besser und schneller funktionieren.
Damit das Bild trotz eventuell höherer Auflösung nicht zu klein ist, gibt es anstatt der Auflösungswahl eine Option um die Skalierung einzustellen.
Der Fenstermodus kann jetzt ebenfalls direkt in den Optionen eingestellt werden.
Die Fenstergröße kann jetzt auch verändert werden, allerdings passt sich der Inhalt nur an, wenn man sich im laufenden Spiel befindet oder der Dialog gewechselt wird.
Weißer Chat und Zeitstempel
Der weiße Chat ist jetzt auch für die Lobby aktivierbar und für die Lobby und Nachrichten im Spiel können Zeitstempel eingeblendet werden.
Der weiße Chat für Ingame kann weiterhin über das Spielmenü eingestellt werden, der weiße Chat für die Lobby und die Zeitstempel finden sich jetzt auch in den Optionen.
Checkbox für Gamma
In den Problembehebungsoptionen im Tab Grafik gibt es jetzt die Möglichkeit Gamma zu deaktivieren.
Ladestatusanzeige für die Lobby
In der Lobby ist jetzt sichtbar, wie viel die anderen Mitspieler bereits von den Spieldaten geladen haben.
Diese Anzeige funktioniert nur, falls eine direkte Verbindung zum Client besteht (eine direkte Verbindung besteht, wenn der Ping sichtbar ist). Ist dies nicht der Fall, wird kein Ladestatus angezeigt.
[330]
Einige Desyncs zwischen Linux/Mac und Windows wurden gefixt
Backport der „Bereit“-Checkbox für die Lobby aus OC (zeigt zusätzlich an wenn ein Client dieses Feature nicht unterstützt)
Comic Universe hat in diesem Screenshot die offizielle Engine, die das Feature nicht unterstützt.
Tod’s Laptop ist noch nicht bereit und Tod’s Laptop2 ist schon bereit.
Die Bereitschaftsanzeige ist nur eine Unterstützung für den Host. Er kann auch starten obwohl nicht alle bereit angehakt haben.
Eine Option um die Chatnachrichten im laufenden Spiel weiß einzufärben
Die Option für den „weißen Chat“ findet sich im Ingame-Spielermenü unter Optionen -> Anzeige -> Weißer Chat. (Hat noch kein eigenes Icon.)
Für Hosts ein Neustart-Button im „Runde abbrechen“-Dialog (der der beim Drücken von Escape erscheint)
Für Hosts beim Game-Over-Dialog ein Neustart-Button, und falls das Szenario SetNextMission verwendet wird das als zusätzlicher Button realisiert. Weiterspielen ist also jetzt immer möglich!
Da hier das erste Tutorial gespielt wurde, sind alle 4 Buttons sichtbar.
Falls SetNextMission nicht verwendet wurde sind nur die ersten 3 Buttons sichtbar.
Neuer Credits-Screen (dynamisch generiert, anstatt eines statischen Hintergrundbilds)
Vorbereitungen für automatische Updates
Nur noch OpenGL
Vorerst unterstützt LC nur noch OpenGL (also kein DirectX mehr), da wir zurzeit keinen haben der das richtig pflegen kann. In späteren Updates könnte allerdings DirectX wieder zurück kommen, falls OpenGL zu viele Probleme bereitet.
Viel Spaß beim Ausprobieren
Bei Problemen, Unklarheiten oder Rückfragen, insbesondere bei Mac oder Linux (aber auch unter Windows) meldet euch am besten im IRC in #legacyclonk, oder direkt bei mir (DerTod) oder Fulgen oder hier im Forum (Antwort braucht aber länger).
Rechnet aber im IRC damit, dass wir unter Umständen gerade keine Zeit haben oder offline sind (im Falle von offline sind wir auf away gesetzt), am ehesten antworten wir ab späterem Nachmittag.
Wartet also auf jeden Fall länger auf eine Antwort als nur ein paar Minuten.
Bei offensichtlichen Bugs und anderen Dingen die alle interessieren könnten, meldet diese allerdings bitte hier im Forum (könnt uns aber eventuell im IRC darauf hinweisen, damit wir es schneller sehen), damit Bug-Informationen und ähnliches für alle ersichtlich sind.
An dieser Stelle möchte ich mich recht herzlich bei @AniProGuy, @Alx und @Peder bedanken, die mir beim Testen der Windows-Version geholfen haben und einige Fehler aufgedeckt haben.
Außerdem möchte ich mich bei @Luchs bedanken, der uns bezüglich Clonkspot unterstützt.
Natürlich möchte ich mich auch bei matthes und dem ehemaligem Entwickler-Team bedanken, dass sie Clonk gemacht haben, und matthes dafür, dass er doch noch den kompletten Code Open Source gemacht hat.
Abschließend möchte ich mich auch noch beim OpenClonk-Team bedanken, da sie sehr viel Arbeit geleistet haben die uns beim Code-Aufräumen geholfen hat, und wir auch manche Features/Commits davon backported haben.
Dieses Update wird euch vom LegacyClonk-Team, aktuell bestehend aus @Jan, @Fulgen, @Kanibal und @Der_Tod bereitgestellt.
FAQ
Bringt OpenGL irgendwelche Nachteile?
Unter Linux und Mac macht es sowieso keinen Unterschied, da es dort sowieso immer nur OpenGL gab.
Unter Windows wurde die OpenGL-Implementierung mit [332] bereits deutlich verbessert, es kann aber trotzdem sein dass es sich etwas anders verhält als von DirectX gewohnt.
Es lagt dauerhaft leicht, mit durchschnittlich 30 FPS
Bei manchen Grafikkarten-Treibern scheint dies aufzutreten, wenn in den Einstellungen des Grafiktreibers VSync aktiviert ist. Die Lösung ist also, global oder für Clonk VSync zu deaktivieren.
Vermutlich wird durch aktiviertes VSync im Treiber doppelt synchronisiert, weil Clonk das separat macht, was bei einem 60 Hz-Bildschirm zu 30 FPS führt.
Bekannte Bugs
[336]
-
Neue Inkompatibilitäten aufgrund von #strict 3: wird in Kürze behoben (Diesmal wegen System.c4g, nicht wegen der Engine)
-
Kein echter Bug: Die Wahl der Cursor-Größe ist nicht sinnvoll: wird in Kürze behoben
[330] - [336]
- Unter Linux können Spielerportraits unter Umständen nicht geändert werden