Skip to content

Perchik71/Creation-Kit-Platform-Extended

Repository files navigation

Creation Kit Platform Extended

A collection of modifications, enhancements, and reverse engineered resources for Creation Kit by Bethesda.

Description

The powerful open-source platform makes numerous fixes and improvements to the Creation Kit editor from Bethesda. This is a continuation of two previously archived projects, as I am already confused in the code. The new implementation is based on the principle of modularity, which will allow for better control of development.

Note

At the moment, the platform supports CK version:

Skyrim Fallout 4
SSE 1.5.3.0 F4 1.10.162.0
SSE 1.5.73.0 F4 1.10.943.1
SSE 1.6.438.0
SSE 1.6.1130.0

Important

CK does not work well with ENB.
I wrote ckpe_loader. This is console app, for 15 seconds renames from the known to me .dll files that harm the work of CK this time is enough to load the CK itself. All renames .dll files will be restored name after this time.

Note

You can remove Steam from the Creation Kit.
You just need to manually replace the string steam_api64.dll on winhttp.dll in any HEX editor. Since the new string is four bytes shorter, the remaining bytes are set to 0x00. Or compile the NoSteam Patcher in Lazarus and use it.
For versions 1.6.438.0 and 1.10.162.0, you first need to remove Steam DRM, for example, Steamless.

Fixed or added

✅ Fast file loading
✅ Interception of warning messages in the log
✅ Unicode support
✅ Multiple UI Fix and etc
✅ Dark theme
✅ Create master files and open them as plugins
✅ Opening plugins as master files if they are in dependencies
✅ Filtering by active forms and cell
✅ Filtering mods in the Data dialog
✅ Many other fixes are also from the author of @Nukem9

Demonstration

Creation Kit Platform Extended

Mod Settings

To hide errors, create a file CreationKitPlatformExtendedMessagesBlacklist.txt.
IMPORTANT: Errors should be copied from the mod's Log window and one error is one line. The file must be in ANSI encoding.
CreationKitPlatformExtended.ini the main file with the settings and comes with the code, be sure to read.

Unicode

ONLY SURROGATE: Support for English and native languages without special characters. For understanding, the application uses the ancient ANSI type string representation. The idea is to feed the text already in your native encoding. When loading .esp, .esl, .esm files all strings are translated from UTF-8 to WinCP, and when saved back. WinCP is the current encoding in your operating system.

Important

In Win10, in the language settings, there is now an option to work with UTF-8, you need to turn it off otherwise there will be only ?.

Dependencies

VoltekLib URL https://github.com/Perchik71/VoltekLib.git IN Dependencies/Voltek
mINI URL https://github.com/Perchik71/mINI.git IN Dependencies/mINI
Zydis URL https://github.com/zyantific/zydis.git IN Dependencies/zydis
zipper URL https://github.com/kuba--/zip.git IN Dependencies/zipper
libdeflate URL https://github.com/ebiggers/libdeflate.git IN Dependencies/libdeflate
xbyak URL https://github.com/herumi/xbyak.git IN Dependencies/xbyak
jDialogs URL https://github.com/Perchik71/jDialogs.git IN Dependencies/jDialogs (recursive)

Compilation

Open a project in Visual Studio 2019 or later. Build the project in Release mode.
Take .dll's from the x64 folder also take all VoltekLib.XXXX.dll, from the x64/Release and move it to the folder with the game. Take the database CreationKitPlatformExtended_<GAME>_1_X_XXXX.database from the folder Database/<GAME>/1_X_XXXX/. You will also need Stuffs/<GAME>/CreationKitPlatformExtendedMessagesBlacklist.txt and Stuffs/<GAME>/CreationKitPlatformExtended.ini to the game folder. Move the dialog package Dialogs/<GAME>/CreationKitPlatformExtended_<GAME>_Dialogs.pak to the root folder of the game.

Credits

Nukem9 (for experimental functions, hash and so on, very useful)
adzm (I really appreciate your work, you have done what I have long wanted to do myself)

License

GPLv3: https://www.gnu.org/licenses/gpl-3.0.html.
Copyright © 2023-2024 aka perchik71. All rights reserved.