KCTools [v1.2.2] - Fast external replacement for DromEd lighting and other tools - by HavvicGames
HavvicGames on 23/2/2025 at 18:50
KCTools is a collection of tools for working with NewDark fan missions (1.27 and 1.28 tested, equivalent SS2 versions should also be supported). Currently there are two tools, a lightmapping tool, and a .BIN model export tool.
Downloads:(
https://github.com/JarrodDoyle/KCTools/releases/download/v1.2.2/kctools_1.2.2_win_x64.zip) KCTools Full v1.2.2 (Windows)
(
https://github.com/JarrodDoyle/KCTools/releases/download/v1.2.2/kctools_1.2.2_linux_x64.zip) KCTools Full v1.2.2 (Linux)
(
https://github.com/JarrodDoyle/KCTools/releases/download/v1.2.2/kctools_1.2.2_dromed_win_x64.zip) KCTools DromEd v1.2.2
Additionally you can find the source code (
https://github.com/JarrodDoyle/KeepersCompound.Lightmapper) here, and all previous versions and changelogs (
https://github.com/JarrodDoyle/KeepersCompound.Lightmapper/releases) here.
The DromEd release is intended for NewDark 1.28 and above. Full release includes an additional lighting GUI app which is unneeded on 1.28 due to DromEd integration.
Lighting:* Replicates all existing DromEd lighting functionality
* Massively improves lighting times
* Better light culling, improving performance in large-scale city maps and eliminating object lighting errors
* Provides additional warnings to mappers highlighting mis-configured light settings
* Generally produces more accurate shadows
* Direct integration with DromEd in 1.28 and above
The lighting tool is intended to replace DromEd's lighting step (especially in later stages of mission development where lighting becomes very slow). DromEd's built-in lighting is single-threaded, has a number of minor bugs and scales extremely poorly with lightmap scale and complex large open spaces (e.g. modern city missions). KCTools lightmapper takes advantage of modern CPUs with a multi-threaded approach and improves lighting times, reduces lighting artifacts, and has the potential to improve in-game performance in some complex scenes.
Inline Image:
https://i.imgur.com/X02RZQS.pngThe primary way to use the lighting tool is with NewDark 1.28 and the DromEd version of KCTools. NewDark 1.28 adds the ability to disable the lighting stage when portalising, and to run external tools, allowing KCTools light to be ran from within DromEd and replace DromEd's lighting stage. Assuming the DromEd basic toolkit is being used (and files haven't been moved around too much), simply extract the contents of the DromEd release into the root of your Thief/SS2 installation.
If you're still using NewDark 1.27 DromEd, or don't want direct dromed integration, use the Full release. Lighting can be ran either via command line (run "kctools.exe light --help" in the command line for instructions) or via the GUI executable.
Inline Image:
https://i.imgur.com/692IgFy.pngModel Export:* Export specific models, or every model as a binary glTF
* Embeds and correctly palettises required model textures
* Respects object hierarchy for easy use in custom animations
Available on the command line, run "kctools.exe model export --help" for instructions. Currently this is a pretty simple tool, but is likely to be expanded in the future.
Contact:I don't use TTLG much, so I'll probably be slow to any responses. If you need help or something seems broken the best place to contact me is the (
https://www.ttlg.com/forums/showthread.php?t=150598) DromEd discord server, my username there is Jayrude.
Skol on 24/2/2025 at 15:19
And by "improves lighting time", he means from 1 hour to 15 seconds.
PinkDot on 24/2/2025 at 22:00
Congrats! Amazing job and important milestone for the community!
ZylonBane on 18/3/2025 at 07:28
So, any plans to make an SS2 compatible version of this?
HavvicGames on 18/3/2025 at 21:01
I don't have a ShockEd setup to test with, but it may already work. If you try it/have already tried it and encounter issues could you share them?
If it's incompatible then there's three areas where I could imagine the incompatibility existing:
1. Configs. SS2 might be using some config stuff I don't know about and the game resources get loaded incorrectly
2. Properties. I know SS2 has some differing object properties, but I haven't looked into whether any of them would affect lighting
3. File formats. If there's any major differences to the parts of the various file formats I read/modify then parsing them will fail
Depending on how much work resolving the problems is (assuming it is incompatible) I can look into adding SS2 support soon.
ZylonBane on 19/3/2025 at 05:27
I tried it, but it complained that it couldn't find thief.exe.
As for the other considerations, I'd imagine that NewDark unified lighting between the two engines quite a bit.
Kubrick on 23/3/2025 at 22:28
As a total newbie, I'd really benefit from a small tutorial video on how to use. I tried it when it was first released but I shamelessly failed to use it properly the few times I tried.
HavvicGames on 1/6/2025 at 09:03
New version (v1.1.0) and a rename due to adding another tool :cool:
Changes:
* Added GUI lighting frontend
* Added ".bin" model export command
* Modified light command to have more unified arguments with model export and give space for future tools
* Added "--quiet" flag for all commands
* Added lighting "--inspect" mode/flag to quickly preview lighting configuration issues without actually performing lighting
* Added experimental support for System Shock 2 (executes fine, but I don't have a good SS2 setup to actually check the result)
* Added DromEd 1.28 support scripts to help setup running directly through DromEd
HavvicGames on 2/6/2025 at 19:59
There are unfortunately issues with the dromed integration scripts. They work on linux via WINE (after fixing some filenames), but on windows they're a no-go. Working on some alternatives that will hopefully be ready soon.
HavvicGames on 4/6/2025 at 19:29
New version v1.1.2 (v1.1.1 didn't get posted here).
Changes since v1.1.0:
- Hopefully fixed the integrations with DromEd!
- Added pre-modified version of "Optimize.cmd" to save user effort
- Fixed "DoLight.cmd" issue with saving when the FM directory has a "." in it's name
- Added "--auto-campaign" flag to KCTools to determine campaign/FM from "DromEd.log"
- Improved camera restoration method when reloading the mission in "DoLight.cmd" (rotation is now restored, and some issues with deleting the incorrect brush should be fixed)
- Added better logging when "install.cfg" doesn't contain any valid "resname_base" paths
- Added additional logging around resource path gathering and automatic campaign direction timings
- Fixed a crash when "--install-path" is invalid
- Fixed incorrectly applying zeroed out transforms to some model sub-objects
- Fixed applying rotation to translating model joints, they now slide as expected.
Update: Quick hotfix
- Fixed incorrect auto-campaign when using "return to FM selector"