diff --git a/NifImport/MaxNifImport.cpp b/NifImport/MaxNifImport.cpp index 1bbe69a94bea89fe2193dfb391348d44b4c5df07..7e3277a5561e89f5bb7f1389b3d387923fd78e44 100644 --- a/NifImport/MaxNifImport.cpp +++ b/NifImport/MaxNifImport.cpp @@ -134,11 +134,12 @@ public: // load file blocks = ReadNifList( name ); nodes = DynamicCast<NiNode>(blocks); - if (goToSkeletonBindPosition) - GoToSkeletonBindPosition(nodes); // Apply post processing checks after reading blocks if (isValid()){ + if (goToSkeletonBindPosition && !nodes.empty()) + nodes[0]->GoToSkeletonBindPosition(); + hasSkeleton = HasSkeleton(); isBiped = IsBiped(); skeleton = (appSettings != NULL) ? appSettings->Skeleton : ""; diff --git a/NifImport/MaxNifTools.ini b/NifImport/MaxNifTools.ini index 3726d4fea38b67a9fbd1f96c1d73616b807135d8..2667f20bc5223edd7afd3412a3394f6dd839fc1a 100644 --- a/NifImport/MaxNifTools.ini +++ b/NifImport/MaxNifTools.ini @@ -79,7 +79,7 @@ RootPaths=${RootPath};${MeshRootPath};${TextureRootPath} TextureRootPaths=${RootPath};${TextureRootPath} TextureExtensions=.dds; TextureSearchPaths=${RootPath}\Textures;${TextureRootPath}\Textures\Characters;${TextureRootPath}\Textures\Armor -GoToSkeletonBindPosition=0 +GoToSkeletonBindPosition=1 [Morrowind] InstallPath=[HKLM\SOFTWARE\Bethesda Softworks\Morrowind]=@"Installed Path" @@ -99,4 +99,4 @@ RootPaths=${ExtractFolder};${InstallPath}\Assets;${InstallPath}\Mods;%USERPROFIL TextureRootPaths=$(ExtractFolder)\art\shared\ TextureExtensions=.dds;.bmp TextureSearchPaths= -GoToSkeletonBindPosition=0 \ No newline at end of file +GoToSkeletonBindPosition=1 \ No newline at end of file diff --git a/NifImport/niutils.cpp b/NifImport/niutils.cpp index 52353b86788966fb6ce912f9235861623cbce087..3240427e4cb924a858dd3a8bcf2a2dbebfcc75cd 100644 --- a/NifImport/niutils.cpp +++ b/NifImport/niutils.cpp @@ -514,15 +514,3 @@ void FindImages(NameValueCollection& images, const string& rootPath, const strin } } } - - -void GoToSkeletonBindPosition(vector<NiNodeRef>& blocks) -{ - //Send all skeleton roots to bind position - for (uint i = 0; i < blocks.size(); ++i) { - NiNodeRef node = blocks[i]; - if ( node != NULL && node->IsSkeletonRoot() ) { - node->GoToSkeletonBindPosition(); - } - } -} \ No newline at end of file diff --git a/NifImport/niutils.h b/NifImport/niutils.h index 2458ee3c5f5d1ae3992d9a650b4c254d03f6c752..6e2f12bda5c59f560fdf1ee0b82e0caaf6532626 100644 --- a/NifImport/niutils.h +++ b/NifImport/niutils.h @@ -208,7 +208,6 @@ extern Niflib::NiNodeRef FindNodeByName( const vector<Niflib::NiNodeRef>& blocks extern std::vector<Niflib::NiNodeRef> SelectNodesByName( const vector<Niflib::NiNodeRef>& blocks, LPCTSTR match); extern int CountNodesByName( const vector<Niflib::NiNodeRef>& blocks, LPCTSTR match ); extern std::vector<std::string> GetNamesOfNodes( const vector<Niflib::NiNodeRef>& blocks ); -extern void GoToSkeletonBindPosition(std::vector<Niflib::NiNodeRef>& blocks); // Simple conversion helpers static inline float TODEG(float x) { return x * 180.0f / PI; }