Search the Community
Showing results for tags 'tools'.
Found 10 results
-
Version v1.1.0b4
5,554 downloads
Please see http://github.com/th3w1zard1/KOTORModSync for the main repo. Please report any bugs or problems you encounter. While I test this heavily, it's difficult to find any and all problems when incorporating 200+ mod's instructions across dozens of operating systems and platform combinations. If you happen to notice something odd or out of place, please report them. KOTORModSync is a multi-mod installer for KOTOR games that makes it easier to install and manage mods. I usually install the Reddit mod build every year or so. The process takes about an hour and it's repetitive moving files, running tslpatcher, deleting specific files, and occasionally renaming some files. The last time I installed the modbuild I made a mistake on a single different step, 3 times in a row. Most mistakes require a full restart from the beginning. This is tedious, so I decided to create an installer creator in C# to simplify the process. Goals Mod creators work really hard on their mods. It's the least we can do to install them and use them, right? However, who wants to reinstall to vanilla and spend several hours reinstalling mods, just to add 1 or 2 extra mods on top of it? Other mod managers I've tried were either too difficult to configure, require significant changes to a hard-to-understand configuration file, or only provided limited functionality for defining new mods. KOTOR mods definitely can have complex dependency relationships with each other in regard to compatibility, due to the nature and age of TSLPatcher. Usage If you are an end user just wanting to install some mods, simply load up the instruction files provided, choose the mods you want from the left list and any options, and press 'Start main install' Watch Xuul's tutorial video here: Effortless Modding with Kotor Mod Sync: The Ultimate Guide for Star Wars KOTOR Mods (youtube.com) If you are a mod developer, this program contains a full-blown instruction editor that'll allow you to quickly create instructions for your mod and define its compatibility with other mods. See Dependencies/Restrictions and InstallBefore/InstallAfter explanation - Pastebin.com for more information. See the video tutorial here: Creating involved instructions for KOTORModSync - YouTube Features Can install the https://kotor.neocities.org/ mod builds in about 20 minutes from a vanilla install. Supports TSLPatching on mac/linux without wine! Select the individual mods you want for an install - the dependencies and incompatibilities will automatically be chosen and sorted. This means end users don't have to worry about specific instructions regarding other mods in the list. All the compatibility steps are handled internally by KOTORModSync and the default instructions files provided here. An end user simply can select the mods they want to install in the left list, and any customizations if they like, and simply press 'Install All' to have everything installed automatically. This program has a built-in GUI editor and an installer packed into one. Modbuild creators can create instructions with little to no knowledge of the format and easily share them with end users. End users can install everything from the instruction file with a simple click of a button. Edit any instructions and verify the configuration with built-in tools. Some support to dry run an install. A flexible configuration editor and parser utilizing TOML syntax. This is very user-friendly and similar to INI which TSLPatcher already uses and most modders are used to. Create instructions files with complex dependency structures for multiple mods, and have end users install everything exactly according to the instructions created. No more manually copying/deleting files: KOTORModSync handles all of that for your end user. Platforms KOTORModSync is a cross-platform 32-bit and 64-bit .NET application. It is compatible with the following operating systems: Windows 7 and 8: Compatible if running .NET Framework 4.6.2 or higher. Windows 10 and 11: Fully compatible with any Windows release. Linux and Mac: Fully compatible - choose one of the two that match your operating system. Users do not need to download any additional runtimes: everything is self-contained within the application. Linux You may need additional X11 libraries. In order to get this working on WSL, for example, I had to install the following packages: sudo apt install libsm6 libice6 libx11-dev libfontconfig1 libx11-6 libx11-xcb1 libxau6 libxcb1 libxdmcp6 libxcb-xkb1 libxcb-render0 libxcb-shm0 libxcb-xfixes0 libxcb-util1 libxcb-xinerama0 libxcb-randr0 libxcb-image0 libxcb-keysyms1 libxcb-sync1 libxcb-xtest0 Then you can simply run in a terminal like this: ./KOTORModSync If you run into problems with the Linux or Mac builds, please contact me and I'll try to get a fix ready for the next release. Credit Snigaroo This man saved me a countless amount of hours. I'd still be struggling through game glitches and mod-specific instructions I didn't understand. Actually, I'd probably still be on Dantooine trying to determine why I'm getting visual glitches and crashes which he solved with the one-word message 'grass'. Cortisol Created HoloPatcher and the PyKotor library that KOTORModSync uses to patch mods. These projects are the main reason KOTORModSync can be supported on Mac/Linux. While the PyKotor/HoloPatcher projects have had some issues, this guy was more or less available for comment if I had questions on how I could fix any remaining problems myself. JCarter426 There were so many KOTOR-specific things to learn, without his help I'd still be trying to deserialize encapsulated resource files. His time and patience were incredibly useful to the project and this project would be impossible without him. Testers: Lewok from r/KOTOR Thank you for helping test that obnoxious UAC elevation problem legacy Windows apps like TSLPatcher have. Other notable users Fair-Strides Provided the perl source code of TSLPatcher on GitHub, and generally maintained the TSLPatcher project in Stoffe's absence. Stoffe Creator of TSLPatcher Thank you to the entire KOTOR modding community for what you do. KOTORModSync - Official Documentation.txt KOTOR1_Full.tomlKOTOR2_Full.toml KOTOR1_Spoiler_Free.tomlKOTOR2_Spoiler_Free.toml KOTOR1_Mobile_Full.tomlKOTOR2_Mobile_Full.toml- 15 comments
- 5 reviews
-
- 10
-
View File KOTORModSync Please see http://github.com/th3w1zard1/KOTORModSync for the main repo. Please report any bugs or problems you encounter. While I test this heavily, it's difficult to find any and all problems when incorporating 200+ mod's instructions across dozens of operating systems and platform combinations. If you happen to notice something odd or out of place, please report them. KOTORModSync is a multi-mod installer for KOTOR games that makes it easier to install and manage mods. I usually install the Reddit mod build every year or so. The process takes about an hour and it's repetitive moving files, running tslpatcher, deleting specific files, and occasionally renaming some files. The last time I installed the modbuild I made a mistake on a single different step, 3 times in a row. Most mistakes require a full restart from the beginning. This is tedious, so I decided to create an installer creator in C# to simplify the process. Goals Mod creators work really hard on their mods. It's the least we can do to install them and use them, right? However, who wants to reinstall to vanilla and spend several hours reinstalling mods, just to add 1 or 2 extra mods on top of it? Other mod managers I've tried were either too difficult to configure, require significant changes to a hard-to-understand configuration file, or only provided limited functionality for defining new mods. KOTOR mods definitely can have complex dependency relationships with each other in regard to compatibility, due to the nature and age of TSLPatcher. Usage If you are an end user just wanting to install some mods, simply load up the instruction files provided, choose the mods you want from the left list and any options, and press 'Start main install' Watch Xuul's tutorial video here: Effortless Modding with Kotor Mod Sync: The Ultimate Guide for Star Wars KOTOR Mods (youtube.com) If you are a mod developer, this program contains a full-blown instruction editor that'll allow you to quickly create instructions for your mod and define its compatibility with other mods. See Dependencies/Restrictions and InstallBefore/InstallAfter explanation - Pastebin.com for more information. See the video tutorial here: Creating involved instructions for KOTORModSync - YouTube Features Can install the https://kotor.neocities.org/ mod builds in about 20 minutes from a vanilla install. Supports TSLPatching on mac/linux without wine! Select the individual mods you want for an install - the dependencies and incompatibilities will automatically be chosen and sorted. This means end users don't have to worry about specific instructions regarding other mods in the list. All the compatibility steps are handled internally by KOTORModSync and the default instructions files provided here. An end user simply can select the mods they want to install in the left list, and any customizations if they like, and simply press 'Install All' to have everything installed automatically. This program has a built-in GUI editor and an installer packed into one. Modbuild creators can create instructions with little to no knowledge of the format and easily share them with end users. End users can install everything from the instruction file with a simple click of a button. Edit any instructions and verify the configuration with built-in tools. Some support to dry run an install. A flexible configuration editor and parser utilizing TOML syntax. This is very user-friendly and similar to INI which TSLPatcher already uses and most modders are used to. Create instructions files with complex dependency structures for multiple mods, and have end users install everything exactly according to the instructions created. No more manually copying/deleting files: KOTORModSync handles all of that for your end user. Platforms KOTORModSync is a cross-platform 32-bit and 64-bit .NET application. It is compatible with the following operating systems: Windows 7 and 8: Compatible if running .NET Framework 4.6.2 or higher. Windows 10 and 11: Fully compatible with any Windows release. Linux and Mac: Fully compatible - choose one of the two that match your operating system. Users do not need to download any additional runtimes: everything is self-contained within the application. Linux You may need additional X11 libraries. In order to get this working on WSL, for example, I had to install the following packages: sudo apt install libsm6 libice6 libx11-dev libfontconfig1 libx11-6 libx11-xcb1 libxau6 libxcb1 libxdmcp6 libxcb-xkb1 libxcb-render0 libxcb-shm0 libxcb-xfixes0 libxcb-util1 libxcb-xinerama0 libxcb-randr0 libxcb-image0 libxcb-keysyms1 libxcb-sync1 libxcb-xtest0 Then you can simply run in a terminal like this: ./KOTORModSync If you run into problems with the Linux or Mac builds, please contact me and I'll try to get a fix ready for the next release. Credit Snigaroo This man saved me a countless amount of hours. I'd still be struggling through game glitches and mod-specific instructions I didn't understand. Actually, I'd probably still be on Dantooine trying to determine why I'm getting visual glitches and crashes which he solved with the one-word message 'grass'. Cortisol Created HoloPatcher and the PyKotor library that KOTORModSync uses to patch mods. These projects are the main reason KOTORModSync can be supported on Mac/Linux. While the PyKotor/HoloPatcher projects have had some issues, this guy was more or less available for comment if I had questions on how I could fix any remaining problems myself. JCarter426 There were so many KOTOR-specific things to learn, without his help I'd still be trying to deserialize encapsulated resource files. His time and patience were incredibly useful to the project and this project would be impossible without him. Testers: Lewok from r/KOTOR Thank you for helping test that obnoxious UAC elevation problem legacy Windows apps like TSLPatcher have. Other notable users Fair-Strides Provided the perl source code of TSLPatcher on GitHub, and generally maintained the TSLPatcher project in Stoffe's absence. Stoffe Creator of TSLPatcher Thank you to the entire KOTOR modding community for what you do. KOTORModSync - Official Documentation.txt KOTOR1_Full.tomlKOTOR2_Full.toml KOTOR1_Spoiler_Free.tomlKOTOR2_Spoiler_Free.toml KOTOR1_Mobile_Full.tomlKOTOR2_Mobile_Full.toml Submitter th3w1zard1 Submitted 06/11/2023 Category Modder's Resources
- 26 replies
-
- 1
-
- tool
- installing mods
-
(and 8 more)
Tagged with:
-
Version v1.0.0b1
42 downloads
A simple CLI to easily compare KOTOR file formats. This is a very simple CLI to PyKotor. If you find TSLPatcher isn't patching the resulting files in the way you want, you can use this tool to compare your manual changes to the resulting TSLPatcher result. You can also use it to compare entire installations, directories, or single files. Why KotorDiff? It is (or should be) common knowledge that Kotor Tool is not safe to use for anything besides extraction. But have you ever wondered why that is? Let's take a look at a .utc file extracted directly from the BIFs (the OG vanilla p_bastilla.utc). Extract it with KTool and name it p_bastilla_ktool.utc. Now open the same file in ktool's UTC character editor, change a single field (literally anything, hp, strength, whatever you fancy), and save it as p_bastilla_ktool_edited.utc. KotorDiff's output: Using --path1='C:\Users\nodoxxxpls\Downloads\p_bastilla_ktool_edited.utc' Using --path2='C:\Users\nodoxxxpls\Downloads\p_bastilla_ktool.utc' Using --ignore-rims=False Using --ignore-tlk=False Using --ignore-lips=False Using --compare-hashes=True Using --use-profiler=False GFFStruct: number of fields have changed at 'p_bastilla_ktool_edited.utc': '72' --> '69' Field 'Int16' is different at 'p_bastilla_ktool_edited.utc\HitPoints': --- (old)HitPoints +++ (new)HitPoints @@ -1 +1 @@ -18 +24 Field 'LocalizedString' is different at 'p_bastilla_ktool_edited.utc\FirstName': --- (old)FirstName +++ (new)FirstName @@ -1 +1 @@ -Bastila +31360 Field 'Int16' is different at 'p_bastilla_ktool_edited.utc\CurrentHitPoints': --- (old)CurrentHitPoints +++ (new)CurrentHitPoints @@ -1 +1 @@ -20 +24 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\0\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -3 +94 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\2\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -39 +98 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\3\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -43 +55 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\4\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -44 +107 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\5\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -55 +3 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\6\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -94 +39 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\7\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -98 +43 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\8\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -107 +44 Field 'LocalizedString' is different at 'p_bastilla_ktool_edited.utc\Description': --- (old)Description +++ (new)Description @@ -0,0 +1 @@ +-1 Field 'String' is different at 'p_bastilla_ktool_edited.utc\Subrace': --- (old)Subrace +++ (new)Subrace @@ -1 +0,0 @@ -0 ^ 'p_bastilla_ktool_edited.utc': GFF is different ^ --------------------------------------------------- 'p_bastilla_ktool_edited.utc' DOES NOT MATCH 'p_bastilla_ktool.utc' Sheesh! I bet you can't even guess which field I modified! Again I changed a singular field! What is all this nonsense that KTool did to my character sheet? Moral: Don't use KTool to modify files. It seems to have the incorrect field types defined internally and doesn't respect the original file when saving a new one. But KotorDiff saved the day here and outputted exactly what happened on save. How to use: Simply run the executable. It'll ask you for 3 paths: PATH1 Path to the first K1/TSL install, file, or directory to diff. PATH2 Path to the second K1/TSL install, file, or directory to diff. OUTPUT_LOG File name/path of the desired output logfile (defaults to log_install_differ.log in the current directory) If you point PATH1 and PATH2 to two KOTOR installs, it will ONLY compare the Override folder, the Modules folder, the Lips folder, the rims folder (if exists), the StreamWaves/StreamVoices folder, and the dialog.tlk file. This was a design choice to improve how long the differ takes to finish. This includes any subfolders within the aforementioned folder names. Supported filetypes/formats: TalkTable files (TLK) Any GFF file (DLG, UTC, GUI, UTP, UTD, GIT, IFO, etc) Any capsule (ERF, MOD, RIM, SAV, etc) Not supported: NCS, NSS, ITP Any file format that's not supported will have its SHA256 hash compared instead. CLI Support: This is a very flexible tool. You can send it command line arguments if you would like to use it in a 3rd party tool. Run `kotordiff.exe --help` to get a full syntax. If there's an error, the exit code will be 3 (if err is known by my code) or 1 (some sys error loading the tool). If the two paths match, the exit code will be 0. If the two paths don't match, exit code will be 2. You can utilize these error codes to utilize KotorDiff in a customized 3rd party script, or add-on to WinMerge/WinDirStat, possibilities are endless. FAQ: I am struggling to read the diff output, why is it saying +/-/@38924 and what does it mean? A: GIT Diff is a standardized output format that has been widely adopted and used since probably the 80s/90s. https://stackoverflow.com/a/2530012/4414190 is by far the best explanation i've seen, but honestly ask ChatGPT to explain it further if needed, or send me a pm if something doesn't make sense! Couldn't I just open my two files with Holocron Toolset/ERFEdit/K-GFF etc? You could, but for me it became tedious to manually compare them side by side, expanding every node etc. Leave alone completely multiple files. This tool allows you to simply input two paths and have the full differences outputted and logged. A main benefit is it'll show you the exact GFF paths that differ. Output such as `Missing struct: "EntryList\5\RepliesList\3" {contents of the struct}` has been very useful. Why is my antivirus is flagging this? This is a false-positive and there's nothing I can do. Python source scripts are compiled to executables using PyInstaller, but unfortunately some antivirus's have been known to flag anything compiled with PyInstaller this way. The problem is similar to why your browser may warn you about downloading any files with the .EXE extension. This whole tool is open source, feel free to run directly from the source script: https://github.com/NickHugi/PyKotor/blob/master/Tools/KotorDiff/src/kotordiff/__main__.py There's a well-written article explaining why the false positives happen on their issue template: https://github.com/pyinstaller/pyinstaller/blob/develop/.github/ISSUE_TEMPLATE/antivirus.md TLDR: PyInstaller is an amazing tool, but antiviruses may flag it. This is not the fault of PyInstaller or my tool, but rather the fault of how some scummy users have chosen to use PyInstaller in the past. Please report any false positives you encounter to your antivirus's website, as reports not only improve the accuracy of everybody's AV experience overall, but also indirectly supports the PyInstaller project. Source code: https://github.com/NickHugi/PyKotor/blob/master/Tools/KotorDiff/ Credit: @Cortisol for creating the PyKotor library (i.e., 90% of the code for this tool) -
View File SotOR Save Editor SotOR: Saves of the Old Republic A new save editor for KotOR 1 and 2 Warning SotOR is a pathway to many abilities some consider to be unnatural, and generally lacks sanity checks, potentially allowing you to break the save. Also there are bugs, probably. It creates a zip with the previous version of the save in it's directory, but you may still want to back it up manually. May or may not work with saves from non-English versions of the game. Use at your own risk. Differences from KSE Aims to provide the same features and more. Currently WIP. Runs natively on Windows, Linux and in the browser (experimental, using wasm). Mac version should work, but pre-built releases won't be available here. Uses a built-in game database, allowing it to work wihout the game installed. Still capable of loading provided game files for your modding needs. Provided releases assume KotOR 1 Community patch and KotOR2 TSLRCM. Support for the updated steam version of TSL, including workshop. Does NOT support xbox and switch saves. See "Contributing" section. Contributing If you encounter a bug or have a suggestion, please open an issue on github. I would like to add support for the console versions, but I don't own any of them. If you're willing to provide save files and help with testing, please open an issue. Thanks Thanks to KSE , NWN Wiki, KotOR.js and xoreos projects for providing references on where and how to get the required game data. Submitter StarfishXeno Submitted 02/01/2024 Category Modding Tools
-
- saves
- save editor
-
(and 1 more)
Tagged with:
-
Version 1.1.8
163 downloads
SotOR: Saves of the Old Republic A new save editor for KotOR 1 and 2 Warning SotOR is a pathway to many abilities some consider to be unnatural, and generally lacks sanity checks, potentially allowing you to break the save. Also there are bugs, probably. It creates a zip with the previous version of the save in it's directory, but you may still want to back it up manually. May or may not work with saves from non-English versions of the game. Use at your own risk. Differences from KSE Aims to provide the same features and more. Currently WIP. Runs natively on Windows, Linux and in the browser (experimental, using wasm). Mac version should work, but pre-built releases won't be available here. Uses a built-in game database, allowing it to work wihout the game installed. Still capable of loading provided game files for your modding needs. Provided releases assume KotOR 1 Community patch and KotOR2 TSLRCM. Support for the updated steam version of TSL, including workshop. Does NOT support xbox and switch saves. See "Contributing" section. Contributing If you encounter a bug or have a suggestion, please open an issue on github. I would like to add support for the console versions, but I don't own any of them. If you're willing to provide save files and help with testing, please open an issue. Thanks Thanks to KSE , NWN Wiki, KotOR.js and xoreos projects for providing references on where and how to get the required game data.-
- saves
- save editor
-
(and 1 more)
Tagged with:
-
View File KotorDiff A simple CLI to easily compare KOTOR file formats. This is a very simple CLI to PyKotor. If you find TSLPatcher isn't patching the resulting files in the way you want, you can use this tool to compare your manual changes to the resulting TSLPatcher result. You can also use it to compare entire installations, directories, or single files. Why KotorDiff? It is (or should be) common knowledge that Kotor Tool is not safe to use for anything besides extraction. But have you ever wondered why that is? Let's take a look at a .utc file extracted directly from the BIFs (the OG vanilla p_bastilla.utc). Extract it with KTool and name it p_bastilla_ktool.utc. Now open the same file in ktool's UTC character editor, change a single field (literally anything, hp, strength, whatever you fancy), and save it as p_bastilla_ktool_edited.utc. KotorDiff's output: Using --path1='C:\Users\nodoxxxpls\Downloads\p_bastilla_ktool_edited.utc' Using --path2='C:\Users\nodoxxxpls\Downloads\p_bastilla_ktool.utc' Using --ignore-rims=False Using --ignore-tlk=False Using --ignore-lips=False Using --compare-hashes=True Using --use-profiler=False GFFStruct: number of fields have changed at 'p_bastilla_ktool_edited.utc': '72' --> '69' Field 'Int16' is different at 'p_bastilla_ktool_edited.utc\HitPoints': --- (old)HitPoints +++ (new)HitPoints @@ -1 +1 @@ -18 +24 Field 'LocalizedString' is different at 'p_bastilla_ktool_edited.utc\FirstName': --- (old)FirstName +++ (new)FirstName @@ -1 +1 @@ -Bastila +31360 Field 'Int16' is different at 'p_bastilla_ktool_edited.utc\CurrentHitPoints': --- (old)CurrentHitPoints +++ (new)CurrentHitPoints @@ -1 +1 @@ -20 +24 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\0\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -3 +94 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\2\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -39 +98 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\3\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -43 +55 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\4\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -44 +107 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\5\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -55 +3 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\6\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -94 +39 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\7\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -98 +43 Field 'UInt16' is different at 'p_bastilla_ktool_edited.utc\FeatList\8\Feat': --- (old)Feat +++ (new)Feat @@ -1 +1 @@ -107 +44 Field 'LocalizedString' is different at 'p_bastilla_ktool_edited.utc\Description': --- (old)Description +++ (new)Description @@ -0,0 +1 @@ +-1 Field 'String' is different at 'p_bastilla_ktool_edited.utc\Subrace': --- (old)Subrace +++ (new)Subrace @@ -1 +0,0 @@ -0 ^ 'p_bastilla_ktool_edited.utc': GFF is different ^ --------------------------------------------------- 'p_bastilla_ktool_edited.utc' DOES NOT MATCH 'p_bastilla_ktool.utc' Sheesh! I bet you can't even guess which field I modified! Again I changed a singular field! What is all this nonsense that KTool did to my character sheet? Moral: Don't use KTool to modify files. It seems to have the incorrect field types defined internally and doesn't respect the original file when saving a new one. But KotorDiff saved the day here and outputted exactly what happened on save. How to use: Simply run the executable. It'll ask you for 3 paths: PATH1 Path to the first K1/TSL install, file, or directory to diff. PATH2 Path to the second K1/TSL install, file, or directory to diff. OUTPUT_LOG File name/path of the desired output logfile (defaults to log_install_differ.log in the current directory) If you point PATH1 and PATH2 to two KOTOR installs, it will ONLY compare the Override folder, the Modules folder, the Lips folder, the rims folder (if exists), the StreamWaves/StreamVoices folder, and the dialog.tlk file. This was a design choice to improve how long the differ takes to finish. This includes any subfolders within the aforementioned folder names. Supported filetypes/formats: TalkTable files (TLK) Any GFF file (DLG, UTC, GUI, UTP, UTD, GIT, IFO, etc) Any capsule (ERF, MOD, RIM, SAV, etc) Not supported: NCS, NSS, ITP Any file format that's not supported will have its SHA256 hash compared instead. CLI Support: This is a very flexible tool. You can send it command line arguments if you would like to use it in a 3rd party tool. Run `kotordiff.exe --help` to get a full syntax. If there's an error, the exit code will be 3 (if err is known by my code) or 1 (some sys error loading the tool). If the two paths match, the exit code will be 0. If the two paths don't match, exit code will be 2. You can utilize these error codes to utilize KotorDiff in a customized 3rd party script, or add-on to WinMerge/WinDirStat, possibilities are endless. FAQ: I am struggling to read the diff output, why is it saying +/-/@38924 and what does it mean? A: GIT Diff is a standardized output format that has been widely adopted and used since probably the 80s/90s. https://stackoverflow.com/a/2530012/4414190 is by far the best explanation i've seen, but honestly ask ChatGPT to explain it further if needed, or send me a pm if something doesn't make sense! Couldn't I just open my two files with Holocron Toolset/ERFEdit/K-GFF etc? You could, but for me it became tedious to manually compare them side by side, expanding every node etc. Leave alone completely multiple files. This tool allows you to simply input two paths and have the full differences outputted and logged. A main benefit is it'll show you the exact GFF paths that differ. Output such as `Missing struct: "EntryList\5\RepliesList\3" {contents of the struct}` has been very useful. Why is my antivirus is flagging this? This is a false-positive and there's nothing I can do. Python source scripts are compiled to executables using PyInstaller, but unfortunately some antivirus's have been known to flag anything compiled with PyInstaller this way. The problem is similar to why your browser may warn you about downloading any files with the .EXE extension. This whole tool is open source, feel free to run directly from the source script: https://github.com/NickHugi/PyKotor/blob/master/Tools/KotorDiff/src/kotordiff/__main__.py There's a well-written article explaining why the false positives happen on their issue template: https://github.com/pyinstaller/pyinstaller/blob/develop/.github/ISSUE_TEMPLATE/antivirus.md TLDR: PyInstaller is an amazing tool, but antiviruses may flag it. This is not the fault of PyInstaller or my tool, but rather the fault of how some scummy users have chosen to use PyInstaller in the past. Please report any false positives you encounter to your antivirus's website, as reports not only improve the accuracy of everybody's AV experience overall, but also indirectly supports the PyInstaller project. Source code: https://github.com/NickHugi/PyKotor/blob/master/Tools/KotorDiff/ Credit: @Cortisol for creating the PyKotor library (i.e., 90% of the code for this tool) Submitter th3w1zard1 Submitted 09/30/2023 Category Modder's Resources
-
View File JRL Merger by Stoffe Author: Stoffe (Original lucasforums post) I've put together a small utility that saves some time while combining the global.jrl files of different mods that use this file but don't come with a mod installer. It will currently take two global.jrl (Quest Journal) files and merge together any changes to existing Category fields in them, along with any new Category fields that have been added in either file. It will not handle any fields having been deleted from the standard global.jrl file, but I can't see any reason why anyone would want to do that. It will also check the resulting merged file and warn you if multiple Categories have the same tag (which could happen if both mods use similar tags for new journal entries). You can get it here if you want it. Be warned that this is a test/beta version for now, it worked fine with a number of different modded global.jrl files I tested it with, but there may still be problems I haven't been able to spot yet. If you run into any problems using it please let me know so I can attempt to fix them. It will need an unaltered copy of global.jrl in addition to the two modded files that should be merged, to be used to compare against. This file can be extracted from the dialogs.bif file with KotorTool. Submitter jc2 Submitted 02/24/2020 Category Modding Tools
-
Version 1.0.0
417 downloads
Author: Stoffe (Original lucasforums post) I've put together a small utility that saves some time while combining the global.jrl files of different mods that use this file but don't come with a mod installer. It will currently take two global.jrl (Quest Journal) files and merge together any changes to existing Category fields in them, along with any new Category fields that have been added in either file. It will not handle any fields having been deleted from the standard global.jrl file, but I can't see any reason why anyone would want to do that. It will also check the resulting merged file and warn you if multiple Categories have the same tag (which could happen if both mods use similar tags for new journal entries). You can get it here if you want it. Be warned that this is a test/beta version for now, it worked fine with a number of different modded global.jrl files I tested it with, but there may still be problems I haven't been able to spot yet. If you run into any problems using it please let me know so I can attempt to fix them. It will need an unaltered copy of global.jrl in addition to the two modded files that should be merged, to be used to compare against. This file can be extracted from the dialogs.bif file with KotorTool. -
I'm not sure if this topic belongs here, so please inform me if and where should I move it. I've written a simple CLI python App for installing mods based on yaml file. Example config below: sh_animated_cantina_sign: file_name: "SH_AnimatedCantinaSign.7z" type: "Suggested" thigh-high_boots_for_twilek_body: file_name: "[K1]_Thigh-High_Boots_For_Twilek_Body_MODDERS_RESOURCE.7z" type: "Recommended" variants: npc_replacement: path: "NPC Replacement" malak_hd_dark_hope: file_name: "Malak.rar" type: "Suggested" variants: blue_eyes: path: "Malak (Blue Eyes)" delete_files: - "N_JediMalekH02.tga" I don't know if KOTOR community have ANY need for such a thing. I had found a great pleasure in using DAOModInstaller and MassEffect3 Mod Installer. I think it's great way to show game for new players without making them spend hours on doing things by hand. At this moment KMI can extract 7z / rar / zip (requies 7-zip installed on host) and move them to override folder (while deleting some files from mod dir if nessesery) Primary target is to create a few "fixtuers" so people would just get zips (unfortutnatly from many sources at this time, we have DS, Nexus, some megaupload links, filefront etc. so I don't see option for making it without manual downloading anytime soon) Of course anyone intrested can edit YAML file which allows changing order of mod installation etc. In long shot I'd like to at least handle conflict between mods and make KMI able to wait for additional user input. What do you think? Is anyone intrested in this project? I'm open to new ideas or simple suggestions / requiments. After all I don't want to end as only user. PS I'll make code public after cleaning. It's horrible mess. I'm also in progress of making bins for windows.
-
Greetings, fellow Jedi! May the Force be with you. Along with the compiling-decompiling model attempt I have done recently, some discoveries were found regarding the end-result of using both MDLedit v1.0.3 and MDLOps v1.0.0. First, this comparison purpose is to give the potential user of both tools a preview of the compiled model using each of the tools mentioned. This also had no intention to show which tools are best and which are less; it's simply to share the discoveries been found. Here's a screenshot for details: Left image is TSL's n_quarren [Quarren's F model] model compiled using MDLedit v1.0.3 with tangentspace enabled by not ticking the bumpmap flag, but instead changing its value inside the ASCII file from 0 to 1 using a text editor. Right image is TSL's n_quarren [Quarren's F model] model compiled using MDLOps v1.0.0 with tangentspace enabled by changing its value inside the ASCII file from 0 to 1 using a text editor. As we can see there is a difference in the head part; which MDLOps version produce a noticeable line whilst MDLedit version isn't. This occurrence already emerging several times on my end; such with compiled TSL's n_commf model. I hope this discovery kind of helps with any future modding attempt, and gave an insight of what will and what won't regarding the implementation of the aforementioned method. Edit: Be advised that they had nothing to do with normal maps. It's a smoothing error, as informed by DarthParametric. The normal maps activation is just part of the compiling process.
- 3 replies
-
- discovery
- comparison
- (and 6 more)