Cortisol 74 Posted January 28, 2023 View File HoloPatcher HoloPatcher is replacement for the old TSLPatcher tool. HoloPatcher offers an alternative that makes installing mods faster and is backwards compatible with any previous mods using TSLPatcher. For more inforrmation see: Installing mods with HoloPatcher Information for mod developers HoloPatcher is open sourc and can be found on GitHub. Submitter Cortisol Submitted 01/28/2023 Category Modding Tools Quote Share this post Link to post Share on other sites
ebmar 893 Posted February 7, 2023 Greetings, Firstly, congrats with the release of the tool -- and much thanks for sharing it with the community. Anyway, I wonder if it's possible for the patcher [in the future] to have something like #GetIntbyString# capability? Basically it'd try to get a ROW/INT value inside a 2DA -- that instead of adding a new row it checks for a value and inject it to the script. So let's say I have this script here -- Spoiler void main() { // variables string GetIntbyString = "lorem_ipsum"; int nOld = #GetIntbyString#; int nPeragus = 11; int nNew = #2DAMEMORY1#; int nTelos = 20; int nParam1 = GetScriptParameter(1); switch(nParam1) { case 0: // retain the OLD value, based on the `Resource` label inside `ambientmusic.2DA` MusicBackgroundChangeDay(GetArea(OBJECT_SELF), nOld); MusicBackgroundChangeNight(GetArea(OBJECT_SELF), nOld); // AFTER 11 seconds, change the BGM back to Peragus' { DelayCommand(11.0, MusicBackgroundChangeDay(GetArea(OBJECT_SELF), nPeragus)); DelayCommand(11.0, MusicBackgroundChangeNight(GetArea(OBJECT_SELF), nPeragus)); } break; case 1: // This `case` is newly-added, which purpose is to patch a NEW value for another use-case MusicBackgroundChangeDay(GetArea(OBJECT_SELF), nNew); MusicBackgroundChangeNight(GetArea(OBJECT_SELF), nNew); // AFTER 21 seconds, change the BGM back to Telosian Base' { DelayCommand(21.0, MusicBackgroundChangeDay(GetArea(OBJECT_SELF), nTelos)); DelayCommand(21.0, MusicBackgroundChangeNight(GetArea(OBJECT_SELF), nTelos)); } break; default: break; } } -- hoped that gave you the picture, and sorry for any misleading caused by it. The reason for it is to make it possible to update a script that contain old token/value, without having to add new rows to a 2DA. Much thanks for considering this. Quote Share this post Link to post Share on other sites
Janin 0 Posted January 6 Hi thanks for the great tool! I've used it together with KOTORModSync to install a mod list of 100+ mods on Linux with only one tiny hiccup. Hen installing the mod New_Lightsaber_Blade_Model_TSL 1.0.0 (https://deadlystream.com/files/file/1847-new_lightsaber_blade_model_tsl/) I get the following error when installing the mod. Same issue if I try to install with HoloPatcher on it's own so it's not a KOTORModSync issue. Oddly enough if I proceed the mod appears to install correctly anyways as far as I can tell. I've looks through the ini files in the mod as I thought it might be an issue with windows newline characters but even if I remove those the issue persists. Please let me know if there is a better place to submit a trouble report, I was unable to find a git repo for HoloPatcher. Quote Share this post Link to post Share on other sites
DarthParametric 3,785 Posted January 6 56 minutes ago, Janin said: I was unable to find a git repo for HoloPatcher It's part of PyKotor - https://github.com/NickHugi/PyKotor Quote Share this post Link to post Share on other sites
Janin 0 Posted January 7 On 1/6/2024 at 12:18 PM, DarthParametric said: It's part of PyKotor - https://github.com/NickHugi/PyKotor Thanks, I submitted a pull request to fix the issue, that problem was that the info.rtf files are latin1 encoded instead of UTF-8 encoded. Quote Share this post Link to post Share on other sites
Lazor 1 Posted March 2 It's not working on Mac (OSX Sonoma 14.3.1) see error below. I have pointed the install directory to /Users/<username>/Library/Application Support/Steam/steamapps/common/swkotor, so it's correct. I have also given holopatcher full disk access so it's not a permission issue. Can you help please? Here is error log: [Note] [22:25:42] Loading [Settings] section from ini... [Note] [22:25:42] Loading [TLKList] patches from ini... [Note] [22:25:42] Loading [InstallList] patches from ini... [Note] [22:25:43] Loading [2DAList] patches from ini... [Note] [22:25:43] Loading [GFFList] patches from ini... [Note] [22:25:45] Loading [CompileList] patches from ini... [Note] [22:25:45] [HACKList] section missing from ini. [Note] [22:25:45] Loading [SSFList] patches from ini... [Note] [22:25:45] The ConfigReader finished loading the INI Traceback (most recent call last): File "__main__.py", line 1069, in begin_install_thread File "__main__.py", line 1156, in _execute_mod_install File "pykotor\tslpatcher\patcher.py", line 338, in install RuntimeError: Chosen KOTOR directory is not a valid installation - cannot initialize ModInstaller. [Error] [22:25:45] RuntimeError: Chosen KOTOR directory is not a valid installation - cannot initialize ModInstaller. The installation was aborted with errors Quote Share this post Link to post Share on other sites