Baldur's Gate 3
0 of 0

File information

Last updated

Original upload

Created by

ReallyLazyIcarus

Uploaded by

ReallyLazyIcarus

Virus scan

Safe to use

32 comments

  1. Ellrise
    Ellrise
    • member
    • 0 kudos
    I'm not sure how to get the hot-loading to work. I already have a mod folder so I ran the script with -n, the symlink is created, but then ? 
    I have my mod in the mod folder, now how does the game load it ? 
    My mod is not loading.
    I tried to pack it because I think that's how the game usually load mods (I believe it's not the way you want the game to load the mod but I tried anyway)  
    How can I check if the symlink is correct ?
    Are there any steps after running the line ? If there are maybe you could add them in the usage tutorial ? 
    1. Mazzle23
      Mazzle23
      • supporter
      • 2 kudos
      Yeah, you still pak the folder and install it to your mod folder/mod list as usual.

      The utility creates up to three symlinks (in your bg 3 Data folder), based on how you answer the questions: 

      • Public/<your mod name>/ (if you answered yes to create items)
      • Mods/<your mod name>/ (if you answered yes to create scripts)
      • Generated/Public/<your mod name>/ (if you answered yes to create icons/assets)

      btw, it didn't work smoothly for me either.  I got some error about a folder already existing, and the paths in the error were funky (they had forward and back slashes).  If that happens to you, check to see which of the above symlinks were not created, and run the script again answering yes only to the questions relating to any symlinks that you still need.
  2. Mazzle23
    Mazzle23
    • supporter
    • 2 kudos
    What a cool mod! 

    You may already know this, but there's another way to hotload files.  SE has a command to load a stats file while playing, so you can set up a listener on reset that reloads all your stat files, for example something like this:

    StatPaths={
    "HotLoad/FrostControlSorcerer/Public/FrostControlSorcerer/Stats/Generated/TreasureTable.txt",
    "HotLoad/FrostControlSorcerer/Public/FrostControlSorcerer/Stats/Generated/Data/ColdEquipment.txt",
    "HotLoad/FrostControlSorcerer/Public/FrostControlSorcerer/Stats/Generated/Data/ColdPassives.txt",
    "HotLoad/FrostControlSorcerer/Public/FrostControlSorcerer/Stats/Generated/Data/ColdSpells.txt",
    "HotLoad/FrostControlSorcerer/Public/FrostControlSorcerer/Stats/Generated/Data/ColdStatus.txt",
    "HotLoad/FrostControlSorcerer/Public/FrostControlSorcerer/Stats/Generated/Data/DamageNeutering.txt",
    "HotLoad/FrostControlSorcerer/Public/FrostControlSorcerer/Stats/Generated/Data/ColdInterrupts.txt",
    }

    local function on_reset_completed()
    for _, statPath in ipairs(StatPaths) do
      Ext.Stats.LoadStatsFile(statPath,1)
    end
    _P('Reloading stats!')
    end

    What's nice is that you don't need to reload a save, which is very time consuming.  It's not as time consuming as a full restart obviously, but still pretty cumbersome.  The SE approach reloads the files almost instantly.  Unfortunately, it relies on SE to parse the reloaded files as opposed to the native bg3 parser, so it's not as robust.  It works, but I have noticed issues.  And, you still need the files to be in the child of the main Data directory.

    TBH, I initially assumed this mod used that technique.  I figured your python script that would write the SE function that reloads the files, but I can see that you're using symlinks to simulate a loose file mod, which seems like a more robust solution.  I've tried to do it manually in the past, but I couldn't get it to work, so I'm excited to try your script and see what I did wrong!

    P.S. Ya know what, the SE technique might actually be a nice addition to your script.  If you populated that StatPath array with your symlinks, you'd give users an option to hotload with either a fast SE reset call or a slower, but more reliable save reload.
    1. Mazzle23
      Mazzle23
      • supporter
      • 2 kudos
      Nvm on my question.  I see that this already lets you hotload your SE code when reloading the save!  Nice.

      btw, changing the above SE code to point to the symlinked ones works as expected, so I guess I have 2 hotloading options now.  Thanks for putting this together.  This will definitely shave a lot of time off of testing/tweaking.
  3. zhaosara
    zhaosara
    • member
    • 0 kudos
    hello. i may be stupid. but basically, i run the program, and once I get it to work, I can't find the single unified folder for the mod? I'll go into the game's data folder and the sub-folders will be scattered everywhere. I don't know if I'm just being dumb but um. please help. 
    1. zhaosara
      zhaosara
      • member
      • 0 kudos
      nevermind i found it. 
  4. mrxglacix
    mrxglacix
    • member
    • 1 kudos
    i love u, i just wanted to resize and outfit and u are literally saving my ass at every corner
  5. Vendura
    Vendura
    • member
    • 0 kudos
    Is it easy to pick-up by yourself or you need a crash course on how to use it ?
    1. ReallyLazyIcarus
      ReallyLazyIcarus
      • premium
      • 824 kudos
      There's a tutorial
  6. manniefresh2569
    manniefresh2569
    • premium
    • 1 kudos
    New to modding, like 6 days new. I learned to make a class and now trying to learn to make spells,passives for my custom class. Will this tool help? If not, which tools would help me on this adventure. Never knew modding would be so satisfying and frustrating at the same time. Thanks in advance guys. 
    1. ReallyLazyIcarus
      ReallyLazyIcarus
      • premium
      • 824 kudos
      Yes it's helpful to streamline the creation of new mods and to make your mods have hotloading so you don't have to restart the game for changes to appear. This tool is just for initializing the mod, you'll need a lot of other tools for making the mod (VS code), and packing the mod (multitool).
    2. manniefresh2569
      manniefresh2569
      • premium
      • 1 kudos
      Ok. Cool. Slowly learning, baby steps lol
  7. santaisho
    santaisho
    • premium
    • 0 kudos
    Wanted to let some people know that may have had this little hiccup:

    If PowerShell somehow tells you Python doesn't exist, it is more than likely you do not have the latest Python installed. Just head to the Microsoft store, get and install Python 3.12 (or whatever new one there may be), and re-do the steps detailed in the description section.
  8. AnoPem
    AnoPem
    • premium
    • 0 kudos
    This might be a dumb question here, but ive made everything as i want it and converted the files into lsf and loca but the game wont recognize my loca file nor icons so what am i doing wrong?
    1. ReallyLazyIcarus
      ReallyLazyIcarus
      • premium
      • 824 kudos
      It's meant to be combined with use of the multitool. The steps involve:
      1. use this mod builder to create your mod and set up hot-loading (symlinks)
      2. use the multitool to pack the mod since the .lsf.lsx and .loca.xml files can't really be hot-loaded
      3. in game, can edit the other files and hotload them (GR2, DDS, script)
    2. AnoPem
      AnoPem
      • premium
      • 0 kudos
      Ive gotten it to work now, but can you help me getting my custom icons to show up in tooltip?
    3. NobleSwordsman
      NobleSwordsman
      • member
      • 0 kudos
      Funny enough that is the same issue I have too. I just can't get the bigger custom icon to load. The small one works perfectly fine.
      I also checked other unpacked mods to make sure the cross links are set up correctly.

      But I don't think the Mod Builder is at fault here cause all it does is setting up the folder structure and some files. Maybe the DXT3 format isn't suited for the bigger custom icon? Otherwise I have no idea.
    4. AnoPem
      AnoPem
      • premium
      • 0 kudos
      Im aware it has nothing to do with the mod builder but since the author has it working for their mods i wanted to try my luck and ask
    5. ReallyLazyIcarus
      ReallyLazyIcarus
      • premium
      • 824 kudos
      Are you sure you saved it as .DDS and not .dds?
    6. AnoPem
      AnoPem
      • premium
      • 0 kudos
      I did indeed save it as dds and not DDS, whats the difference beside it being uppercase?
    7. ReallyLazyIcarus
      ReallyLazyIcarus
      • premium
      • 824 kudos
      The game expects .DDS
    8. NobleSwordsman
      NobleSwordsman
      • member
      • 0 kudos
      Haha, that got good laugh out of me. Another oddity to remember.

      Anyway thanks. That was indeed the solution. :)
    9. AnoPem
      AnoPem
      • premium
      • 0 kudos
      It fixed it! Thank you very much
  9. Droitzel
    Droitzel
    • premium
    • 0 kudos
    I'm a little intimidated- can anyone add a video to this of the basics on how to use it? I know a little bit about Python, so I'm interested
    1. ReallyLazyIcarus
      ReallyLazyIcarus
      • premium
      • 824 kudos
      What's not covered by the tutorial?
    2. Droitzel
      Droitzel
      • premium
      • 0 kudos
      Yeah, my dumb ass commented when I saw there was no video, and while I scrolled up and down on the desc page, it was to look for a video- I thought "tutorial" referred to installing it like so many mods have.

      Long story short, I didn't read and then complained that something that was fully provided wasn't there. Got no defense for that.
    3. ReallyLazyIcarus
      ReallyLazyIcarus
      • premium
      • 824 kudos
      Updated section title to "Usage Tutorial"
    4. Droitzel
      Droitzel
      • premium
      • 0 kudos
      Aw, thank you for catering to us idiots XDDD 
  10. RobertJosephMaccreadys
    RobertJosephMaccreadys
    • premium
    • 0 kudos
    Excited to try this out! Thank you!