This is an important topic for anyone doing any kind of content creation, using a module hakpak or override. Therefore a top level topic!
The NWN game engine has an amazing set of ways to have content overriden. This means you can provide a module with an updated "Magic Missile" spell script that does something completely different. You can also provide in a hakpak file an entirely new spell icon, and even alter the text describing the spell.
However what if someone includes a magic missile spell script in their override folder? What happens if a game is loaded from a save file? Read on for more...
Order of Hakpacks
A note on the order of hakpacks and duplicate files; the highest (first loaded) hakpack takes precedence. In this example the files in "potsc_top" are loaded first. Clicking "Check for Conflicts" shows these problem conflicts, in this case 4 x 2da files are in 2 separate hakpacks.
It is worthwhile sorting hakpacks so only one file of a particular name exists. This is especially relevant for data files such as 2da files, which you might find the toolset getting upset if you used an earlier 2da (such as for creature appearances) which gets overriden by a higher priority hakpack later on in development.
DDS and TGA Load Order
While DDS files should override TGA files when present, there are some oddities due to how the game loads textures in general. The actual order is different to the standard Content Order below but only for these two file types.
What does this mean? Basically that if you, for instance, put "c_aribeth.tga" into the override folder, it'd actually be the one used compared to "c_aribeth.dds" inside the default game BIFs, even though usually DDS has to be there to override DDS. This is most common an issue for item icons since TGA files basically tell the game "an icon exists" as frustrating as that is.
- DDS in override (and development, and possibly Steam Workshop)
- TGA in override (and development, and possibly Steam Workshop)
- DDS in nwsync
- TGA in nwsync
- DDS in ERF (ie hakpacks)
- TGA in ERF (ie hakpacks)
- DDS in BIF
- TGA in BIF
KTX files, used on iOS, I'm not sure how fit in this load order.
Highest to Lowest. Something in a higher option always overrides the lower option.
Most folders support any files being loaded in them, but it is better to stick to the general conventions.
|Location Name||Example NWN:EE location (Windows/Steam)||Contents Loaded||Notes|
|1||User Portraits||Documents\Neverwinter Nights\portraits||All content file types except .mod||Usually stores .tga and .dds portrait files only|
|2||Install Portraits||steamapps\common\Neverwinter Nights\data\prt||All content file types except .mod||Usually stores .tga and .dds portrait files only|
|All content file types except .mod||Usually stores .bic files only|
|4||Install Vault||steamapps\common\Neverwinter Nights\data\lcv||All content file types except .mod|
Usually stores .bic files only
"lvc" = local character vault
|5||User Development Folder||Documents\Neverwinter Nights\development||All content file types except .mod|
Development folder is also refreshed actively in the game and is for development purposes only (be careful if using on live servers, and NOT for distributed content)
Development folder now loads in toolset as of a more recent NWN:EE update. (which?)
|6||NWSync Manifest||Documents\Neverwinter Nights\nwsync||All content file types except .mod|
|7||User Hakpack||Documents\Neverwinter Nights\hak||.hak files (and their contents)|
A further page on what can go into a hakpack file will be created later
Note: Some things are loaded at game inception (not module load) so cannot be overriden by hakpacks regardless (these will be noted where possible).
See above notes on the hakpack ordering and how it affects file loading of duplicated files.
|8||Install Hakpack||steamapps\common\Neverwinter Nights\data\hk||.hak files (and their contents)||Mostly this is for Premium Module content, user made stuff shouldn't go here anyway|
|9||Current Game||The current game in memory at the moment of being played, eg; a creatures instanced health, effects, world position, in an area.|
|10||Save Game||Documents\Neverwinter Nights\saves\NAME OF SAVE||.sav (and their contents)|
For MOD: The .sav file is a copy of the entire .mod file with area changes, ongoing stuff etc. - yes you can load the .sav on another PC without the original .mod
For NWM: This essentially is a copy of anything altered in the game. EG: area files, creatures instances (like health, effects) and all sorts of others. It loads this and then anything missing is taken from the .mod files.
Think of it as a layer on top of the original .mod file. It allowed Bioware to do (most) patching of the modules without users losing their save progress. A shame it wasn't allowed for user modules!
|.mod (and their contents)|
Like hakpacks a further page will be written on what can be included in a .mod file.
"nwm" is essentially .mod but "official modules".
Loaded only when a module is selected to be loaded
|12||User Patch||User specified see tutorial||.bif or .hak files and their contents||See tutorial|
|13||User Override||Documents\Neverwinter Nights\override||All content file types except .mod|
Used for overriding the games default files, eg replacing a default placeable model, 2da or spell script
Loaded at game startup pre-module load if applicable
|14||Install Override||steamapps\common\Neverwinter Nights\ovr||All content file types except .mod|
|15||User Ambient||Documents\Neverwinter Nights\ambient||All content file types except .mod||.wav files, ambient sound files usually|
|16||User Music||Documents\Neverwinter Nights\music||All content file types except .mod||.bmu files, music files usually|
|17||Install Ambient||steamapps\common\Neverwinter Nights\data\amb||All content file types except .mod||.wav files, ambient sound files usually|
|18||Install Music||steamapps\common\Neverwinter Nights\data\mus||All content file types except .mod||.bmu files, music files usually|
|19||Install Patch||steamapps\common\Neverwinter Nights\data||.bif files and their contents||Base game content but for the ones marked _patch|
|20||Texture Pack||steamapps\common\Neverwinter Nights\data\txpk||.erf files and their contents||Base game content but dependant on "texture pack" values|
|21||Keytable||steamapps\common\Neverwinter Nights\data||.bif files and their contents||Base game content bif files|
Movies are loaded specially, one off, and not kept in game memory. The order is User directory then Install directory.
These have their own special ordering and loading, since each module can load one customised .tlk file for use.
This needs further investigation. They can be sent via. nwsync so may work in hakpacks...but not sure.
Priority From Code
This shows the exact ordering - that was made human readable above.