Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Axis & Allies 1942 Online is now available in Early Access! Buy it on Steam. The FAQ is available.
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

NWN EE userpatch.ini unofficial FAQ

GrymlordeGrymlorde Member Posts: 87
Disclaimer -- I do not have nor ever had any affiliation with Beamdog or BioWare. What follows is in no way official. It is just a collection of experiences from the members of Neverwinter community and my own.

What is the userpatch.ini?
Userpatch.ini is an initialization file in plain text format that tells NWN.exe to load a set of haks before a module is loaded. This is done for every module, similar to the override folder. In 1.69, this file was called nwnpatch.ini. With EE you can still use nwnpatch.ini but it does not appear to load any GUI elements whereas userpatch.ini will do so.

Why should I care about userpatch.ini?
Because it is a clean and easy way to upgrade the visual appearance of the game. Don't like the standard goblins? No problem, load up Cervantes' Creature Compilation and now all goblins look a lot better (IMHO). Don't like the astroturf-looking fake grass in the rural tileset? Load up BioRural from Zwerkules or Toro's Expanded Rural and get a much, much better looking rural tileset (IMHO). Another consideration is that there is performance boost from preloading haks rather than filling up the override with individual files. In v1.69, having too many files in the override became an issue. This might be fixed in EE or might now.

Awesome! How do I set it up?
Create a text file using your favorite text editor (e.g. Notepad) in your Neverwinter Nights directory (e.g. \My Documents\ Neverwinter Nights) and save it as "userpatch.ini" Then add the following lines:
[Patch]

PatchFile000=XYZ

PatchFile001=Another Hak

PatchFile002=Yet_Another_Hak
Where "XYZ" is a particular hak you wish to pre-load. Note that there is a blank line between [Patch] and the first PatchFile entry and between the first and subsequent PatchFile entries.

Note that the order is important. The first hak is loaded first, the second is loaded second and so on. The second hak overrides the first, the third overrides the second, and so on. This is important to know because some haks have some overlap with others. So if you like LoW's ghouls better than the one in Cervante's hak, then make sure you load Cervantes' hak before you load Low's Ghoul hak.

Updating your nwn.ini file
In order for NWN to know that it has a userpatch.ini to use, you must first change your nwn.ini file. Find the "[Alias] section and copy & paste the path to the hak files and rename "Hak=" to "Patch=":
Hak=C:\Users\YOURNAME\Documents\Neverwinter Nights\hak
Patch=C:\Users\YOURNAME\Documents\Neverwinter Nights\hak
Note that your actual path may look different from this. Just ensure that "Patch" points to the exact same place as "Hak" does.

Are there any limits?
Yes! In NWN v1.69 (might be different in EE) there is a limit of 56 haks that can loaded in total -- this includes all the haks in the module itself. There does not however, appear to be a limit in the size of an individual hak itself.

Are there any bugs or issues with this method?
In 1.69 (not yet tested in EE), all haks had to have significantly different names. According to PsteMarie, “x4_females” were originally named “x4_anatomy1,” “x4_anatomy2,” and “x4_anatomy3” respectively; it appeared that only “x4_anatomy3” was loading. This would seem to indicate some sort of hardcoded value that the engine limits the number of strings the engine reads from the filenames in patch.ini. If the files are the same name up to this string value, only the topmost file is in the hierarchy is loaded."

What about the override folder? Is it obsolete?
It just might be... I'll leave it to others to make a case for still using the override folder.

Warning for Builders!!!
It should be obvious, but it's worth saying -- If you build your module with userpatch haks instead of including haks in the module, then that content will NOT appear when you distribute your module. Not only that, but it will load in the toolset without warning the user that a particular hak is required. My advice is to include all haks in your module that you need rather than counting on the user loading them in the userpatch.

There is no patch directory! Do I have to create one?
No you do not. In 1.69 you either had to copy your haks into the patch directory or change the nwn.ini file to have the patch point to the hak directory. In EE, the nwn.ini file defaults to pointing patches to the hak directory.

Credits & Thanks
Thanks to @virusman, Dagesh, @Pstemarie, @Shadooow , & Bannor Bloodfist for contributing to the original discovery and discussion on the old social.bioware boards. Thanks also to @Symphony for telling us to use userpatch.ini instead of nwnpatch.ini and to @Proleric for discovering that userpatch.ini loads UI elements whereas nwnpatch.ini does not.

Post edited by Grymlorde on
JFKsquattingmonkDerpCityProlericthirdmouseFlashburnSymphonyAtrophiedericdunahanpscythevoidofopinionCalgacus

Comments

  • SymphonySymphony Member, Developer Posts: 60
    Things are getting a little weird with Workshop override folders and install/game directory separation, but using patch haks, which is a method I used from an "ancient" tutorial @Pstemarie put out, is a much much cleaner way of packaging and using altered "permanent" changes to the game, than dumping thousands of files into your override folder and trying to wonder which ones came from which install.

    Additionally, there are some game resources, that only seem to go into effect if placed in a hak instead of in the override folder.

    To this date, for checking work in game, instead of using the override folder I use a hak called override.hak that's in my patch folder, which allows me to turn off my work in progress at a moment's notice if I need to go be a dungeonmaster for an afternoon on short notice.

    Thanks for the post @Grymlorde .

    Atrophiedericdunahan
  • JediMindTrixJediMindTrix Member Posts: 280
    Apologies for the thread necro, BUT:
    My installation did not automatically have a PATCH path in nwn.ini, and it took me a while to notice this as I tried in vain to get userpatching to work.

    Add this underneath [Alias]
    PATCH=patchpathhere

    Atrophiederic
  • BalanorBalanor Member Posts: 154
    edited May 2018
    Is it intentional that patch haks do not display their changes in the 1.74 toolset? For example, when I open up areas in the toolset that have tiles which are changed by my patch hak, it's just their default appearance that is displayed. Only when I launch the client can I see the changes that a patch hak has made.

    This was not the case in 1.69 as you could see what the patch hak modified when you opened a module in the toolset. It may not be the biggest deal, but it was still nice to be able to see what things will really look like in-game when designing in the toolset.

  • GrymlordeGrymlorde Member Posts: 87

    Apologies for the thread necro, BUT:
    My installation did not automatically have a PATCH path in nwn.ini, and it took me a while to notice this as I tried in vain to get userpatching to work.

    Add this underneath [Alias]
    PATCH=patchpathhere

    @JediMindTrix - thanks so much for catching that missing step! I'm very sorry about that. I've updated the FAQ. And by the way, no need to apologize for a thread necro as this is a sticky.

    JediMindTrix
  • GrymlordeGrymlorde Member Posts: 87
    edited May 2018
    Balanor said:

    Is it intentional that patch haks do not display their changes in the 1.74 toolset? For example, when I open up areas in the toolset that have tiles which are changed by my patch hak, it's just their default appearance that is displayed. Only when I launch the client can I see the changes that a patch hak has made.

    This was not the case in 1.69 as you could see what the patch hak modified when you opened a module in the toolset. It may not be the biggest deal, but it was still nice to be able to see what things will really look like in-game when designing in the toolset.

    @Balanor - Wow! You're right! I'm so used to building with the haks I want that I didn't notice the patch haks not showing up in the 1.74 toolset. That is definitely a bug! Please report it. I don't work for BeamDog so I can't help in that way. Having said that, I very strongly encourage you and all other builders to put haks in your modules rather than relying on the userpatch method if you ever intend to distribute your module. As builders, we can't assume that all of our players will have the exact same userpatch.ini that we do. Whereas by including haks in our modules, we know that the content will always be there.

  • RoiDesCreoles_NWnRoiDesCreoles_NWn Member Posts: 7
    question, if a hak is in a userpatch and in a module would that crash things?

  • ProlericProleric Member Posts: 468
    No, the module version takes priority.

    This is done at the resource level, so if the resources are not identical, the module versions prevail, except for any resources which are only in the patch hak.

    SymphonyGrymlorde
  • CalgacusCalgacus Member Posts: 144
    edited August 2018
    This userpatch.ini approach does not seem to work for me in the latest dev branch on windows 10. Anyone else having trouble? I am trying to use it with the beamdog client version, not steam. My install folder is:
    D :\Beamdog\00829

    My PATCH entry in C:\Users\calg\Documents\Neverwinter Nights\nwn.ini
    PATCH=C:\Users\calg\Documents\Neverwinter Nights\hak

    My userpatch.ini:
    [Patch]

    PatchFile000=MageWeapons.hak

  • Sylvus_MoonbowSylvus_Moonbow Member Posts: 988
    [Patch]

    PatchFile000=MageWeapons

    CalgacusGrymlordeZwerkules
  • CalgacusCalgacus Member Posts: 144
Sign In or Register to comment.