Dies ist primär ein Bugfixrelease zu [349], enthält aber auch neue Features. Das Update wird bei Macspielern Preloading aufgrund möglicher Crashes ausschalten, sofern aktiviert; es kann manuell in den Einstellungen wieder aktiviert werden.
Scriptwarnungen / -fehler bei falsch angegebenen Parametertypen in Enginecallbacks
Vor diesem Release wurden Parametertypen von Callbacks, die von der Engine erfolgen, nicht gecheckt und damit auch keine Typumwandlungen durchgeführt. Dies hat zu Bugs geführt, mit denen die Engine auch gecrasht werden konnte.
In 350 werden die Typangaben nun respektiert. Das führt bei nicht passenden Typen zu Warnungen bzw. Fehlern:
Beispiel: EffectCall übergibt der Funktion einen String als Argument, die Funktion will allerdings einen Integer.
Ist das Script #strict 2 oder niedriger, wird eine Warnung ausgegeben und die Typangabe des Parameters im Funktionsheader ignoriert.
Ist das Script #strict 3, wird ein Fehler ausgegeben.
Weitere Features
HTTP-Anfragen werden nun auch über die Fallback-Adresse ausgeführt, wenn die Verbindung sofort fehlschlägt. Damit funktionieren Anfragen auch, wenn diese davor über IPv6 getätigt wurden, aber die Verfügbarkeit verschwindet, ohne dass dafür die Engine neu gestartet werden muss.
Scriptfehler in Funktionen, die durch EffectCall, CheckEffect oder AddEffect aufgerufen werden, geben nun einen kompletten Stacktrace aus, wie von normalen Funktionen gewöhnt – davor ist nur bis zum EffectCall / … Aufruf ausgegeben worden, aber nicht, was EffectCall / … überhaupt aufgerufen hat.
Die Sortierreihenfolge von Szenarienordnern mit Auswahlkarten und Definitionen mit Sounds oder Rangnamen ist verbessert worden – neu gepackte Gruppen können sich über eine Geschwindigkeitserhöhung freuen.
Zu lange Stringliterale (mehr als 1024 Zeichen in einem Literal) verursachen in #strict 3 nun einen Fehler; kleinere #strict – Versionen verursachen weiterhin nur eine Warnung.
Bugfixes
Preloading bei macOS ist nun standardmäßig deaktiviert, da es Crashes verursachen kann.
Clonkrang und -name im HUD werden nun wieder in der korrekten Ordnung angezeigt – erst der Rang, dann der Name.
c4group.exe -s (Gruppe sortieren) speichert jetzt auch die Gruppe nach dem Sortieren und lässt die Änderungen nicht einfach verloren gehen.
Ein Client sendet nur noch Spielerupdatepakete, wenn die Änderung am Client passiert ist, um race conditions zu vermeiden.
Der Readycheck-Toast setzt den Spieler nicht mehr auf „nicht bereit“, wenn der Toast geschlossen wird; damit bleibt auch der Lobby-Dialog offen. Dies löst das Problem mit sofort geschlossenen Lobby-Dialogen im Vollbildmodus unter Windows.
Ein unnötiges leeres <i> – Tag aus Spielernachrichten wurde entfernt.
Scriptmaterialreaktionen bekommen Referenzparameter nun korrekt übergeben.
Zeichen in Spielstandsbeschreibungen werden nun korrekt escaped.
Musik kann nun ingame auch eingeschaltet werden, wenn Music.c4g überladen wurde.
Nicht invertierte Materialreaktionen mit einem einzelnen Material als TargetSpec funktionieren wieder.
Clonk kann nun Toast-Benachrichtigungen unter Windows und Linux anzeigen. Momentan werden diese nur für /readycheck verwendet, wodurch der Spieler / die Spielerin auch darüber benachrichtigt wird, wenn Clonk nicht das aktive Fenster ist; außerdem kann Ja / Nein direkt über die Benachrichtigung ausgewählt werden. Ein Klick auf die Benachrichtigung setzt einen als bereit, da man schließlich am PC sein muss, um sie zu beantworten.
Sollten diese Benachrichtungen unerwünscht sein, können Toasts je nach Anwendungsfall über das Bearbeiten der Einstellungen in der Registrierung oder Konfigurationsdatei im Abschnitt Toasts ausgeschaltet werden; für Readycheck ist dies ReadyCheck.
LinuxspielerInnen seien daran erinnert, dass die Benachrichtungen über libnotify funktionieren und nur verwendet werden, wenn damit gebaut wird; sollte die Benachrichtigung aufgrund von Systemproblemen nicht korrekt erstellt werden können, wird eine Fehlermeldung geloggt.
Weitere Features
Wenn die Logdatei aufgrund fehlender Berechtigungen im Clonkordner nicht geöffnet werden kann, wird nun eine Fehlermeldung angezeigt.
Ports können jetzt größer als 32767 sein und das volle Spektrum bis 65535 verwenden. (#59)
Dateiendungen und das clonk:// – Protokoll werden unter Windows jetzt im Nutzerpfad der Registrierung eingetragen, sodass keine Administratorrechte mehr notwendig sind, um sie zu setzen.
Bugfixes
Ungültige Namen für SetPlrExtraData und SetCrewExtraData verursachen nun eine Warnung und werden ignoriert, anstelle die Chance zu haben, alle Werte zu löschen.
Automatisches Objektverkaufen verkauft nun alle Objekte in einem Schritt.
Der fehlende Punkt in der Versionsangabe in der Fehlermeldung, die auftritt, wenn das Szenario eine neuere Engineversion als vorhanden verlangt, ist nun vorhanden.
Stacktraces geben Parameter, die einen zu false konvertierbaren Typen haben, mit dem korrekten Typ anstelle von 0 aus.
Die Engine behandelt WM_USER_LOG nicht mehr, da es einfach einen vom Nutzer übergebenen Zeiger als String behandelt und daher unter anderem Crashes verursachen kann.
global-> kann nun korrekt in Statements verwendet werden.
Die Engine crasht nicht mehr, wenn ein Initialisierungsfehler auftritt, bevor das Musiksystem initialisiert worden ist.
/console crasht unter X11 nicht mehr.
Zufallsteams werden nun korrekt rebalanciert, wenn ein Spieler von einem schon kleineren Team entfernt wird.
{ ist in Nicks nicht mehr erlaubt, da es zu Ausgabeproblemen in Teamchat führt.
In Endlosschleife laufender Musik wird jetzt wieder korrekt ohne Pause und Lognachricht abgespielt. (#55)
In Spielständen kann nun gejoint werden, auch wenn die maximale Spieleranzahl niedriger als die Anzahl der TeilnehmerInnen gesetzt worden ist.
Scrollen mit den Pfeiltasten funktioniert nun korrekt, wenn das Spiel pausiert ist (#56; danke an Cyprex).
Das Copyrightzeichen wird nun wieder korrekt in der Anwendungsbeschreibung angezeigt.
/fullscreen wird nicht mehr in die Registrierung eingetragen, da es entfernt worden ist.
Die Linux-X11-Konfiguration erkennt nun die rechte Umschalttaste korrekt.
Der Lobbycountdown wird von /readycheck auch mit größeren Standardcountdownwerten korrekt abgebrochen und gestartet.
c4group.exe wird im experimentellen Windows x64-Build korrekt geupdatet.
#strict 3 erzeugt bei return; jetzt korrekt return nil; anstelle von return 0;.
Das Drücken von F3 schaltet die Musik nur für die laufende Runde an / aus. Um diese Einstellung permanent zu setzen, kann der Eintrag im Optionsmenü in den Spieloptionen verwendet werden.
Natürlich gibt es weiterhin die Möglichkeit, dies außerhalb der Runde in den Optionen einzustellen.
Weitere Features
Bei ModulateClr und CustomMessage ist es in #strict 3– Scripts nun möglich, durch Angabe von 0 als Farbargument echtes Schwarz zu übergeben; nil entspricht weiterhin dem alten Verhalten in #strict 2 und kleiner und verwendet die Farbe weiß.
Der Download der experimentellen 64-Bit-Windows-Version ermöglicht nun das Verwenden einer 64-Bit-Version von Fmod, sofern vorhanden.
Die DefCore-Eigenschaft HideHUDElements hat nun einen neuen Wert – Inventory – erhalten, mit dem die Sichtbarkeit des Inventars an der linken unteren Bildschirmecke gesteuert werden kann. Benutzung erfolgt analog zu den anderen Flags, wofür ich auf die Dokumentation bzw. den Blogpost zu [346] verweise.
Maps löschen nun Einträge, die ein Objekt als Schlüssel verwenden, beim Entfernen dieses Objekts.
Die Anzahl der maximal verwendeten Soundkanäle wurde von 100 auf 1024 erhoben, um eine größere Vielfalt der Klangkulisse zu ermöglichen. 1024 ist dabei leider das Maximum, da Fmod nur so viele Kanäle gleichzeitig unterstützt und die Standardvoraussetzungen für FMod und SDL2_mixer dieselben sein sollten.
Der Auswertungsdialog hat nun nicht mehr Runde beenden im Fokus, wodurch versehentliches Beenden durch Drücken der Entertaste mit der Intention, den Chat zu öffnen, vermieden wird. Stattdessen öffnet das Drücken von Enter im Auswertungsdialog nun immer den Chat. Für schnelles Beenden über die Tastatur ist weiterhin das Drücken der Escapetaste möglich.
Bugfixes
Der Konsolenmodus crasht nicht mehr, wenn mehr als ein Sichtfenster offen ist und diese nicht in umgekehrter Reihenfolge geschlossen werden.
Das Spiel crasht nicht mehr, wenn zu wenig Soundkanäle für das Abspielen neuer Sounds vorhanden sind.
In [346] wurde eingeführt, dass Hit(int xdir, int ydir) nur noch in Objektdefinitionen ab Clonk Rage mit Argumenten abgerufen wird, da der Callback davor diese Parameter nicht hatte, was etwa in der Clonk Planet – Forschungsstation zu Scriptfehlern geführt hat. Leider ist uns dabei nicht aufgefallen, dass der mit Clonk Rage mitgelieferte Clonk Editor standardmäßig Definitionen mit der Versionsnummer 4.9.5, was Clonk Endeavour entspricht, erstellt – für Clonk Rage wäre mindestens 4.9.6 nötig. Warum dies der Fall ist, bleibt ein Mysterium; eigentlich sollte es auch keine Auswirkungen haben, da die Dokumentation das Anpassen der Versionsnummer an die jeweils aktuelle Version und / oder die Zielversion bei Änderungen des Objekts vorschreibt; die Realität sieht, wie so oft, aber anders aus. Daher wurde dieser Bugfix wieder rückgängig gemacht.
Der Konsolenmodus crasht nicht mehr beim Beenden von Clonk, wenn mehr als ein Sichtfenster offen ist.
Zur Wahrung der Kompatibilität werden Definitionen ohne Versionsangabe nicht mehr als uralte Definitionen, sondern wie Definitionen mit der Versionsnummer 4.9.10.7, was Clonk Rage entspricht, behandelt. Allerdings wird eine entsprechende Warnung ausgegeben, da die Versionsnummer erforderlich ist und wir keine näheren Garantien zum Verhalten bei deren Fehlen abgeben!
Debugbuilds der Engine sind nun wieder kompilierbar, das Inkludieren eines Headers hat gefehlt.
Hochauflösende Objektgrafiken in Clonk? Geht das? Jetzt schon! Durch die neue DefCore-Eigenschaft Scale kann nun ein Skalierungsfaktor in Prozent bestimmt werden, in dem die Objektgrafiken vorliegen. Der Wert gibt an, bei welchem Spielskalierungsfaktor die Objektgrafik in Originalgröße dargestellt wird.
Soll heißen:
Scale=100 bedeutet, dass die Objektgrafik bei 100% Spielskalierung (in den Optionen einstellbar) in Originalgröße gerendert wird. Bei höheren Spielskalierungen muss sie entsprechend raufskaliert werden. Dies ist das momentane und das Standardverhalten aller Objekte.
Scale=200 skaliert die Objektgrafik bei 100% Spielskalierung auf die Hälfte. Bei 200% Spielskalierung wird sie jedoch in Originalgröße dargestellt, wodurch die Unschärfe des Skalierens entfällt.
Werte sind nicht auf ganze Zahlen (100%, 200%, 400%, …) beschränkt, allerdings können bei unschönen Werten Skalierungsartefakte auftreten.
Länge, Breite, ActMap-Angaben können wie gewohnt in den Maßen angegeben werden, die das Objekt im Spiel haben soll. Eine Ausnahme besteht in der SolidMask – da die Pixel exakt den Pixeln der Grafik entsprechen müssen, müssen **nur** die Offsets in Grafikkoordinaten angegeben werden.
Beispiel: Ich möchte der Stahlbrücke aus Codename: Modern Combat eine höher auflösende Grafik verpassen. Ein Auszug aus den Grafikparametern der DefCore.txt lautet wie folgend:
Neue Soundengine
Bisher wurde für Sounds auf Windows FMOD und auf anderen Plattformen SDL_mixer 1.2 verwendet. Dies brachte einige Probleme mit sich, etwa den MIDI-Bug mit FMOD, verschiedene SDL-Unschönheiten und, dass kein Windows-LC-Archiv komplett out-of-the-box läuft, weil zuerst fmod.dll aus dem CR-Archiv kopiert werden muss, da diese aus Lizenzgründen nicht mitgeliefert werden darf. Ab 346 wird standardmäßig für alle Plattformen SDL2_mixer verwendet, wie bereits in 344 versucht wurde. Dies bringt eine kleine Klangänderung mit sich – wie stark, hängt von den Ohren der befragten Person und den verwendeten Sounds ab.
Im Gegensatz zum letzten Versuch gibt es allerdings für Windows-Nutzer die Möglichkeit, weiterhin FMOD zu verwenden, indem die fmod.dll aus Clonk Rage in den Clonk-Ordner eingefügt wird. Für alle bestehenden Installationen müsste dies also ohne zusätzlichen Aufwand bereits der Fall sein. Wenn FMOD korrekt geladen wird, erscheint beim Ladebildschirm noch vor dem Hauptmenü die Nachricht Using dynamically loaded FMod for sound.
Sollte allerdings SDL2_mixer verwendet werden und es bei Szenarien mit sehr vielen Sounds zu Problemen kommt, weil die mit 32-Bit zur Verfügung stehenden 2 GB RAM nicht ausreichen, kann auf die (momentan experimentelle) 64 Bit-Version ausgewichen werden.
Achtung: Die fmod.dll von Clonk Rage funktioniert nur mit der 32-Bit-Version. Für die 64-Bit-Version ist zwar dieselbe Funktionalität möglich, allerdings müsste dafür die 64 Bit-Version fmod64.dll vorhanden sein.
Verbesserung des authentischen Clonk-Planet-Erlebnisses
Die Landschaft von Szenarien, deren Versionsnummer kleiner als 4.6.5 ist, wird nun standardmäßig ohne 3D-Materialschattierung dargestellt, um dem Originalverhalten näherzukommen. EntwicklerInnen können die Materialschatterierung für ihre Szenarien über die Einstellung ShadeMaterials der [Landscape] – Sektion der Scenario.txt ändern. Ein Wert von true schaltet es ein, ein Wert von false aus.
Weiters wurden einige Bugs gefixt, die zu Scriptfehlern in alten Szenarien führten, etwa in der Clonk Planet – Forschungsstation.
Weitere neue Script- und Objektfeatures
Mittels der DefCore-Eigenschaft BaseAutoSell kann nun gesteuert werden, ob ein Objekt in der Basis automatisch verkauft wird oder nicht. Standardwert ist false, außer das Objekt hat die ID GOLD, damit Goldobjekte von Drittanbietern nicht kaputtgehen.
Mittels der DefCore-Eigenschaft HideHUDElements können nun bestimmte Elemente des Clonk-HUDs am linken Bildschirmrand in Crewmemberobjekten verborgen werden. Bitmaske. Mögliche Werte:
Name
Wert
Versteckt
Portrait
1
Clonkportrait
Captain
2
Kapitänssymbol
Name
4
Clonkname
Rank
8
Rangname
RankImage
16
Rangsymbol
All
31
Alles davon
Neuer Scriptoperator ??. Ist der erste Operand nil, wird der zweite Operand zurückgegeben, ansonsten der erste.
Neuer Scriptoperator ??=. Setzt den ersten Operanden auf den zweiten, wenn der erste nil ist.
Weitere Features
Der Netzwerkstack versucht nun nicht mehr, sich mit Nulladressen zu verbinden, was technisch nicht möglich ist; dadurch erzeugte Nachrichten müllen das Log nun nicht mehr voll.
Auf UNIX-Systemen werden etwaige auftretende Signale nach der Ausgabe des Stacktraces wieder ausgelöst, wodurch der Crashhandler des Systems aufgerufen wird.
Die Lobby zeigt nun die Anzahl der Spieler in der Lobby sowie der maximal möglichen Spielerzahl in der Titelleiste der Spielerliste an.
Vorladen ist nun standardmäßig aktiviert und nicht mehr in der experimentellen Phase. Wir bedanken uns bei allen Spielerinnen und Spielern, die Feedback geliefert haben.
/sound fällt nun auf die Dateiendung .ogg zurück, wenn kein Sound mit passendem Namen und Endung .wav gefunden werden kann.
Alt + Enter öffnet im laufenden Spiel nun die Chateingabe für Nachrichten über dem Clonk.
Leere Chateingabzeilen werden beim Drücken der passenden Tastenkombinationen entsprechend ausgefüllt, ohne sie davor schließen zu müssen.
experimenteller macOS-Support wie schon in 344
experimentelle 64-Bit-Windows-Anwendung
Bugfixes
Bei Fehlern während des Spielstarts wird nun anstelle eines nicht existierenden Stringtable-Eintrages namens IDS_PRC_FAIL eine passende Fehlermeldung angezeigt.
Mit etwas Glück ist ein bei Netzwerkspielen und insbesonders in Lobbies auftretender Crash behoben. (Technischer Hintergrund: StdStrBuf::AppendFormatV mit seinen verschiedenen Implementierungen für Windows und Linux wurde durch eine neue Implementierung mittels variadic templates anstelle von va_list erstellt. Damit tritt auch der Bug, dass über den Stack hinausgelesen wird, da die Argumentliste bei mehrfachen vsnprintf – Aufrufen nicht kopiert wird, nicht mehr auf, danke an Sharkigator aka Foaly fürs Melden und den Pull Request.)
Die Performance von die Landschaft modifizierenden Funktionen wie SetLandscapePixel und DrawMaterialQuad wurde drastisch verbessert; SetLandscapePixel sollte nun etwa 10 – 20 Mal so schnell sein wie davor. (Technischer Hintergrund: Zur Landschaftsbearbeitung muss Clonk die Landschaft aus dem GPU-Speicher in den Hauptspeicher laden. Bisher wurde immer die ganze Landschaft geladen, egal, wie groß die Änderung war; mit 346 wird nur der benötigte Bereich geladen.)
Fälle, in denen Maps ihre Schlüssel referenziert haben, wurden entfernt.
Kann weder ein UDP-Socket erstellt noch der Referenzserver gestartet werden, crasht das Spiel nicht mehr. (Technischer Hintergrund: Schlug die Referenzservererstellung fehl, wurde fälschlicherweise die Fehlermeldung des UDP-Sockets abgefragt.)
Die Landschaft zählt nun keine Pixel von ungültigen Materialien mehr.
Verlässt man die Lobby direkt am Anfang vom Vorladen, crasht das Spiel nicht mehr durch das versuchte Laden einer ungültigen Ressource.
Der Bereit-Dialog kann nun nicht mehr mit Ja bestätigt werden, wenn alle Ressourcen noch nicht vollständig herunterladen wurden.
Hit(int xdir, int ydir) wird nur noch in Objektdefinitionen ab Clonk Rage mit Argumenten abgerufen, da der Callback davor diese Parameter nicht hatte, was etwa in der Clonk Planet – Forschungsstation zu Scriptfehlern geführt hat.
Local(0) in Szenarien aus Clonk Planet – Zeiten wird nun wieder korrekt geladen. (Technische Hintergrund: Der Wert wurde als Integer geladen, anstelle automatisch bestimmt zu werden.)
Das Spiel crasht unter Windows nicht mehr, wenn ein Fehler direkt beim Programmstart auftritt.
Der Referenzserver antwortet nun mit HTTP 405 Method Not Allowed, wenn eine nicht unterstützte HTTP-Requestmethode verwendet wird.
Die Kompilieroption USE_STAT funktioniert wieder.
Aufnahmen werden nun gleich abgespielt, egal, ob mit oder ohne Vorladen aufgenommen wurde.
Updateknopf aus der Netzwerkliste entfernt. Die Architektur des Updatesystems hat zu Crashes geführt, wenn der Updateserver zu langsam geantwortet hat. (Technischer Hintergrund: Bis eine Antwort erhalten wird, wird die Mainloop im Netzwerkdialog ausgeführt. Verlässt man die Netzwerkliste, bevor eine Antwort erhalten worden ist, wird diese gelöscht; bei Erhalt der Antwort wird die Ausführung somit in einem gelöschten Objekt fortgesetzt.)
Temporäre Standalone-Dateien des Netzwerks werden nun korrekt gelöscht.
Lokal verfügbare, entpackte Ressourcen können nun nicht mehr in der Lobby gespeichert werden.
Startet der Host ein Netzwerkspiel mit entpackten Objektdefinitionen, verwendet er trotzdem die dadurch gepackten Versionen, um Desyncs durch andere Ladereihenfolgen vorzubeugen.
Jump and Run – Controls bleiben nicht mehr in gedrücktem Zustand, wenn die Taste während eines offenen Menüs / Dialogs losgelassen wird.
Neustartspielerwiederherstellungsinformationen werden nicht mehr gelöscht, wenn der „Spiel beenden“ – Dialog aufgerufen wird, aber mit Nein zum Spiel zurückgekehrt wird.
Dies ist ein reines Bugfixrelease zu 344. Unerwarteterweise haben sich durch die neue Audioengine und CURL mehrere mehr oder weniger gravierende Bugs eingeschlichen. Deswegen wurden diese in diesem Update weggelassen, sodass nun auch das alte Soundverhalten wieder zu hören ist. Die anderen Features von 344 sind jedoch vorhanden, sodass der Changelog des letzten Updates teilweise trotzdem noch gültig ist.
Updaten per Ingame-Updatefunktion ist aufgrund eines CURL-Timeout teilweise nicht möglich – in diesem Fall bitte die oben verlinkten ZIPs verwenden!
Gibt der Host in der Lobby /readycheck ein, öffnet sich bei den Clients ein Dialog, in dem sie bestätigen müssen, ob sie bereit sind oder nicht. Dabei hat dieser Dialog ein Zeitlimit von 15 Sekunden, nach dem der Client als nicht bereit zählt, um Bereitleichen zu vermeiden.
Der Befehl kann nur alle 10 Sekunden aufgerufen werden. Per manueller Konfigurationsbearbeitung kann dieser Cooldown, falls erwünscht, auf bis zu 5 Sekunden gesenkt werden – auch wenn die Clients permanente Dialoge nicht gutheißen werden.
HTTPS
Luchs‘ Pull Request für OpenClonk wurde auf LC portiert, sodass die HTTP-Requests der Engine nicht mehr mit dem kruden Eigenbau, welcher weder HTTP/1.1 noch HTTPS implementiert hat, versendet werden. Stattdessen wird nun libcurl verwendet, wodurch sich beide Probleme gelöst haben. Die Kommunikation mit dem Masterserver und der Liga verläuft nun verschlüsselt, wenn die URLs entsprechend angepasst sind, was die Engine für Clonkspot automatisch erledigt.
Neue Soundengine
Bisher wurde für Sounds auf Windows FMOD und auf anderen Plattformen SDL_mixer 1.2 verwendet. Dies brachte einige Probleme mit sich, etwa den MIDI-Bug mit FMOD, verschiedene SDL-Unschönheiten und, dass kein Windows-LC-Archiv komplett out-of-the-box läuft, weil zuerst fmod.dll aus dem CR-Archiv kopiert werden muss, da diese aus Lizenzgründen nicht mitgeliefert werden darf. Ab 344 wird für alle Plattformen SDL2_mixer verwendet. Dies bringt eine kleine Klangänderung mit sich – wie stark, hängt von den Ohren der befragten Person ab. Beschwerden über den neuen Klang hatten wir bisher keine, Feedback jeder Art ist aber definitiv erwünscht.
Bekannter Bug: Der Sound der Gatling in Western.c4d hat die Dateiendung .wav, ist aber eine MP3. Ob dies aus lizenztechnischen oder anderweitigen Gründen geschehen ist, ist nicht bekannt, wegen dieser Sounddatei wird jedoch eine Warnung ausgegeben.
Weitere Features
Wiedereinführung des Mac-Supports mittels SDL2
Bratkartoffl in den Credits
Zwischenablage für SDL-basierte Engines
Bei der Eingabe von | wird nun ¦ eingegeben.
Eine Änderung des Netzwerkmodus im F4-Dialog wirkt sich nun auch auf die Konfiguration aus.
Einträge in der Auswahlkarte können nun durch Setzen von SingleClick=true im entsprechenden Abschnitt in der FolderMap.txt per einfachem Klick anstelle von Doppelklick gestartet werden.
Im Konsolenmodus kann durch Mausradklick das Material unter dem Mauscursor als zu zeichnendes Material gesetzt werden.
Der Titel der Beschreibung von Spielständen enthält nun kein Markup mehr.
Der Abbrechen-Knopf des Spielstartwartedialogs ist nun nicht mehr fokussiert, um versehentliche Betätigungen zu vermeiden.
Die verschiedenen Aufnahmeknöpfe setzen nun direkt permanent den entsprechenden Konfigurationswert.
Die Hostversion des Spielstartwartedialogs enthält nun eine Neustartschaltfläche.
Mittels dem Kommandozeilenargument /allocconsole kann unter Windows nun eine Konsole allokiert werden, an die Standardein- und ausgabe gebunden werden.
Aktualisierung der Infostrings in Windowsbinaries
Strg + Enter öffnet die Chatzeile nun mit vorangestelltem ".
Scriptfunktion DrawModLandscape aus der Engine entfernt und in System.c4g durch einen Stub ersetzt. Die Funktion war für das spezielle Materialshading in Lhûnrim verantwortlich, funktioniert aber mindestens seit Clonk Rage nicht mehr.
Clients ohne Spieler müssen nicht mehr bereit sein, um das Spiel automatisch zu starten.
Auswahlkarteneintragoverlays werden nun geblockt nach den Basisgrafiken geladen.
Grafiken können beim Vorladen aktualisiert werden, wenn Config.Lobby.PreloadGraphics auf true gesetzt wird.
Die Bereitcheckbox hat nun einen fixen 2-Sekunden-Cooldown.
Bugfixes
Crash beim Abspielen von Aufnahmen, in denen /sound verwendet worden ist, behoben
Die Beschreibung von Spielständen enthält wieder Definitionen anstelle von Müll.
Die Beschreibung von Spielständen hat nun kein extra Komma am Ende der Clientauflistung mehr.
Lädt man als Client ein Szenario mit einer Musik vor, hängt man bei Spielstart nicht mehr in einer Endlosschleife.
Die Engine crasht nicht mehr, wenn der Netzwerkdialog verlassen worden ist und der Updateserver in der Zeit nicht geantwortet hat.
Ein Desync aufgrund der Wiederherstellung während der Regelerstellung erzeugter globaler Effekte wurde behoben.
Die Geschenke sind ausgepackt, die Winterwompfbeeren verspeist und die Weihnachtslangeweile macht sich breit? Das muss nicht sein, denn fleißige Entwickler haben pünktlich zu den Feiertagen einige neue Clonkinhalte produziert.
Die größte Neuerung für Clonk Rage ist eine neue Version von Codename: Modern Combat (R1.8). Neu sind zwei Szenarien, überarbeitete Dominion-Spielziele und unzählige kleine Verbesserungen und Korrekturen. Wer noch mehr CMC will, kann auch beim Community-Szenarienprojekt mitmachen und über das Design des nächsten Szenarios abstimmen. Weitere Informationen gibt es wie immer auf der Clonkforge (Download CMC, Download Hazard).
Ebenfalls für Clonk Rage startet die Abstimmung zu einer neuen saisonalen Liga mit begrenzter Szenarienauswahl. Jeder ist dazu eingeladen, im Ligabrett zu den Runden abzustimmen oder eigene vorzuschlagen. Initiiert wurde die Liga von scaba und weitere Informationen gibt es hier im Forum.
Neuerungen gibt es wie immer auch in OpenClonk. Zwei Szenarien wurden veröffentlicht. Achtung: Beide Szenarien benötigen die aktuelle Vorschauversion von OpenClonk 7.0, die man unter den Nightly Builds herunterladen kann.
Das erste Szenario ist eine Portierung des unter den Rentnern in der Clonkgemeinde wohlbekannten Abenteuerszenarios Shîre. Diese klassische Runde aus dem Jahr 1999 stammt noch aus der Zeit von Clonk 4 und wurde ursprünglich von Jan Gauczinski entwickelt. Die Neuauflage für OpenClonk hat Marky gebaut. Im Szenario finden sich neben der 1:1 nachgestellten Landschaft, Dialogen und Musik auch detailliert gezeichnete, individuelle Texturen für jeden Clonk, mit dem der Spieler interagiert.
(Download Szenario + Download benötigte Bibliothek)
Die Zweite Runde ist ein kleines an Kampf um Gidl angelehntes Verteidigungsszenario namens Rette den Weihnachtsbaum von Sven2. Ein oder mehr Spieler versuchen, den Weihnachtsbaum vor angreifenden Gegnerhorden vom Land und aus der Luft zu beschützen. Zur Unterstützung sendet der Weihnachtsmann Geschenke von oben, die den Bogen des Spielers verbessern. Download hier.
Entwickler haben in OpenClonk ebenfalls gerade Hochsaison. Das kommende 7.0-Release hat schon 80% der geplanten Fehlerkorrekturen erreicht und kann hoffentlich Ende Januar in die finale Testphase eintreten.
Für Entwickler, die nur einmal in OpenClonk hereinschnuppern oder sich mit einer Kleinigkeit im Spiel verewigen wollen bietet sich das Milestone-Projekt unter Leitung von ala und Shadow an, welches viele kleine und große Ideen listet, die sich Spieler in der Vergangenheit gewünscht haben. Es gibt auch eine Zusammenstellung von einfachen Aufgaben für nicht-Entwickler.
Frohe Feiertage an alle Clonkspieler und Entwickler und vielen Dank an alle, die unser Spiel seit 20 Jahren am Leben halten!
OpenClonk bringt mit dem kommenden Milestone Projekt viele Neuerungen, die die Atmosphäre verbessern. Zu den wohl größten Verbesserungen gehört die neue Musik von David Oerther (alias ‚ala‘). Das neue Musikpack enthält 20 neue, großartig und liebevoll komponierte Stücke, die uns der Komponist für OpenClonk und alle verbundenen Projekte frei zur Verfügung gestellt hat. Die nächste OpenClonk-Version wird das zusätzliche Paket automatisch zum bei der Installation zum Herunterladen anbieten. Wer nicht abwarten kann, kann es aber auch jetzt schon von der Downloadseite bekommen. Einfach die Music.ocg im Programmordner ersetzen. Nostalgiker können die Datei auch in Music.c4g umbenennen und so in Clonk Rage benutzen. Oder direkt hier bei SoundCloud reinhören:
Das Spiel wurde an die neuen Inhalte angepasst und enthält nun eine integrierte Ambiente-Steuerung, die Musik je nach Spielsituation auswählt. Je nachdem ob sich der Spieler oberirdisch oder im Untergrund, bei Tag oder Nacht oder gar unter Wasser schwimmend bewegte, wird die Umgebungsmusik angepasst. Passende Musik geht fließend ineinander über und sogar Pausen werden ab und zu eingefügt. Die zwei schon bekannten Stücke von K-Pone wurden ebenfalls in die Steuerung integriert.
Die Informationen für Entwickler finden sich in der Dokumentation hier.
Sound
Die Verbesserungen im Ambiente finden sich auch in der allgemeinen Geräuschkulisse wieder. Derzeit warten ca. 130 neue Sounds im Milestone-Projekt auf Integration. OpenClonk unterstuetzt nun auch akustische Feinheiten wie das individuelle Einstellen von Tonhöhe (pitch), Hall (reverb) oder Echo für jeden Ton. Wenn zum Beispiel das Flugzeug startet, dann läuft der Motor nun langsam brummend an und erhöht dann die Rotorfrequenz visuell und akustisch. Spieler in einer Höhle hören außerdem alle Umgebungsgeräusche mit einem leichten Hall-Effekt verursacht durch die umgebenden Höhlenwände.
Für Entwickler: Die Dokumentation befindet sich hier.
In der Gesamtheit helfen die vielen kleinen Verbesserungen im Detail der Ambiente, die Welt von OpenClonk lebendiger und überzeugender zu gestalten und den Spieler so besser in der Spielwelt versinken zu lassen. Wir freuen uns schon auf die Veröffentlichung der kommenden 7.0-Version!