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:
- Windows 7 or newer
- Microsoft Visual C++ Redistributable for Visual Studio 2019 x86 (also for 64 bit installations, as LC is a 32bit application)
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
andclonk64
as well asc4group
andc4group64
. For that reason, existing links and similar stuff has to be updates in oder to point toclonk
/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
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.
[360 - 4.9.11.0]
[359]
[358]
[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]
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.