The windows clients of my players are crashing when I activate the hak in the mod, no logs, no errors… Mac clients are unaffected. I’ve read in Beamdog forum that I’m not the only one with this problem.
The only solution I have by now is to deactivate the hak, but my module look sooo ugly now
The hak is a collection of MDL, WOK, DDS, and TGA. I know nothing about 3D modelling but I’m wondering if there is an easy way to check that all the files are correct (correct syntax, no data corruption, etc…) Is this possible? What do you think?
Which tileset are your players’ clients crashing in? My experience with the problems in NWNCQ was that they were tile specific. I had toolset problems in City Interior, Dungeon, and Ruins.The City Interior and Ruins problems were fixable by simply locating the offending tile(s) (a very tedious process) and changing the scene not to use it.
Sadly, NWNCQ seems to be really problematic. I’d remove it from Sanctum if I had the time and/or that wouldn’t bork the rest of the modules. And for some of the tilesets (like Ruins and Underdark) there’s really no good substitute. Also, when I tried substituting the individual haks from the modular system, they didn’t work. I was stuck with keeping NWNCQ, at least for the time being.
The first tileset I’ve found that crashes the game is Foothill (from another hak… JXP_Base I think, not sure) Sureley there will be others, but the starting area of my module is surronded by foothills, so all the player were confined in it and I had to deactivate it.
My biggest problem is that my mac client is not affected so I cannot replicate the error!!
CM3? sorry but could you explain this a little bit more?
The errors so far are in 10 MDLs:
Compiling: smr01_i09_01.mdl
smr01_i09_01.mdl(2022): Error: Invalid characters is floating-point value
Compilation aborted with errors
Total Execution time = 15 ms
NeverWinter Nights Model Compiler/Decompiler
Copyright 2002-2003, Edward T. Smith
Compiling: smr01_i39_01.mdl
smr01_i39_01.mdl(2272): Error: Invalid characters is floating-point value
Compilation aborted with errors
Total Execution time = 16 ms
NeverWinter Nights Model Compiler/Decompiler
Copyright 2002-2003, Edward T. Smith
Compiling: tdc01_i09_01.mdl
tdc01_i09_01.mdl(1945): Error: Invalid characters is floating-point value
Compilation aborted with errors
Total Execution time = 0 ms
NeverWinter Nights Model Compiler/Decompiler
Copyright 2002-2003, Edward T. Smith
Compiling: tdm01_o06_01.mdl
tdm01_o06_01.mdl(417): Error: Expected string value missing
Compilation aborted with errors
Total Execution time = 0 ms
NeverWinter Nights Model Compiler/Decompiler
Copyright 2002-2003, Edward T. Smith
Compiling: tdm01_s10_01.mdl
tdm01_s10_01.mdl(1966): Error: Expected string value missing
tdm01_s10_01.mdl(2048): Error: Expected string value missing
Compilation aborted with errors
Total Execution time = 16 ms
NeverWinter Nights Model Compiler/Decompiler
Copyright 2002-2003, Edward T. Smith
Compiling: tin01_p16_02.mdl
tin01_p16_02.mdl(1976): Error: Unknown parent node
tin01_p16_02.mdl(2052): Error: Unknown parent node
tin01_p16_02.mdl(2077): Error: Unknown parent node
tin01_p16_02.mdl(2154): Error: Unknown parent node
tin01_p16_02.mdl(2179): Error: Unknown parent node
tin01_p16_02.mdl(2204): Error: Unknown parent node
tin01_p16_02.mdl(2229): Error: Unknown parent node
tin01_p16_02.mdl(2254): Error: Unknown parent node
tin01_p16_02.mdl(2279): Error: Unknown parent node
tin01_p16_02.mdl(2323): Error: Unknown parent node
tin01_p16_02.mdl(2367): Error: Unknown parent node
tin01_p16_02.mdl(2411): Error: Unknown parent node
tin01_p16_02.mdl(2455): Error: Unknown parent node
Compilation aborted with errors
Total Execution time = 0 ms
NeverWinter Nights Model Compiler/Decompiler
Copyright 2002-2003, Edward T. Smith
Compiling: tni01_p16_02.mdl
tni01_p16_02.mdl(1976): Error: Unknown parent node
tni01_p16_02.mdl(2052): Error: Unknown parent node
tni01_p16_02.mdl(2077): Error: Unknown parent node
tni01_p16_02.mdl(2154): Error: Unknown parent node
tni01_p16_02.mdl(2179): Error: Unknown parent node
tni01_p16_02.mdl(2204): Error: Unknown parent node
tni01_p16_02.mdl(2229): Error: Unknown parent node
tni01_p16_02.mdl(2254): Error: Unknown parent node
tni01_p16_02.mdl(2279): Error: Unknown parent node
tni01_p16_02.mdl(2323): Error: Unknown parent node
tni01_p16_02.mdl(2367): Error: Unknown parent node
tni01_p16_02.mdl(2411): Error: Unknown parent node
tni01_p16_02.mdl(2455): Error: Unknown parent node
Compilation aborted with errors
Total Execution time = 0 ms
NeverWinter Nights Model Compiler/Decompiler
Copyright 2002-2003, Edward T. Smith
Compiling: tsw01_i05_01.mdl
tsw01_i05_01.mdl(1715): Error: Invalid characters is integer value
Compilation aborted with errors
Total Execution time = 15 ms
NeverWinter Nights Model Compiler/Decompiler
Copyright 2002-2003, Edward T. Smith
Compiling: tsw01_o07_01.mdl
tsw01_o07_01.mdl(352): Error: Invalid characters is floating-point value
tsw01_o07_01.mdl(354): Warning: Number of tverts not enough for the given face data, faces will be ignored
Compilation aborted with errors
Total Execution time = 16 ms
NeverWinter Nights Model Compiler/Decompiler
Copyright 2002-2003, Edward T. Smith
Compiling: tsw01_o08_01.mdl
tsw01_o08_01.mdl(94): Error: Invalid characters is floating-point value
Compilation aborted with errors
Total Execution time = 0 ms
NeverWinter Nights Model Compiler/Decompiler
Copyright 2002-2003, Edward T. Smith
Note: The smr is the ruin tileset, I changed the name because I use this tileset for exteriors and I don’t wanted the ceiling of NWNCQ.
Well the CM3 was able to correct a couple of those tiles, but I’ve been unable to correct the others (however I deleted the strange characters in middle of the files)
What I have done is to compile/decompile all the mdl files with nwnmdlcomp.exe. I have given them as an override to a player who had problems with the haks and… it worked (well, it worked at least for my foothill tile)
I’m still testing it but if anyone is interested in testing it, here is the result (link updated)
I’ve found a problem with texture ttr01_grass02.dds: the original texture of the game is a tga, the texture of the hak is a dds, don’t know the priority of the game when choosing between both formats.
In my case the dds is ignored and the result is weird because there are tiles with grass of different colors. So I’ve exported the texture in tga format.
The DDS should always be preferred to TGA, unless the GPU can’t decode DDS - and I’m not sure any such GPUs exist.
Just to make sure, you did file this as a bug on redmine? No matter how broken a tile is, game shouldn’t crash. It can fail to load the module, kick you out of it, etc… but a hard crash is almost never the answer.
The original texture for the game is a DDS - its housed in 3 different sizes in the Texture Packs (A, B, and C). If you are getting different colored grass its probably because you have tiles referencing two different textures OR the ambient and diffuse settings are different for the geometry. CM3 can be configures to set ambient/diffuse to 1, if that box was checked then CMS changed those settings. Sometimes nwnmdlcomp does odd things to those settings when you compile/decompile a model - i’ve seen it set them to match the geometry’s wirecolor.
Andarian (I think) already reported this in the Beamdog Forum. I’ve already told my players to report the bug and to send the log/dmp file if any, I can’t do it myself: the mac client does not crash.
You are right, I’ve found the texture in the three texture packs you mentioned. As I said earlier I know nothing about tiles, textures… I can only tell you what I have seen in a particular area:
There were two tiles with very different grass textures (color, pattern…)
The model of the tile with the good texture (good=more detailed, bright color…) its mdl is in the override.
The other one is an original ressource from the game and with the explorer I can see that it uses the texture ttr01_grass02. So note that I’ve not compiled/decompiled this mdl.
This texture is redefined in the override with the file ttr01_grass02.dds, I can see that the overrided texture is the good one but somehow it is not showing in the game.
With the explorer I’ve extracted the TGA of the override DDS and I’ve put it on the override directory (same name, different file extensions)
OK, that makes sense then. Textures in the override that overwrite BioWare textures have to be TGA format. If the texture is in a hak, it has to be DDS format.
This is one reason why I don’t use the override. If you are want to overwrite standard resources you are much better off (and safer) to use module haks. If you are trying to overwrite standard resources in the OC and expansions, then use the patch-hak method.
In nwn.ini under [Alias] change Patch= to Patch=.\hak
Open nwnpatch.ini and under [Patch] you will see the string PatchFile000=. After the = sign, you need to type the name of the hak file.
Note, the haks in your list will load in the order listed (e.g. resources in the last hak listed will overwrite identical resources in any hak listed above it). This is the opposite of haks added directly to a module, as in that case the resources in the topmost hak overwrite those below it).
Thank you, didn’t know the override only works with TGA.
I don’t like override either, I have always used haks. But the original hak (see my first post) was crashing the game of my players. This is why I decided to remove the hak form my server and to test it with only one player in his override… recompiling the mdl solved his crash.