header YouTube
Clonk Livestream auf Twitch.tv!

Clonkspot

LegacyClonk [333] ist da! (Community-Update für Clonk Rage)

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 einige 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:

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 und clonk64 sowie c4group und c4group64. Deshalb müssen bereits bestehende Verknüpfungen und ähnliches aktualisiert werden, damit sie clonk bzw. c4group 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

Die wichtigsten Änderungen

Die folgenden Änderungen sind nur die wichtigsten.
Eine vollständige Liste der Änderungen kann aus dem git-log entnommen werden.

[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)

neustart-esc

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.

Zum Icon: LC hat momentan temporär ein von mir zusammengeschustertes Icon (bin nicht wirklich gut in solchen Dingen :x), bis wir ein gutes haben.
lc
Vorschläge für Icons sind gewünscht und gerne gesehen. Das fertige Icon sollte auch zu einem neuen Logo (das im Hauptmenü und in der Mitte des UpperBoards) passen, welches wir später einbauen werden. Da wir aber die originalen Spieldateien verwenden, werden im Spiel auch die originalen Grafiken angezeigt.

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.

Außerdem bringt OpenGL bereits in der originalen Engine ein cooles undokumentiertes Feature mit sich, das in der Registry unter HKEY_CURRENT_USER\Software\LegacyClonk Team\LegacyClonk\Graphics unter dem Namen “ColorAnimation” aktiviert werden kann. Außerdem muss auch die Option “Shader” aktiviert werden. Es sorgt dafür, dass Flüssigkeiten einen Bewegungseffekt bekommen. Ist schwer zu erklären, am besten einfach mal ausprobieren.

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.

Absturz beim Start

Falls @Jan’s Ladestatusanzeige verwendet wird, welche mit Ersetzen der fmod.dll funktioniert, stürzt LC beim Start mit folgender Fehlermeldung ab:

Die modifizierte fmod.dll ist nur genau für die offizielle CR-Engine gemacht. Deshalb muss für LC die originale fmod.dll verwendet werden. Die modifizierte fmod.dll ist außerdem nicht mehr notwendig, da das Feature ab [331] direkt eingebaut ist.

Bekannte Bugs

[330] - [333]

  • Unter Linux können Spielerportraits unter Umständen nicht geändert werden

nur [332]

  • Bei manchen kann es sein, dass das Bild nach minimieren und wiederherstellen nur weiß ist und bleibt.

[331] - [332]

  • /alert funktioniert unter Windows nicht

nur [331]

  • Bei aktivierter Skalierung ist der zugängliche Bereich der Maussteuerung im Spiel eingeschränkt
  • Bei aktivierter Skalierung funktioniert /console nicht richtig
13 Likes

Increase default MaxLoadFileSize to 100MB

Na endlich!

@Der_Tod schreib doch bitte rein, dass man vorher die Änderungen an der fmod.dll von @Jan Ladestatusanzeige rückgängig machen muss.
Ansonsten erscheint die Fehlermeldung:

Die Anwendung konnte nicht korrekt gestartet werden (0xc0000142). Klicken Sie auf “OK”, um die Anwendung zu schließen.

1 Like

Geplante Neuerungen für Version 331

Folgende Features habe ich geplant selber zu implementieren, weshalb es wahrscheinlich ist, dass sie es alle ins nächste Update schaffen.
Je nachdem wie viel Zeit die restlichen Entwickler haben, ist es auch möglich dass noch mehr Features dazukommen, wenn sie rechtzeitig fertig werden.

Überarbeiteter Vollbildmodus

Vorallem unter Windows ist der Vollbildmodus der OpenGL-Implementierung richtig merkwürdig.
Der Vollbildmodus wird aber generell durch einen moderneren Ansatz ersetzt.

Anstatt die Auflösung umzustellen und ein explizites Vollbildfenster zu erstellen, wird die beim Start eingestellte Auflösung beibehalten.
Damit nicht manche Leute Probleme haben, weil alles zu klein ist, gibt es anstatt der Auflösungsauswahl eine Möglichkeit um den Skalierungsfaktor einzustellen.

Vorerst wird einfach nur alles skaliert, ohne mögliche Grafiken und Texte in höherer Auflösung zu zeichnen. Es wird also zumindest vorerst nur einen Teil meines High-DPI-Featurevorschlags erfüllen. Trotzdem sollte es bereits ausreichen, damit LC auch auf High-DPI-Bildschirmen, wenn auch nicht mit bestmöglicher Qualität, in nativer Auflösung spielbar wird.

Im Endeffekt wird dadurch ein Verhalten erzielt, das von normalen Fenstern gewohnt ist, anstatt ein störrisches alles verdeckendes Clonk-Fenster zu haben, das außerdem verzögerungsfreies Minimieren und Wiederherstellen erlaubt.
Gleichzeitig sollte dadurch als Nebeneffekt ein etwas besserer Fenstermodus dabei herauskommen.

Checkbox für Gamma

Man konnte immer schon in der Registry Gamma deaktivieren.
Das soll in Zukunft auch ganz bequem über die normalen Grafikoptionen möglich sein.

Weißer Chat für die Lobby

Analog zum weißen Ingame-Chat eine zusätzliche Option um auch den Lobby-Chat weiß zu färben.

Timestamps für den Chat

Die Überschrift ist ein Link, der zu einer genaueren Beschreibung des Features führt.

Ladestatusanzeige

@Jan hat schon vor Ewigkeiten eine Ladestatusanzeige gebaut, mit der jeder in der Lobby sehen kann wie viel die Mitspieler bereits geladen haben.
Bei längerer Benutzung fiel mir allerdings auf, dass die Anzeige manchmal 100% anzeigt obwohl es nicht stimmt.
Deshalb ist es vorgesehen es für LC so zu ändern, dass in diesem Fall kein Ladestatus angezeigt wird.

Beim Wechseln zwischen Desktop und Clonk [332], wird der Bildschirm weiß. Das lässt sich nur durch Esc verändern, wodurch man dann z.B. die Lobby verlässt.

Das Problem löst sich auch, indem man alt+c drückt um den Chat zu öffnen :)

Probier bitte mal mit dem: https://github.com/legacyclonk/LegacyClonk/releases/download/continuous-v332_fullscreen-workaround/LegacyClonk.zip

Kannst einfach nur die Clonk.exe daraus in den Clonk-Ordner extrahieren.

Sag dann bitte Bescheid wie es sich verhält.

Habe gleichen Bug, funktioniert bei mir mit dieser Version.

Sehr gut, alle die das Problem haben können derweil diese Version verwenden.
Mit [333] wird der dann generell behoben sein.

@Bratkartoffl und @Ninja könnt ihr bitte mal mit dieser Version testen und Bescheid sagen: https://github.com/legacyclonk/LegacyClonk/releases/download/continuous-v332_fullscreen-workaround/LegacyClonk.zip (gleicher Link, aber der Inhalt wurde geändert)

Die vorige Variante war nämlich die Holzhammermethode, da ich raten musste was das Problem ist.
Das wäre jetzt ein saubererer Ansatz, den ich für [333] verwenden würde.

Edit: Es scheint zu funktionieren.

Der Link funktioniert bei mir nicht. (Not Found)

Link geht jetzt.

Ja der Link funktioniert jetzt. Mir ist es jetzt beim Wechseln zwischen Desktop und Spiel 2x passiert, dass das Symbol aus der Taskleiste verschwunden ist und ich nichtmehr zurück ins Spiel komme :)

Oh, kompilieren ging ja erfrischend unproblematisch

3 Likes

Wow, gut zu wissen, danke! Könntest du eventuell schauen, ob der Autobuild läuft?

Hallo zusammen!
Ich bin per Zufall auf euer Projekt “Legacy Clonk” gestoßen und war sofort angefixt!

Allerdings habe ich ein Problem unter Arch Linux. Wenn ich mein Clonk Rage mittels
./clonk64 lc_332_linux64.c4u
patche, läuft bei mir wohl etwas schief. Ich kann Clonk dann nicht mehr starten. Das hier ist mein Terminal-Output:
[16:24:04] No valid key file found.
[16:24:04] Command line:
[16:24:04] “”
[16:24:04] Clonk Rage
[16:24:04] Version: 4.9.10.7 [330] linux
[16:24:04] No valid key file found.
[16:24:04] Size of GammaRamp is 2048, not 256
[16:24:04] Using OpenGL…
[16:24:04] XF86VidModeExtension version is 2.2
[16:24:04] No Gamepad found
[16:24:04] Grafik wird geladen…
[16:24:04] SDL_mixer runtime version is 1.2.12 (compiled with 1.2.8)
[16:24:05] Fehler bei Grafikdatei StartupAboutBG: Datei nicht gefunden oder ungültig.
[16:24:05] FATALER FEHLER: Fehler beim Grafiksystem.
[16:24:05] Spiel deinitialisiert.
[16:24:05] Engine heruntergefahren.

Ich weiß nicht genau, was mit es mit dieser Key File auf sich hat, aber ich denke, dass der Fehler im Grafiksystem liegt. Habe versucht, Clonk Rage unter Ubuntu 18.04 zu patchen und da erhalte ich dasselbe Problem.

Könnte mit dem Key File der Regi-Key gemeint sein?

Das Update ist teilweise fehlgeschlagen, die Binary ist bei dir noch die von 330 - die Spieldaten aber von 332. Da du Arch Linux verwendest und somit die Libraries neuer sind (hab Arch, deswegen weiß ichs), empfehle ich dir, den Branch v332 selber zu kompilieren.

Die Keyfile ist, wie @Sam richtig angemerkt hat, der Regkey - da dieser seit CR [32x] und somit auch in LC nicht mehr gebraucht wird, ist diese Nachricht irrelevant.

Super, vielen lieben Dank @Fulgen! So klappt es!
Einzig und allein die Spielericons sind nicht auswählbar, obwohl sie sich in ~/.legacyclonk befinden. Klicke ich im Spiel eines an, kommt eine Fehlermeldung mit “no error” am Ende :grin: