LegacyClonk [359] is here! (Community Update For Clonk Rage)


LC (short for LegacyClonk) is a fan project based on Clonk Rage.
LegacyClonk continues to receive updates and ensures compatibility with existing Clonk Rage content.

The goal is to fix as many bugs and inelegances as possible and to add nice-to-have features while not to impact the gameplay we’re all used to.
Ideas and features can be proposed here.

Installation

You can update to the newest LC version from every LC version as well as from Clonk Rage itself. Automatic updates using the built-in update feature only works with LC [337] or newer though.

If you update from Clonk Rage, you’ll either have to set all settings again or copy them manually.

The preferred method of installation is the integrated update method. For that, activate automatic updates in Options under Network, or select Network game in the menu and click on the update button to the right of the network list.

Should you encounter problems or use older version, you need to perform a manual update.

Manual installation

Windows

Operating System Requirements:

Warning: Some anti virus programs might report a false positive concerning Clonk.exe or warn due to it being unknown. The source code is available here.

Video guide

Unpack the downloaded ZIP file into the Clonk directory and let exsting files be overwritten. Make sure that the files aren’t contained in a subdirectory with the same name as the ZIP file. (C:\Program Files (x86)\Clonk Rage\lc_full_339_win32<file> would be wrong). Proceed to start Clonk as usual.

In order to apply Clonk Rage’s configuration to LegacyClonk, the registry path HKEY_CURRENT_USER\Software\RedWolf Design\Clonk Rage shall be copied to HKEY_CURRENT_USER\Software\LegacyClonk Team\LegacyClonk.

Linux

Operating System Requirements:
The prebuilt engine gets compiled on Ubuntu 18.04 (bionic). The following packages (or similar ones on other distributions):
zlib1g libgl1-mesa libjpeg libpng16-16 libssl libglu1-mesa libglew libsdl1.2 libsdl-mixer1.2 libfreetype6 freeglut3 libxpm

In order to install the downloaded update, open a terminal and switch to Clonk’s directory:
$ cd clonk-directory
Then you have to install the update with Clonk:
$ ./clonk update-file.c4u

If a 64bit installation is present, be aware of the differences listed below. Following update from LC to a newer version can be installed without paying attention to those.

  • In order to install the update, you have to use ./clonk64 instead of ./clonk.
  • In LC, the update for 32 and 64bit are separated. Therefore, there’s no more differentiation between clonk and clonk64 as well as c4group and c4group64. For that reason, existing links and similar stuff has to be updates in oder to point to clonk / c4group.

In order to apply Clonk Rage’s configuration to LegacyClonk, you have to copy ~/.clonk/rage/config to ~/.legacyclonk/config.

Mac

Due to missing expertise, there’s no working update package for Mac, although compiling Clonk for Mac per se is functioning.
If you’re interested in one, please contact DerTod in the IRC or post a corresponding reply here.

Downloads

Version Windows Windows 64 Bit Linux 64 Bit Linux 32 Bit macOS (experimental)
359 lc_full_359_win32.zip lc_full_359_win64.zip lc_full_359_linux64.zip lc_full_359_mac.zip
358 lc_full_358_win32.zip lc_full_358_win64.zip lc_full_358_linux64.zip lc_full_358_mac.zip
357 lc_full_357_win32.zip lc_full_357_win64.zip lc_full_357_linux64.zip lc_full_357_linux.zip lc_full_357_mac.zip
356 lc_full_356_win32.zip lc_full_356_win64.zip lc_full_356_linux64.zip lc_full_356_linux.zip lc_full_356_mac.zip
355 lc_full_355_win32.zip lc_full_355_win64.zip lc_full_355_linux64.zip lc_full_355_linux.zip lc_full_355_mac.zip
354 lc_full_354_win32.zip lc_full_354_win64.zip lc_full_354_linux64.zip lc_full_354_linux.zip lc_full_354_mac.zip
353 lc_full_353_win32.zip lc_full_353_win64.zip lc_full_353_linux64.zip lc_full_353_linux.zip lc_full_353_mac.zip
352 lc_full_352_win32.zip lc_full_352_win64.zip lc_full_352_linux64.zip lc_full_352_linux.zip lc_full_352_mac.zip
351 lc_full_351_win32.zip lc_full_351_win64.zip lc_full_351_linux64.zip lc_full_351_linux.zip lc_full_351_mac.zip
350 lc_full_350_win32.zip lc_full_350_win64.zip lc_full_350_linux64.zip lc_full_350_linux.zip lc_full_350_mac.zip
349 lc_full_349_win32.zip lc_full_349_win64.zip lc_full_349_linux64.zip lc_full_349_linux.zip lc_full_349_mac.zip
348 lc_full_348_win32.zip lc_full_348_win64.zip lc_full_348_linux64.zip lc_full_348_linux.zip lc_full_348_mac.zip
347 lc_full_347_win32.zip lc_full_347_win64.zip lc_full_347_linux64.zip lc_full_347_linux.zip lc_full_347_mac.zip
346 lc_full_346_win32.zip lc_full_346_win64.zip lc_full_346_linux64.zip lc_full_346_linux.zip lc_full_346_mac.zip
345 lc_full_345_win32.zip lc_full_345_linux64.zip lc_full_345_linux.zip
344 lc_full_344_win32.zip lc_full_344_linux64.zip lc_full_344_linux.zip lc_full_344_mac.zip
343 lc_full_343_win32.zip lc_full_343_linux64.zip lc_full_343_linux.zip
342 lc_full_342_win32.zip lc_full_342_linux64.zip lc_full_342_linux.zip
341 lc_full_341_win32.zip lc_full_341_linux64.zip lc_full_341_linux.zip
340 lc_full_340_win32.zip lc_full_340_linux64.zip lc_full_340_linux.zip
339 lc_full_339_win32.zip lc_full_339_linux64.zip lc_full_339_linux.zip
338 lc_full_338_win32.zip lc_full_338_linux64.zip lc_full_338_linux.zip

Developer Documentation

The developer documentation can be found here on Clonkspot, as usual. It gets updated with LC’s changes.

Most important changes

A complete list of all changes can be found in the git-log.

[359]

Devlog on itch

[358]

Devlog on itch

[343]

This update mainly consists of bugfixes and /sound spamming mitigations.

Scenarios with sections work again

There was an oversight in the preloading implementation which broke scenarios with sections (like Tower of Despair). Luckily, this was only a minor error.

Thanks to Wipfhunter and @Octagon for reporting.

Restarting keeps additional definitions

Restarting now keeps additionally chosen definitions.

Thanks to Funni for reporting.

Muting of /sound of individual clients

Thanks to @Bratkartoffl, /sound of clients can now be muted individually both in the lobby by rightclicking on the client and ingame over the menu accessible by F4.

/sound - Cooldown

Only 1 /sound command every 5 seconds is played per client in order to mitigate spamming. This cooldown time is configurable by Config.Sound.SoundCommandCooldown.

[342]

This is another bugfix erlease.

Improved preloading

Two major errors with preloading got fixed which should lead to it behaving in a more stable manner.

Crash while replaying records fixed

A bug got introduced In [341] where any chat message in a recording would cause a crash. This has now been fixed.

No duplication by additionally chosen definitions

Choosing additional definitions for a scenario accidentally loaded the definitions twice. This has now been fixed.

Desync fix for Mac

Thanks to @DragonHeart, one desync which only appeared when playing with non-Mac platforms got fixed. There is still no true Mac support, but it is an important step to a working Mac version.
Interested people can follow TODO to test the Mac version.

[341 - 4.9.10.10]

This update mainly consists of small improvements and fixed, as well as probably one of the best additions in the history of LegacyClonk development.

Preloading in the lobby - faster game start

This is the biggest feature in this version.
With „preloading“, the majority of the scenario gets loaded in the background while still in the lobby. Given that people generally tend to wait in lobbies, the loading time when starting the game gets reduced dramatically.

As this is an at least technologically profound change, we currenly classify preloading as experimental. It can be activated permanantely in the game options (preloads automatically as soon as all resources have been downloaded); alternatively, it can be manually trigged in the lobby’s resource tab.

Expermental means that it might cause problems which have yet to be discovered with an increase in usage. However, we have already tested it successfully.
The worst possible side effects are crashes while (pre)loading and desyncs, but nothing that should be feared.

While preloading, status logs get logged to the lobby chat. This will be solved more elegantly when preloading leaves the experimental phase.

Known bug: With AMD GPUs, the window flickers white while preloading.

Windows crash handler

Unfortunately, many Windows players are haunted by crashes which especially happen in bigger lobbies. We suspect them to be related with the support of IPv6.
Hoping to find and fix the bug as well as other crashes, we ported back the crash handler from OpenClonk.

Those frequent crashes pose a difficult problem as they’re hard to reproduce, leading to us not being able to debug them well because we have to „wait“ for one to happen.
Because of that, we ask you, the players, to contact @Fulgen in the event of any crash, regardless of the cause. We recommend contacting him in the IRC or on Discord for shorter reponse times; however, you can post here in the forum as well, where we might open up a collective thread at some point.

Content changes [4.9.10.10]

Only two bugs and a script warning have been fixed.

  • Rattlesnake Canyon: Removed the plan for the chemical plant as there wasn’t anything produceable anyway.
  • Fixed the bug in the knight bow leading to the bow automatically aiming down.

Sounds as spectator

Spectators in regular rounds and while playing records now hear the same sounds as the observed player.

Loading progress in the Windows taskbar

The loading progress when starting the game can now be seen in the taskbar at the program symbol, as known from other programs.

Ready checkbox for the host

The host now has a ready checkbox in the lobby too. The game start countdown will start automatically if all clients including the host are ready and abort if one marks itself as not ready anymore. The host can enforce a game start by unchecking his ready checkbox and manually starting the game.

Nick highlighting

As known from IRC (and other messengers), individual clients can be „alerted“ (Clonk flashes in the taskbar) by mentioning their chat nickname. Said nickname is the name shown at messages of said client in the lobby chat.

Additional definitions when selecting a scenario

The scenario selection now contains a checkbox next to the start button. When checked, additional definitions can be selected after pressing the start butotn.

HideTitle for folder maps

Folder maps can now hide the „Start Game“ title by using HideTitle. Documentation pending.

Restoration of script players and team assignments at round restart

In the lobby selected script players and the teams assigned to the players can now optionally be restored when using the restart button.
This must currently be activated by the (scenario-) script. Script players (and their team(s)) and other team assignments can be activated separately.
The specific function is SetRestoreInfos(RESTORE_ScriptPlayers | RESTORE_PlayerTeams) (RESTORE_None for deactivation).
Documentation pending.

Overloading graphics etc. in definitions (.c4d)

As known from Extra.c4g (and scenario folders), definitions can now overload graphics, music etc. themselves by placing the appropriate c4g file in its top level directory.

The difference to Extra.c4g is their guaranteed presence as they’re transmitted over the network. Therefore, overloads can be bound fixed (instead of optionally) to a packet, leading to them being used in standalone scenarios as well.

[340]

This is also mainly a bugfix update, fixing e.g. these bugs:

  • sound problems when using SetViewCursor (noticed in Tower of Despair)
  • missing sounds in some cases (noticed by @Bratkartoffl in CMC - Skyscrapers)
  • ready button shortcut moved to Alt+E (Alt+R was already used)
  • invisible bubbles with active scaling (noticed by @Wipfhunter)
  • script errors caused by global->

Additionally, there are some new features.

Removal of the IRC channel limitation

The builtin IRC client can now join all channels, not only those starting with #clonk, and has #clonken and #legacyclonk set as default.

C4Script: #appendto C4ID nowarn

This appendix at #appendto can be used to suppress warnings if the specified definition can’t be loaded, e.g. because the scenario doesn’t use a specific object pack.

C4Script: CustomMessage alignment

CustomMessage can now set the text to be display left-justified, right-justified or centered regardless of a specified object or portrait setting by using the new flags MSG_ALeft, MSG_ACenter and MSG_ARight.

[339 - 4.9.10.9]

This update fixes some errors which appeared due to ChangeDef changes in [338].

On the one hand, he engine is now a bit more liberal and would only generate an error due to invalid local access if the script was #strict 3 or if it crashed otherwise. Under some circumstances, it generates a warning in order to report potentially unforseen consequences.

On the other hand, all usages if ChangeDef have been checked in the entire original game content and, if necessary, fixed; the problem with the sorcerer clonk happening in conjunction with the Morphing / Revaluation spell.

[338]

This is another bugfix release.

Changed volume calculation for positioned sounds

The volume of sounds now depends on its distance to the currently selected clonk. Thus, sounds can be heard normally even if you’re close to the landscape border on higher resolutions.
The change might need time to get used to at first, but I (DerTod) don’t want to miss it again.

Music started by script cannot be louder than the configured music volume anymore

The music volume set by script will now be scaled to the one selected in the options menu -a selected volume of 30% and a scripted volume of 50% results in 15% volume. The source code has shown that this behaviour was already intended, however, the scaled value got overriden by the unscaled one.

Arrow and name are visible again upon crew switching

With active scaling, under some circumstances, the selection rectangle, the arrow above the clonk and its name were invisible after switching to another Clonk. This is now fixed.

Clonk names are again loaded from the player file

In certain circumstances, some clonks got one of the default clonk names instead of the one saved in the player file. This is now fixed.

Energy (and breath) value overflow fixed

Sometimes, a clonk doesn’t die of very high damage due to an overflow, resulting in, for example, the explosion of a Mark-X in Zar mode not killing Clonks despite them being inside the explosion radius.

In case of an overflow, the highest or lowest possible value is chosen depending on the overflow.

Linux fixes

With active input methods, Clonk received input twice in some cases. As a workaround, LC itself now unsets the XMODIFIERS enviroment variable for itself, replacing the same manual workaround.

Crashes which happened in certain circumstandes during savegame creation are now fixed. This concerns mostly Wayland users.

[337-331]

See old post

Have fun playing!

Concerning problems, uncertainities or questions, contact me (DerTod) or Fulgen in the IRC in #legacyclonk or here in this forum (an answer might take longer though).
Please note that we might not have time or be offline in the IRC (in the latter case we are set to away), we usally answer in the later afternoon or later. In any case, wait longer than just a few minutes.
Please report bugs in the bugtracker and other things in the forum (you may notify us in the IRC so that we can notice it faster), so that bug information and other things are visible for all parties.

Now, I’d like to thank AniProGuy, Alx and Peder, who were a great help for testing the Windows version and found some bugs.
I also want to thank @Luchs , who supports us with Clonkspot.

Naturally, I also want to thank matthes and the former developer team for the creation of Clonk and additionally matthes for making the entire code open source.

At the end, I want to thank the OpenClonk team, as they did a lot of work which help us at cleaning up code and also created some features / commits which we backported.

This update is made available to you by the LegacyClonk team, consisting of @Jan, @Fulgen, @Kanibal and @Der_Tod at the moment.

FAQ

It lags a bit constantly with 30 FPS on average

This seems to appear with some GPU drivers if VSync is activated in their settings. The solution is to deactivate VSync either globally or only for Clonk. We think it synchronizes twice with activated VSync, as Clonk does this separately, causing 30 FPS at a 60 Hz monitor.

4 „Gefällt mir“