diff --git a/include/NIF_IO.h b/include/NIF_IO.h index 5a6d6494668146e8a9a4cc460f967b72b96d9dbd..a19e0a32988bfe27dab76358c5ccab8daeb7fb0c 100644 --- a/include/NIF_IO.h +++ b/include/NIF_IO.h @@ -284,7 +284,7 @@ void NifStream( Quaternion & val, istream& in, uint version = 0 ); void NifStream( Quaternion const & val, ostream& out, uint version = 0 ); //HeaderString -void NifStream( HeaderString & val, istream& in, uint version = 0 ); +void NifStream( HeaderString & val, istream& in, uint & version ); //Sets the passed in version varible void NifStream( HeaderString const & val, ostream& out, uint version = 0 ); ostream & operator<<( ostream & out, HeaderString const & val ); diff --git a/include/gen/obj_defines.h b/include/gen/obj_defines.h index 9914f618446164ef79eae2ec0dc86b35e3a85c56..8ac45871442d9280fb13971ff10f0e125c9b71d2 100644 --- a/include/gen/obj_defines.h +++ b/include/gen/obj_defines.h @@ -11,7 +11,7 @@ private:\ void InternalRead( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version );\ void InternalWrite( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const;\ string InternalAsString( bool verbose ) const;\ - void InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version );\ + void InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version );\ list<NiObjectRef> InternalGetRefs() const; #define NI_OBJECT_MEMBERS \ diff --git a/include/obj/ABoneLODController.h b/include/obj/ABoneLODController.h index eeb7c3624b0082a9b6486115b848506f31a3a136..bf877017651fc1b54707e28d180556ca1dede49a 100644 --- a/include/obj/ABoneLODController.h +++ b/include/obj/ABoneLODController.h @@ -32,7 +32,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/AKeyedData.h b/include/obj/AKeyedData.h index f5de967126eefb8a64aea556ecf22f448e893b0e..f704daeba348bf0a6cddf9bd3349e9d750c54f5d 100644 --- a/include/obj/AKeyedData.h +++ b/include/obj/AKeyedData.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/APSysCtlr.h b/include/obj/APSysCtlr.h index 0738662b87dc9b2280b3d05242dd41ee6db40490..ed0f812945ce384adcaf0c9981143f597308a8ca 100644 --- a/include/obj/APSysCtlr.h +++ b/include/obj/APSysCtlr.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/APSysData.h b/include/obj/APSysData.h index 577177776cf85b21bfbceb0b221132b785aad1a4..8d67137399da8bcad40a54537b323ccb71a69784 100644 --- a/include/obj/APSysData.h +++ b/include/obj/APSysData.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/AParticleModifier.h b/include/obj/AParticleModifier.h index 4f0e8ec936c7965ad941fee7aed357da7dfa3518..70ce9846dd143c8b0c22b8da0bdb56c88b22a544 100644 --- a/include/obj/AParticleModifier.h +++ b/include/obj/AParticleModifier.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/AbhkConstraint.h b/include/obj/AbhkConstraint.h index 88349b6b813dd17cf6fd425aa09742c3287677fe..bc0a1dee3fee0ddd1b8e92d449ce272ae4187f26 100644 --- a/include/obj/AbhkConstraint.h +++ b/include/obj/AbhkConstraint.h @@ -31,7 +31,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/AbhkRagdollConstraint.h b/include/obj/AbhkRagdollConstraint.h index c81cc70971dc142b0c47fdabc34372bda87ad20d..5917ddc204e6d371c2f6f5f10c57e36fdd158626 100644 --- a/include/obj/AbhkRagdollConstraint.h +++ b/include/obj/AbhkRagdollConstraint.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/AbhkShapeCollection.h b/include/obj/AbhkShapeCollection.h index b45f0a9b2c67c8e2de107ef3f4c46fb5c5f5fcb6..61cfa519103f7a81a4253c68ee6a7d238b259aaf 100644 --- a/include/obj/AbhkShapeCollection.h +++ b/include/obj/AbhkShapeCollection.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/AvoidNode.h b/include/obj/AvoidNode.h index 908eb9b3302578ecc53221e3e09dfd7ce1912ece..a8b84bdc9ffeadefed6781444e2ca535083ffe87 100644 --- a/include/obj/AvoidNode.h +++ b/include/obj/AvoidNode.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/BSBound.h b/include/obj/BSBound.h index edfc2073163316e6c5df9f174f452eb4271828a4..72cb58848f8bc2c5a61235100eec934d160fe474 100644 --- a/include/obj/BSBound.h +++ b/include/obj/BSBound.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/BSFurnitureMarker.h b/include/obj/BSFurnitureMarker.h index 1784abcf2af4a26d2095502455419eff0b121828..e57333261200d7bf9c180f72e08aa9ca17ca4a83 100644 --- a/include/obj/BSFurnitureMarker.h +++ b/include/obj/BSFurnitureMarker.h @@ -32,7 +32,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/BSKeyframeController.h b/include/obj/BSKeyframeController.h index 18781c5e447b9ec549cd48a05b30fd871fc763d6..694658ad48b4bf3448bbfffd92d2b88da9a84947 100644 --- a/include/obj/BSKeyframeController.h +++ b/include/obj/BSKeyframeController.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/BSPSysArrayEmitter.h b/include/obj/BSPSysArrayEmitter.h index be6cb4bf4c706f6715ddddcb5d8ac384a2378e29..9979c734a4eb4bc7050b59071562e4622f4b7d7d 100644 --- a/include/obj/BSPSysArrayEmitter.h +++ b/include/obj/BSPSysArrayEmitter.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/BSParentVelocityModifier.h b/include/obj/BSParentVelocityModifier.h index 0fe839bfc73ec2927da4267ec47fe875aade9a2d..a3cbbd3f3aec21976901c2ea6476fe351c34a8b5 100644 --- a/include/obj/BSParentVelocityModifier.h +++ b/include/obj/BSParentVelocityModifier.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/BSXFlags.h b/include/obj/BSXFlags.h index 91366c4436c70c6fed469bfc8e3503e509b12679..7d9eed5a65ffc86f253a6091e1503c080a8184cc 100644 --- a/include/obj/BSXFlags.h +++ b/include/obj/BSXFlags.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/FxButton.h b/include/obj/FxButton.h index 6759d48cfed8ee707adc40fe4bad6ae720d43242..96858d4029dc9f7e3069742aa14962b3890db6b7 100644 --- a/include/obj/FxButton.h +++ b/include/obj/FxButton.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/FxRadioButton.h b/include/obj/FxRadioButton.h index 82c1084c993d79cea0c6e923fabbf89b28113f1d..3c1dbc149ac0e8191bc838f5b8b2ce73899b06ea 100644 --- a/include/obj/FxRadioButton.h +++ b/include/obj/FxRadioButton.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/FxWidget.h b/include/obj/FxWidget.h index 8808c1ed45e8944e4ba2db09e67656bf51ff7de9..b00336d402808ed55e33105cfddc4787a1632547 100644 --- a/include/obj/FxWidget.h +++ b/include/obj/FxWidget.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiAVObject.h b/include/obj/NiAVObject.h index 159311d73c1d85cc53b0cfd3c5e0fbc19133c65a..132f35585590bf7a9a6cf6623876f723d0c513d7 100644 --- a/include/obj/NiAVObject.h +++ b/include/obj/NiAVObject.h @@ -37,7 +37,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; //TODO: What to do with newer files that have a link for a bounding box? Wrap this in a function and translate? diff --git a/include/obj/NiAlphaController.h b/include/obj/NiAlphaController.h index 0f9ac268d9e3ea95d0d05607fdad699890c571a0..0901669332e2c992fb0ef587dc65f79880dac5d7 100644 --- a/include/obj/NiAlphaController.h +++ b/include/obj/NiAlphaController.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiAlphaProperty.h b/include/obj/NiAlphaProperty.h index 6780ede1e20b3ef2da3087837742911d3fbb86be..ee8db6eae7f6cc3e78b535d8a1c14ad7a14d6cf0 100644 --- a/include/obj/NiAlphaProperty.h +++ b/include/obj/NiAlphaProperty.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiAmbientLight.h b/include/obj/NiAmbientLight.h index 538f983e663507359e604c7126749c8a2d1b4ca0..2ea53ac0c6bedf416a445bd52b125fdd2242f189 100644 --- a/include/obj/NiAmbientLight.h +++ b/include/obj/NiAmbientLight.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiAutoNormalParticles.h b/include/obj/NiAutoNormalParticles.h index d5d180690040f35651b901f087e4248680fdd402..2cc0bd7be53f07edabffe4133cfb05071a66309c 100644 --- a/include/obj/NiAutoNormalParticles.h +++ b/include/obj/NiAutoNormalParticles.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiAutoNormalParticlesData.h b/include/obj/NiAutoNormalParticlesData.h index ef93fe2c0c3e58f1049b174bc1fb17c7938de462..a84aca7d5274bcc8c0ecd943a82e3c9a4f9027ab 100644 --- a/include/obj/NiAutoNormalParticlesData.h +++ b/include/obj/NiAutoNormalParticlesData.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBSAnimationNode.h b/include/obj/NiBSAnimationNode.h index 46be0bf571e1744f69738978c0d00a908ab358db..c36f3c77fd6b9fa73db14f1c2be91f3037c2b203 100644 --- a/include/obj/NiBSAnimationNode.h +++ b/include/obj/NiBSAnimationNode.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBSBoneLODController.h b/include/obj/NiBSBoneLODController.h index a9e77fd6cfcdcfdf23ce7897a2d5adcebbd9059b..256363f69a20091cd6233c532d292b62948b0f20 100644 --- a/include/obj/NiBSBoneLODController.h +++ b/include/obj/NiBSBoneLODController.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBSPArrayController.h b/include/obj/NiBSPArrayController.h index 21f06db0cfefeb18f850bb34551c518b9772c64f..ae14d2176f9c6a96a892d3fc41ad61a4e61f518b 100644 --- a/include/obj/NiBSPArrayController.h +++ b/include/obj/NiBSPArrayController.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBSParticleNode.h b/include/obj/NiBSParticleNode.h index f59b29bbe0aea6864105ff9ff68fc76827842913..0f38c70bca239f2d11532d3d0a153db4dcdabcc8 100644 --- a/include/obj/NiBSParticleNode.h +++ b/include/obj/NiBSParticleNode.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBSplineBasisData.h b/include/obj/NiBSplineBasisData.h index 345893aa50d4b39bb35699a61bbed7eccd04d6d1..4f1d68088d72d4a7a0e254d51f879cdfa31195d4 100644 --- a/include/obj/NiBSplineBasisData.h +++ b/include/obj/NiBSplineBasisData.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBSplineCompFloatInterpolator.h b/include/obj/NiBSplineCompFloatInterpolator.h index 76f203af857d2aec924a436b36c88e92b15db6d3..ae7a902d62ccb565999611ae28e962fecf725e5b 100644 --- a/include/obj/NiBSplineCompFloatInterpolator.h +++ b/include/obj/NiBSplineCompFloatInterpolator.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBSplineCompPoint3Interpolator.h b/include/obj/NiBSplineCompPoint3Interpolator.h index 12c641789dedc83ece033beb8c4241be831209f0..26fd93aa6f901e234093d0c4bab7c504e1a4f6e4 100644 --- a/include/obj/NiBSplineCompPoint3Interpolator.h +++ b/include/obj/NiBSplineCompPoint3Interpolator.h @@ -31,7 +31,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBSplineCompTransformInterpolator.h b/include/obj/NiBSplineCompTransformInterpolator.h index 4f8f592002343d1071e4f26d0074f4ffce7096c2..71863c912842377817f5ac8f64f4192da5b7237b 100644 --- a/include/obj/NiBSplineCompTransformInterpolator.h +++ b/include/obj/NiBSplineCompTransformInterpolator.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBSplineData.h b/include/obj/NiBSplineData.h index 261ea1b65db8002121d15d0f31a69d0f71557349..da107606b644ef9c610f36942285432b225b085c 100644 --- a/include/obj/NiBSplineData.h +++ b/include/obj/NiBSplineData.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBSplineInterpolator.h b/include/obj/NiBSplineInterpolator.h index 4cef7d35aeecf28b2d45ac321c5aeea5b19de7e8..bd760d3d47e47eddecf6ef9045517fed8d2af643 100644 --- a/include/obj/NiBSplineInterpolator.h +++ b/include/obj/NiBSplineInterpolator.h @@ -32,7 +32,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBillboardNode.h b/include/obj/NiBillboardNode.h index 9a0ab03a12a4d4ef7d5cd761b17ef6eb36cf24e0..1c07ad0d03d34178915c003e74cbb1cdbe097be2 100644 --- a/include/obj/NiBillboardNode.h +++ b/include/obj/NiBillboardNode.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBinaryExtraData.h b/include/obj/NiBinaryExtraData.h index d941b6e030d60f25a7bc77d80c471b4c60c3d1c4..c2264340110d88eab5423bb5ad6cb333fece927c 100644 --- a/include/obj/NiBinaryExtraData.h +++ b/include/obj/NiBinaryExtraData.h @@ -31,7 +31,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBlendBoolInterpolator.h b/include/obj/NiBlendBoolInterpolator.h index 189292264dd189ee578d46bf627c5627126e43c1..c72e527040a511b09c1a6bdbeb459ab48fd45fbe 100644 --- a/include/obj/NiBlendBoolInterpolator.h +++ b/include/obj/NiBlendBoolInterpolator.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBlendFloatInterpolator.h b/include/obj/NiBlendFloatInterpolator.h index f7cc7be5e821171526ecf2f7f548b93547c9b154..da59a3e58a5f6928719c19e790b01e78422475ca 100644 --- a/include/obj/NiBlendFloatInterpolator.h +++ b/include/obj/NiBlendFloatInterpolator.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBlendInterpolator.h b/include/obj/NiBlendInterpolator.h index 0b9332b9856986df7f16c6f4ce4e5aff6f735b1a..50045d8e333417d40c8c455b1e5ce4f0a7b67592 100644 --- a/include/obj/NiBlendInterpolator.h +++ b/include/obj/NiBlendInterpolator.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBlendPoint3Interpolator.h b/include/obj/NiBlendPoint3Interpolator.h index fdc8a62ea74f0d31a396638111167cf7d0c43eae..833c78da3279ab3e34cac9cf3fca4cdaf8c7b9ab 100644 --- a/include/obj/NiBlendPoint3Interpolator.h +++ b/include/obj/NiBlendPoint3Interpolator.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBlendTransformInterpolator.h b/include/obj/NiBlendTransformInterpolator.h index 8919085340bcf3119f464246937e37e891d6c884..a30dd3857c4f4a5fc1c64c48fa5eb13c580258be 100644 --- a/include/obj/NiBlendTransformInterpolator.h +++ b/include/obj/NiBlendTransformInterpolator.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBoneLODController.h b/include/obj/NiBoneLODController.h index 8c8fdc9baa295334dfc5fa6ce7244eef2f276cfa..19b1e9cfd95c33e622e3746b0a55b3d4fd0416e7 100644 --- a/include/obj/NiBoneLODController.h +++ b/include/obj/NiBoneLODController.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBoolData.h b/include/obj/NiBoolData.h index 20a5cd4efcf44b5a754cb361e1d939b4f114a8a1..913d4f0c576dd105a921a25bd1d8d35d9f5e26e8 100644 --- a/include/obj/NiBoolData.h +++ b/include/obj/NiBoolData.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBoolInterpolator.h b/include/obj/NiBoolInterpolator.h index 4c779aab4b80ede5ae5686cf4dc4595864789461..5271fa41d77a974b1b4201586f7492653be0c52e 100644 --- a/include/obj/NiBoolInterpolator.h +++ b/include/obj/NiBoolInterpolator.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBoolTimelineInterpolator.h b/include/obj/NiBoolTimelineInterpolator.h index 51d69b3e75533d840f232ce28fd956b8771991f9..3100137fb43b49a0a3e774a3c6982c20ed497b02 100644 --- a/include/obj/NiBoolTimelineInterpolator.h +++ b/include/obj/NiBoolTimelineInterpolator.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiBooleanExtraData.h b/include/obj/NiBooleanExtraData.h index 26c23a101f5e6517be844a175af775e5167226ee..570bc1e7f331b12c0302c0ffe901130c9647c3a3 100644 --- a/include/obj/NiBooleanExtraData.h +++ b/include/obj/NiBooleanExtraData.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiCamera.h b/include/obj/NiCamera.h index e1ca23846d1e1956f44b0e6439fc1ad679b90bf6..221356644f29a211d8b6b1aa4f8e5505f3d3fdfa 100644 --- a/include/obj/NiCamera.h +++ b/include/obj/NiCamera.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiClod.h b/include/obj/NiClod.h index 98b05419d676688a129ec148853390f90daf7f41..f7f9f3854f5c8c7f4d4f733ad3bbfc689d0ee3c2 100644 --- a/include/obj/NiClod.h +++ b/include/obj/NiClod.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiClodData.h b/include/obj/NiClodData.h index d78146eebe416ce7d24077d1628700de0eaba489..91846b5991b8f6bc65ea56eec71efa317f9936d0 100644 --- a/include/obj/NiClodData.h +++ b/include/obj/NiClodData.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiCollisionData.h b/include/obj/NiCollisionData.h index 808f78ceda2c2bc5a116ed3505b6a725eaab1fa5..da425855954bdbd522c35d7162c0688732c7451c 100644 --- a/include/obj/NiCollisionData.h +++ b/include/obj/NiCollisionData.h @@ -31,7 +31,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiCollisionObject.h b/include/obj/NiCollisionObject.h index 66f5f2ca2e982d59ec33a295bcd05e2645fd90d6..e67758645b45504a8b5edc6d2ccaf3f9674e97a9 100644 --- a/include/obj/NiCollisionObject.h +++ b/include/obj/NiCollisionObject.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiColorData.h b/include/obj/NiColorData.h index 26c1dde5e52b71443a2830778ee6deea2d9cafa2..ff210e5bb8ab0abb3ce0691f49bd98582a15bdd7 100644 --- a/include/obj/NiColorData.h +++ b/include/obj/NiColorData.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiColorExtraData.h b/include/obj/NiColorExtraData.h index 32864d8d9d03bdb852ad1d5f7d2847153315c86c..9bb13a38371654d13db2c4ef50404c6e11699e2e 100644 --- a/include/obj/NiColorExtraData.h +++ b/include/obj/NiColorExtraData.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiControllerManager.h b/include/obj/NiControllerManager.h index 53ed09677e64dc7bc3cbf5008e643761e0ce7a6a..6083b01e552a57ffa08027e9438a37f6cfff87b9 100644 --- a/include/obj/NiControllerManager.h +++ b/include/obj/NiControllerManager.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiControllerSequence.h b/include/obj/NiControllerSequence.h index 0905b62b69b829702e4cf27d8e4baaac0385ed87..6e0294e6a61a935169c3a9896c64a003d72b141d 100644 --- a/include/obj/NiControllerSequence.h +++ b/include/obj/NiControllerSequence.h @@ -39,7 +39,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiDefaultAVObjectPalette.h b/include/obj/NiDefaultAVObjectPalette.h index 5381a6a45d2fc16c5bba6d8a5417a7fa7dc8ff77..d291c2ab20e09079efc6201b3ba5288a2b152d58 100644 --- a/include/obj/NiDefaultAVObjectPalette.h +++ b/include/obj/NiDefaultAVObjectPalette.h @@ -33,7 +33,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiDirectionalLight.h b/include/obj/NiDirectionalLight.h index 9a984adfc7a12ce4b999b0ded7b50f5874957551..c369730354b05d508278293b2426f5a603f45300 100644 --- a/include/obj/NiDirectionalLight.h +++ b/include/obj/NiDirectionalLight.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiDitherProperty.h b/include/obj/NiDitherProperty.h index 550cce5ae03d2b3f445e502e771c5eaa3a359827..ef6a0bef2db75184c1224e708cb343496254a5f4 100644 --- a/include/obj/NiDitherProperty.h +++ b/include/obj/NiDitherProperty.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiDynamicEffect.h b/include/obj/NiDynamicEffect.h index a9af02e29d18c508094639309c1c9beafac40dba..10f8f55ddacf6f9ae52ee0c170e93fc008b02413 100644 --- a/include/obj/NiDynamicEffect.h +++ b/include/obj/NiDynamicEffect.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiExtraData.h b/include/obj/NiExtraData.h index 1c26ea788a0355e1e8c1a75b43c107fb4102b9c0..e7b0a52524cb70e0822f9bda08d510b7ae82d244 100644 --- a/include/obj/NiExtraData.h +++ b/include/obj/NiExtraData.h @@ -31,7 +31,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiFlipController.h b/include/obj/NiFlipController.h index 676fc30645c3d7b96bd100e892016b2d1261b29c..1b3bbd62226367b08b577c99103f4f7aa69f79aa 100644 --- a/include/obj/NiFlipController.h +++ b/include/obj/NiFlipController.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiFloatData.h b/include/obj/NiFloatData.h index fe8833a0c2e1f66618e7c71508ad11d247dd98f1..fcf4d44306a8e194b7a61658e97cc635a1a7899d 100644 --- a/include/obj/NiFloatData.h +++ b/include/obj/NiFloatData.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiFloatExtraData.h b/include/obj/NiFloatExtraData.h index 1369c7ecb516234ecdf879a884f7e9ac11f6057a..ce3e7fa902fcb923beda863f18210375e2755339 100644 --- a/include/obj/NiFloatExtraData.h +++ b/include/obj/NiFloatExtraData.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiFloatExtraDataController.h b/include/obj/NiFloatExtraDataController.h index d1a9aa9e7fa4fee10782ef168a800559abb06b5f..90868cd187e4a3c8661868df110a913f2c824e2a 100644 --- a/include/obj/NiFloatExtraDataController.h +++ b/include/obj/NiFloatExtraDataController.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiFloatInterpolator.h b/include/obj/NiFloatInterpolator.h index fe44e7793611acc54015056fe494d2f824c1c0bd..fd0d478254c7a9306b57f15fb7452af2366ec1d3 100644 --- a/include/obj/NiFloatInterpolator.h +++ b/include/obj/NiFloatInterpolator.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiFloatsExtraData.h b/include/obj/NiFloatsExtraData.h index b1276ee9c14c84d7b310be1a1c3de31c080adc8b..3f2ca14307dd602d065cd85704efde48983092e8 100644 --- a/include/obj/NiFloatsExtraData.h +++ b/include/obj/NiFloatsExtraData.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiFogProperty.h b/include/obj/NiFogProperty.h index 47ee0d027bba95091bb287b4cc1dac73d363f455..3492d51a832ec1ea61c6e443870b3b00001b7796 100644 --- a/include/obj/NiFogProperty.h +++ b/include/obj/NiFogProperty.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiGeomMorpherController.h b/include/obj/NiGeomMorpherController.h index 503f49d088df5d6505ad0c1ee1eabeb64cff63bd..34575a904dc6eb85cdbb32f78bb815418dfc2441 100644 --- a/include/obj/NiGeomMorpherController.h +++ b/include/obj/NiGeomMorpherController.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiGravity.h b/include/obj/NiGravity.h index 190a175effa7272bc582587b6c4585bb10ad082e..5785e8dca74208b6adf13524a4ea96d890fbf3be 100644 --- a/include/obj/NiGravity.h +++ b/include/obj/NiGravity.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; protected: diff --git a/include/obj/NiIntegerExtraData.h b/include/obj/NiIntegerExtraData.h index 5489096bc69b7f42ea7005db4c5a5c647584e305..8e190d75aa55a189c48b2a0f4045a6d224c870de 100644 --- a/include/obj/NiIntegerExtraData.h +++ b/include/obj/NiIntegerExtraData.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiIntegersExtraData.h b/include/obj/NiIntegersExtraData.h index 1a2cb6da31b3ccd8ff8eb59d534dd46956382de7..a2988d17c37814e0afe1e15554b7a56e9d4e1651 100644 --- a/include/obj/NiIntegersExtraData.h +++ b/include/obj/NiIntegersExtraData.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiInterpolator.h b/include/obj/NiInterpolator.h index 394ff2d93e69f3e2b7ae6fc5b3a9dd9e431dab27..42148cc951fdb3053ed4741a7b5e17d14cd87404 100644 --- a/include/obj/NiInterpolator.h +++ b/include/obj/NiInterpolator.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiKeyframeController.h b/include/obj/NiKeyframeController.h index a0a8bd3ec8797f3f72b3cef6eca6ea6709bf2d78..185cb039529e824ed7c2470473be510cbf3728cc 100644 --- a/include/obj/NiKeyframeController.h +++ b/include/obj/NiKeyframeController.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiKeyframeData.h b/include/obj/NiKeyframeData.h index fb08de34a39182e675eb1b31a5a19f8ad6476ee1..eb04032d4ae1904cce163f6113fe556422e93ce7 100644 --- a/include/obj/NiKeyframeData.h +++ b/include/obj/NiKeyframeData.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiLODData.h b/include/obj/NiLODData.h index e0dfbbc10ebb0dd29c0bf4d2a1044cf6e5a34520..04c9f7ff6c174bcad1a1159fcbcf34c9edd9d2cf 100644 --- a/include/obj/NiLODData.h +++ b/include/obj/NiLODData.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiLODNode.h b/include/obj/NiLODNode.h index 6ac4fb44854036a87ef8033c61dc5ffdc4374b2e..872e303ba09cf65ade0acd38a534f34dbb28572e 100644 --- a/include/obj/NiLODNode.h +++ b/include/obj/NiLODNode.h @@ -37,7 +37,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiLight.h b/include/obj/NiLight.h index ee917bc550a1821a600292cf0fb063ce5b045ca3..f143a4be560e8884276412b749de851b0b006dc9 100644 --- a/include/obj/NiLight.h +++ b/include/obj/NiLight.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiLightColorController.h b/include/obj/NiLightColorController.h index a26f16bb8ffbd861b816b1fe8257f12307935dff..1581433e136a6c2346e84c1cbe19aa21f5767b09 100644 --- a/include/obj/NiLightColorController.h +++ b/include/obj/NiLightColorController.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiLightDimmerController.h b/include/obj/NiLightDimmerController.h index 5c352c0a5cd3d34aafa33425644736ce034d23e1..9a922576fbbadf360271905ec7f0ed26e86af4bf 100644 --- a/include/obj/NiLightDimmerController.h +++ b/include/obj/NiLightDimmerController.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiLookAtController.h b/include/obj/NiLookAtController.h index 0e4bd6268fd4e9e6b69497ce24e15b487060ffa8..b7b285feac29156e987e17b9c8d517ba7e2856bd 100644 --- a/include/obj/NiLookAtController.h +++ b/include/obj/NiLookAtController.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiLookAtInterpolator.h b/include/obj/NiLookAtInterpolator.h index 1dfd35c494548a01ed4c5370463e4e3527c76ab2..a76f80eddd281d60974e4625f35865229daf43ba 100644 --- a/include/obj/NiLookAtInterpolator.h +++ b/include/obj/NiLookAtInterpolator.h @@ -36,7 +36,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiMaterialColorController.h b/include/obj/NiMaterialColorController.h index 99fcd03d617d3a00961b290a6da9bbbd8e9e20e5..9b0e4378a02f5d52a43c830f34b155622d63cdc6 100644 --- a/include/obj/NiMaterialColorController.h +++ b/include/obj/NiMaterialColorController.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiMaterialProperty.h b/include/obj/NiMaterialProperty.h index 0ca66c1c2ed379199def1329d4e871f2a7fa7837..3cb9300a59e1e3b43521c1d98aa09f777e151a28 100644 --- a/include/obj/NiMaterialProperty.h +++ b/include/obj/NiMaterialProperty.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiMeshPSysData.h b/include/obj/NiMeshPSysData.h index 9d0e14fba8253577bf6cb17171c5b68fec1cbda0..19ea8bd72e5f2a07ec974b9a2b068ac82aa4c249 100644 --- a/include/obj/NiMeshPSysData.h +++ b/include/obj/NiMeshPSysData.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiMeshParticleSystem.h b/include/obj/NiMeshParticleSystem.h index 230bab72b69efc03c8af710beb8ac44d4e52f8f6..ec7d234cd7fff2af75d92a54472873d8511cc7a8 100644 --- a/include/obj/NiMeshParticleSystem.h +++ b/include/obj/NiMeshParticleSystem.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiMorphData.h b/include/obj/NiMorphData.h index 32f4fa78920dc1f67689e1e3e1be2dd97efa7d4a..c9674a1cb1973ddaff38004db100b8f1c5d1bd0a 100644 --- a/include/obj/NiMorphData.h +++ b/include/obj/NiMorphData.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiMultiTargetTransformController.h b/include/obj/NiMultiTargetTransformController.h index 67303f014c1416afadd0a5a5d60ba0626f534e70..72de8e6339b17e2cfd29256cdd312a464279508f 100644 --- a/include/obj/NiMultiTargetTransformController.h +++ b/include/obj/NiMultiTargetTransformController.h @@ -32,7 +32,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiNode.h b/include/obj/NiNode.h index 2bcb6ee708171f49a23556cfd7d1f1e6bb1e43da..187332260fb72e110c965c1fd0c160641d9fc07d 100644 --- a/include/obj/NiNode.h +++ b/include/obj/NiNode.h @@ -37,7 +37,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiObject.h b/include/obj/NiObject.h index 8c440bb3a03d40d5ead1c27de9525a4209c7157d..11512acf389540f3c909770be04ed3f9a530bd3b 100644 --- a/include/obj/NiObject.h +++ b/include/obj/NiObject.h @@ -65,7 +65,7 @@ public: //Streaming Functions NIFLIB_HIDDEN virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ) {} NIFLIB_HIDDEN virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const {} - NIFLIB_HIDDEN virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) {} + NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) {} //Reference Counting NIFLIB_API void AddRef() const; //Should not be called directly diff --git a/include/obj/NiObjectNET.h b/include/obj/NiObjectNET.h index b1e2e5d38b6a7c87b55b6b6f8475545b89547fcc..d40c703891fd506f6247d0918b84b16252dd73c7 100644 --- a/include/obj/NiObjectNET.h +++ b/include/obj/NiObjectNET.h @@ -37,7 +37,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; string GetName(); diff --git a/include/obj/NiPSysAgeDeathModifier.h b/include/obj/NiPSysAgeDeathModifier.h index af71a02930fc3666007b27418476d7c6deeaf7b7..8811a53bd6418a736dad85709dccba3f24539f1e 100644 --- a/include/obj/NiPSysAgeDeathModifier.h +++ b/include/obj/NiPSysAgeDeathModifier.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysBombModifier.h b/include/obj/NiPSysBombModifier.h index 1999540c0d58e8a097ec084865e539f5d4ef48af..871cd60bc82522e51358db5c4e8060e216303bde 100644 --- a/include/obj/NiPSysBombModifier.h +++ b/include/obj/NiPSysBombModifier.h @@ -31,7 +31,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysBoundUpdateModifier.h b/include/obj/NiPSysBoundUpdateModifier.h index f85fbc177ba9a3f652353768bd264bb827fe83bc..8cfbc1034daa31df0470dcf1c3d64443aad229e9 100644 --- a/include/obj/NiPSysBoundUpdateModifier.h +++ b/include/obj/NiPSysBoundUpdateModifier.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysBoxEmitter.h b/include/obj/NiPSysBoxEmitter.h index 02c5bc6abf93862155db814fe55ec34a32c00d24..42ba40b0fad39e55dfc53f7eb6f48afce966ad67 100644 --- a/include/obj/NiPSysBoxEmitter.h +++ b/include/obj/NiPSysBoxEmitter.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysColliderManager.h b/include/obj/NiPSysColliderManager.h index 0d426986f87b04352d1bb9c2102843fb2f0b84a6..c6b35656dfe97fcfba7b3203f29477cf5173c191 100644 --- a/include/obj/NiPSysColliderManager.h +++ b/include/obj/NiPSysColliderManager.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysColorModifier.h b/include/obj/NiPSysColorModifier.h index 2cd8218a6233ba9261108a36c5bc7342103cdc58..028a102ae0cc4edae6bdab34ee6ae31f90ef3472 100644 --- a/include/obj/NiPSysColorModifier.h +++ b/include/obj/NiPSysColorModifier.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysCylinderEmitter.h b/include/obj/NiPSysCylinderEmitter.h index 2b8d5623e90a919f910497a90c23000bfb083960..d75f84809f794fc924a818bccfa2f420dfd16d40 100644 --- a/include/obj/NiPSysCylinderEmitter.h +++ b/include/obj/NiPSysCylinderEmitter.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysData.h b/include/obj/NiPSysData.h index 538b2968c4eea91dd3a43ff7c68359ec03cb0b72..0552b757a8f3e52babe6f7d6927402302d32f62b 100644 --- a/include/obj/NiPSysData.h +++ b/include/obj/NiPSysData.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysDragModifier.h b/include/obj/NiPSysDragModifier.h index c85d0be12738f64eae9b779d1a63a44b3ae9dd5e..d828f8cd0b762e8b14d3e57d1a1cd03e4905f44c 100644 --- a/include/obj/NiPSysDragModifier.h +++ b/include/obj/NiPSysDragModifier.h @@ -31,7 +31,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysEmitter.h b/include/obj/NiPSysEmitter.h index 28a1b79fd5dd4078ae3a3c7c40b8154d4aead30d..e9a25e0b8e3269859dee2293b04f56eb44dca8d1 100644 --- a/include/obj/NiPSysEmitter.h +++ b/include/obj/NiPSysEmitter.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysEmitterCtlr.h b/include/obj/NiPSysEmitterCtlr.h index d5fedf8202ca120eccfa3983a978979460e507ce..460cd16be7035dbb7e61c0884c05e39336b2aa1b 100644 --- a/include/obj/NiPSysEmitterCtlr.h +++ b/include/obj/NiPSysEmitterCtlr.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysEmitterCtlrData.h b/include/obj/NiPSysEmitterCtlrData.h index b5df6684e8aa6d1a6009ad7fcedccfbe45d8323b..38289f136a52b64b3747cd77f7b44ec52faa174b 100644 --- a/include/obj/NiPSysEmitterCtlrData.h +++ b/include/obj/NiPSysEmitterCtlrData.h @@ -32,7 +32,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysEmitterDeclinationCtlr.h b/include/obj/NiPSysEmitterDeclinationCtlr.h index f2dd6a218e710b01f347fcfb8153c8096fcc7202..1b774679b2c8c2f6f43cc1cb88ad5de35ca1c490 100644 --- a/include/obj/NiPSysEmitterDeclinationCtlr.h +++ b/include/obj/NiPSysEmitterDeclinationCtlr.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysEmitterDeclinationVarCtlr.h b/include/obj/NiPSysEmitterDeclinationVarCtlr.h index 73734c6d4169c48a0c69013c98c05aaff8978736..444e19ed603a0543e60887b34b774f51f73d0c25 100644 --- a/include/obj/NiPSysEmitterDeclinationVarCtlr.h +++ b/include/obj/NiPSysEmitterDeclinationVarCtlr.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysEmitterInitialRadiusCtlr.h b/include/obj/NiPSysEmitterInitialRadiusCtlr.h index 9d465385b479c47296cbe44c82b275902c6ab7eb..bafe8d7d1c6d7f0dd512d5777cd03003ddfc78ec 100644 --- a/include/obj/NiPSysEmitterInitialRadiusCtlr.h +++ b/include/obj/NiPSysEmitterInitialRadiusCtlr.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysEmitterLifeSpanCtlr.h b/include/obj/NiPSysEmitterLifeSpanCtlr.h index 176ff5faa98001073b7792cc8f4ce1a80d900ada..f0916b47ec26afab5d6663916096d2c1b62a0a2b 100644 --- a/include/obj/NiPSysEmitterLifeSpanCtlr.h +++ b/include/obj/NiPSysEmitterLifeSpanCtlr.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysEmitterSpeedCtlr.h b/include/obj/NiPSysEmitterSpeedCtlr.h index 25b0b62005e4ddf95b419f005db3ae18ed380801..33e1fba37a159b15dab462da45e4cd7ea48e79eb 100644 --- a/include/obj/NiPSysEmitterSpeedCtlr.h +++ b/include/obj/NiPSysEmitterSpeedCtlr.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysGravityModifier.h b/include/obj/NiPSysGravityModifier.h index faa92381467a9eb74743a9b7edae5dfea497d32e..00b0f7fbb0c431dfb7eda61f37ef0fe03fafd9fc 100644 --- a/include/obj/NiPSysGravityModifier.h +++ b/include/obj/NiPSysGravityModifier.h @@ -31,7 +31,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysGravityStrengthCtlr.h b/include/obj/NiPSysGravityStrengthCtlr.h index 48120d2c2808e7ce3edbab0b0970ec53bb4f69d0..624cccce8857fde0aa55a0d3d85a529aaa067e29 100644 --- a/include/obj/NiPSysGravityStrengthCtlr.h +++ b/include/obj/NiPSysGravityStrengthCtlr.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysGrowFadeModifier.h b/include/obj/NiPSysGrowFadeModifier.h index f738498c54c1072788fd3c27c39a9b3de84449e0..46acbe77c661a28bec9d345c2a6493f1e506f492 100644 --- a/include/obj/NiPSysGrowFadeModifier.h +++ b/include/obj/NiPSysGrowFadeModifier.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysMeshEmitter.h b/include/obj/NiPSysMeshEmitter.h index e576aaba0dacbf3fb5611c3afcc4faf3aa5fc343..c13f487fe99ab764fca6a9847d11d45fd188ea99 100644 --- a/include/obj/NiPSysMeshEmitter.h +++ b/include/obj/NiPSysMeshEmitter.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysMeshUpdateModifier.h b/include/obj/NiPSysMeshUpdateModifier.h index 975c81890b6de101f03760fe3b9ffca08aee7a63..6338191bc368f14cd622cb0f8032bfd495905727 100644 --- a/include/obj/NiPSysMeshUpdateModifier.h +++ b/include/obj/NiPSysMeshUpdateModifier.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysModifier.h b/include/obj/NiPSysModifier.h index a3108d1cc593ffa35ea70d70d1ef0bc8e91292d0..b4ef0a1392def78a28c90fc9efc9f412060f0bb0 100644 --- a/include/obj/NiPSysModifier.h +++ b/include/obj/NiPSysModifier.h @@ -31,7 +31,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysModifierActiveCtlr.h b/include/obj/NiPSysModifierActiveCtlr.h index 57e711deeb6c62d0f819be626803481549f01b9c..d75b1fa5160f1f445804ca452e423c1650b8e0ad 100644 --- a/include/obj/NiPSysModifierActiveCtlr.h +++ b/include/obj/NiPSysModifierActiveCtlr.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysPlanarCollider.h b/include/obj/NiPSysPlanarCollider.h index 04fc744e1fdc7af73be6a2d4cdc76255b4b2d2c1..7fd02afc2d003ec90d036422a82a9db1aade567f 100644 --- a/include/obj/NiPSysPlanarCollider.h +++ b/include/obj/NiPSysPlanarCollider.h @@ -36,7 +36,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysPositionModifier.h b/include/obj/NiPSysPositionModifier.h index d57e265b23e58432918b21c4d3f5a7176447c1cf..26157a711e75cbf7936806433fd2476337cb3c42 100644 --- a/include/obj/NiPSysPositionModifier.h +++ b/include/obj/NiPSysPositionModifier.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysResetOnLoopCtlr.h b/include/obj/NiPSysResetOnLoopCtlr.h index 3294f46e4cef50b204f250848253e67253578a51..ca921e42d89ebd9efa9955f3012dcfde6aaf748d 100644 --- a/include/obj/NiPSysResetOnLoopCtlr.h +++ b/include/obj/NiPSysResetOnLoopCtlr.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysRotationModifier.h b/include/obj/NiPSysRotationModifier.h index c7af7d9e0f2c4596b11a5eacd9eecc80c0ede6b1..bb9369a230d78bdb53bf52bc73a26595bfdbd0e2 100644 --- a/include/obj/NiPSysRotationModifier.h +++ b/include/obj/NiPSysRotationModifier.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysSpawnModifier.h b/include/obj/NiPSysSpawnModifier.h index b72592ddd838fd493314b9cc4f8832e327e44841..adfb09113c7305d278a23e1675dddf986a1bdf95 100644 --- a/include/obj/NiPSysSpawnModifier.h +++ b/include/obj/NiPSysSpawnModifier.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysSphereEmitter.h b/include/obj/NiPSysSphereEmitter.h index 037275ab11db17396bea6524d8538bc19ea3f719..d3e0322d3cbc0b6a7bf27ebb5111f1869a202cd5 100644 --- a/include/obj/NiPSysSphereEmitter.h +++ b/include/obj/NiPSysSphereEmitter.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysUpdateCtlr.h b/include/obj/NiPSysUpdateCtlr.h index 8abb60373a2a17d24009173c704e7bbcc90f2c9d..fd84a0db39f00ef2cf3989d2faf3e22d11fb8a10 100644 --- a/include/obj/NiPSysUpdateCtlr.h +++ b/include/obj/NiPSysUpdateCtlr.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPSysVolumeEmitter.h b/include/obj/NiPSysVolumeEmitter.h index a706945fc4ddaa530c3a3e53eb0f651e0af6d7fa..75e035f2f76dd00a5453cb3e4e6e6d6f88db7f0a 100644 --- a/include/obj/NiPSysVolumeEmitter.h +++ b/include/obj/NiPSysVolumeEmitter.h @@ -31,7 +31,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPalette.h b/include/obj/NiPalette.h index 9ababc3f27273d6122311397479193179fdbcb21..ac3612285921f0268589abaeca7c5d1c4062013a 100644 --- a/include/obj/NiPalette.h +++ b/include/obj/NiPalette.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiParticleBomb.h b/include/obj/NiParticleBomb.h index 804c16bd3af93ed626673d5a2a31b79c69f2247b..9765e6c29e73e92fb2aace1a8d6f14ed2f42c33c 100644 --- a/include/obj/NiParticleBomb.h +++ b/include/obj/NiParticleBomb.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiParticleColorModifier.h b/include/obj/NiParticleColorModifier.h index ba06ed904166b840604461442071fb95972435ab..ed047c1e143a74c4145c55c5091c6b8074bdd3ee 100644 --- a/include/obj/NiParticleColorModifier.h +++ b/include/obj/NiParticleColorModifier.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiParticleGrowFade.h b/include/obj/NiParticleGrowFade.h index fe70404f9998341f7b33a97fe53c43a64050682f..d65a6ccba5a42d08cebf0bad49d7e30d6f3a3462 100644 --- a/include/obj/NiParticleGrowFade.h +++ b/include/obj/NiParticleGrowFade.h @@ -32,7 +32,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiParticleMeshModifier.h b/include/obj/NiParticleMeshModifier.h index a83932874e849f0c3bb7dede246bb767819b0841..9f99ead5ecc229771a28ef7cd7b59681ff5e52ff 100644 --- a/include/obj/NiParticleMeshModifier.h +++ b/include/obj/NiParticleMeshModifier.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiParticleMeshes.h b/include/obj/NiParticleMeshes.h index 2e6f1b739afd0753ed8bdf994651753ab3a60fd1..c03d027dd928ad53a54fba140b8c2914c36e8788 100644 --- a/include/obj/NiParticleMeshes.h +++ b/include/obj/NiParticleMeshes.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiParticleMeshesData.h b/include/obj/NiParticleMeshesData.h index 17708a46cdabef9726d7bf4010e8c14a3e007dd8..921400b78c177ab6a678559940daa52e61b66397 100644 --- a/include/obj/NiParticleMeshesData.h +++ b/include/obj/NiParticleMeshesData.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiParticleRotation.h b/include/obj/NiParticleRotation.h index b0f7a3fad5138cb1a047b068b0fb6506b6a60c13..8d03575d58355d63455b6a1cb76a559413f2f065 100644 --- a/include/obj/NiParticleRotation.h +++ b/include/obj/NiParticleRotation.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiParticleSystem.h b/include/obj/NiParticleSystem.h index cf0f71e959b6661b55eb2530a164ab7c290c6149..1beca59415c6437ce50348c66a2924067087c1ab 100644 --- a/include/obj/NiParticleSystem.h +++ b/include/obj/NiParticleSystem.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiParticleSystemController.h b/include/obj/NiParticleSystemController.h index c0febfde53e004fee9e0a1063cd80bee5d307f06..a4d4eb153925e1cdf9a82aa83030d16b7feaddd9 100644 --- a/include/obj/NiParticleSystemController.h +++ b/include/obj/NiParticleSystemController.h @@ -37,7 +37,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; //TODO: This controller is not a priority and it has a lot of unknown data. diff --git a/include/obj/NiParticles.h b/include/obj/NiParticles.h index 37cf037954e4735ff23830a322f272096b6960e6..32e477de317e76a7758356c25a70920877e1c3f5 100644 --- a/include/obj/NiParticles.h +++ b/include/obj/NiParticles.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiParticlesData.h b/include/obj/NiParticlesData.h index 0a776b4d6b75a75fff72f2233c5d48e7c572086c..d6d824a5a04dc0aa151f80c67ee130503229630f 100644 --- a/include/obj/NiParticlesData.h +++ b/include/obj/NiParticlesData.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPathController.h b/include/obj/NiPathController.h index ab738ca1397f80f9fa1d3475c68f0666f30fc516..c312a02afb5991898518b2fb0f8e7d80adfd8564 100644 --- a/include/obj/NiPathController.h +++ b/include/obj/NiPathController.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPathInterpolator.h b/include/obj/NiPathInterpolator.h index c6ba63da1bd30b1f5f1aaccc75816543fb3ad127..28efc65fde394b3e7c7f2e5b5245d866585f818e 100644 --- a/include/obj/NiPathInterpolator.h +++ b/include/obj/NiPathInterpolator.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPixelData.h b/include/obj/NiPixelData.h index 91f7854badb17c93821c684be17e5dd86d329878..3ea7f9c0934235984b2bd0ada50bf2dc6a8cda5b 100644 --- a/include/obj/NiPixelData.h +++ b/include/obj/NiPixelData.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPlanarCollider.h b/include/obj/NiPlanarCollider.h index a2392b317cdbf6e4eb6bed4040fea37a6ca7bb76..adb05af185473be9bfef977cc2dbc3caec6666e4 100644 --- a/include/obj/NiPlanarCollider.h +++ b/include/obj/NiPlanarCollider.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPoint3Interpolator.h b/include/obj/NiPoint3Interpolator.h index 3a7c91eb1262b7f9346234d73eddb075c06e2e90..b2d65ebc2bb82fc9df569531fbb87c2b4981f154 100644 --- a/include/obj/NiPoint3Interpolator.h +++ b/include/obj/NiPoint3Interpolator.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPointLight.h b/include/obj/NiPointLight.h index 6b1ee4d48df8514a7786bc6f196f30598443d96d..f461985215e91927903634ba8d9c58a3adbd9512 100644 --- a/include/obj/NiPointLight.h +++ b/include/obj/NiPointLight.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiPosData.h b/include/obj/NiPosData.h index 98cd8465d5972959eae7af911fe2a457200bc60b..9f744b8786b0b31f66562155889b318130274d98 100644 --- a/include/obj/NiPosData.h +++ b/include/obj/NiPosData.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiProperty.h b/include/obj/NiProperty.h index 7a24dc70d205e3bfea0765b2a88e94516136bb8e..2e327573540756635b11b26b54a520ba3b2218ad 100644 --- a/include/obj/NiProperty.h +++ b/include/obj/NiProperty.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiRangeLODData.h b/include/obj/NiRangeLODData.h index c6e401bd4e69060401b2512beda281d3cf9f422e..5f7b5da72c019b0b25820b40200141ab987eae1e 100644 --- a/include/obj/NiRangeLODData.h +++ b/include/obj/NiRangeLODData.h @@ -33,7 +33,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiRotatingParticles.h b/include/obj/NiRotatingParticles.h index f340c74efdd945fe7a49a870a9ca1e24da4eb4d5..515b88e4eea78b93d3a704d45884eafcec26df99 100644 --- a/include/obj/NiRotatingParticles.h +++ b/include/obj/NiRotatingParticles.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiRotatingParticlesData.h b/include/obj/NiRotatingParticlesData.h index affbb414e7cfdff4cb4beb4e783fcb44eff55333..460c3c8cfb75119ed0be07dfebfd90df88fc49a1 100644 --- a/include/obj/NiRotatingParticlesData.h +++ b/include/obj/NiRotatingParticlesData.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiScreenLODData.h b/include/obj/NiScreenLODData.h index 1a3e7b479b1abad43ed32955faba7f207c31c708..3530f755285e46f6d4f51a1f4594358f053ffc06 100644 --- a/include/obj/NiScreenLODData.h +++ b/include/obj/NiScreenLODData.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiSequenceStreamHelper.h b/include/obj/NiSequenceStreamHelper.h index 6b985f0ceccbd48243337d3bf05499fb58215256..5f2d6aad68c95e5bb394842edfadc605a461f75c 100644 --- a/include/obj/NiSequenceStreamHelper.h +++ b/include/obj/NiSequenceStreamHelper.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiShadeProperty.h b/include/obj/NiShadeProperty.h index cec3e2a9b329643184ae93f95aa81bfbb0108311..811f8477d9727051ec75b83b83a800d3c9e10c31 100644 --- a/include/obj/NiShadeProperty.h +++ b/include/obj/NiShadeProperty.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiSingleInterpolatorController.h b/include/obj/NiSingleInterpolatorController.h index 09b4b7f648688f09db4e93bfba6191c6b7ebaa02..efbca783d61e57dbe55ac688fa5c4a3a2e130e8f 100644 --- a/include/obj/NiSingleInterpolatorController.h +++ b/include/obj/NiSingleInterpolatorController.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiSkinData.h b/include/obj/NiSkinData.h index d79201454962f723ca6567f507cadd146c1e710a..63e6cd6d6ad951cf2fe073dc1caecb0e6808df71 100644 --- a/include/obj/NiSkinData.h +++ b/include/obj/NiSkinData.h @@ -43,7 +43,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiSkinInstance.h b/include/obj/NiSkinInstance.h index 5fa4fd8c9088d2aa7be806d644439b7662854e92..63409e88c0c783ffc138232a54d403f7ae87d200 100644 --- a/include/obj/NiSkinInstance.h +++ b/include/obj/NiSkinInstance.h @@ -43,7 +43,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiSkinPartition.h b/include/obj/NiSkinPartition.h index df04b7d056b3735e4987e8ccb64f22c711bce8c8..c62f5240e4a52cb1fb3b23e51f8ec673a7c65c36 100644 --- a/include/obj/NiSkinPartition.h +++ b/include/obj/NiSkinPartition.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiSourceTexture.h b/include/obj/NiSourceTexture.h index 004cc68fa3e8259d0668e5f0f027b3cfe687eb8e..8aa0c9915cf10cf1a0d435a51647fd7998cc6eec 100644 --- a/include/obj/NiSourceTexture.h +++ b/include/obj/NiSourceTexture.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiSpecularProperty.h b/include/obj/NiSpecularProperty.h index 7152e0a6ab5faff67ff01d9d7b86470f500deb55..055578621f57bcdfae9c1136bdcda304af3fc6c0 100644 --- a/include/obj/NiSpecularProperty.h +++ b/include/obj/NiSpecularProperty.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiSphericalCollider.h b/include/obj/NiSphericalCollider.h index 03f8a904611744ddfa152c9d99512d4e98ed3ff9..037d94042609a37664f9c163a836dbb325c18f2e 100644 --- a/include/obj/NiSphericalCollider.h +++ b/include/obj/NiSphericalCollider.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiSpotLight.h b/include/obj/NiSpotLight.h index a19be9fa358388bfc4cf3783714776bd729d8b68..fe6a49aa4df8d161184b05d21fff6065395b8ebf 100644 --- a/include/obj/NiSpotLight.h +++ b/include/obj/NiSpotLight.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiStencilProperty.h b/include/obj/NiStencilProperty.h index 84496e3cb323ac23854179f6b364bebc14614e62..82839c4a95586b25e0b7b390b57cdc8f4328f458 100644 --- a/include/obj/NiStencilProperty.h +++ b/include/obj/NiStencilProperty.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiStringExtraData.h b/include/obj/NiStringExtraData.h index 6f379b2ad03b43d4a8ed5e96016e59ddbd1830ca..c6d26d1d482e92563760cbe260e14237fdda09d5 100644 --- a/include/obj/NiStringExtraData.h +++ b/include/obj/NiStringExtraData.h @@ -31,7 +31,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiStringPalette.h b/include/obj/NiStringPalette.h index 423ebadd60e1c328c52bc17188f04d5f6cb0dd76..a77245bc581bf7a757bafafdca837d291eea6941 100644 --- a/include/obj/NiStringPalette.h +++ b/include/obj/NiStringPalette.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiStringsExtraData.h b/include/obj/NiStringsExtraData.h index 07131e1b8dd295672080121011c421da9f0336f2..8998bf906a297428c7dcf2d2423c0ad074513d91 100644 --- a/include/obj/NiStringsExtraData.h +++ b/include/obj/NiStringsExtraData.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiTextKeyExtraData.h b/include/obj/NiTextKeyExtraData.h index 69c309d80dd76287bf9509469ad97a073fa2fa91..a4e6622cc73282a015e5b27aa5b48c3d2056149f 100644 --- a/include/obj/NiTextKeyExtraData.h +++ b/include/obj/NiTextKeyExtraData.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; const Type & GetType() const; diff --git a/include/obj/NiTextureEffect.h b/include/obj/NiTextureEffect.h index 1133cf8fbb7e950b5b487fa123f10a8bb7709274..c133581b223df2a7a9f2d707ae1c86eab7f16377 100644 --- a/include/obj/NiTextureEffect.h +++ b/include/obj/NiTextureEffect.h @@ -37,7 +37,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiTextureTransformController.h b/include/obj/NiTextureTransformController.h index dd6c72277095fbb5deb1c99eef9cf704d035e743..0f173a5208cc911f8af14277cd2bd2bb79824d0b 100644 --- a/include/obj/NiTextureTransformController.h +++ b/include/obj/NiTextureTransformController.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiTexturingProperty.h b/include/obj/NiTexturingProperty.h index 21e75bece8f67b75ee2364fe7108963b675a939a..575a3aababbb12060e53b918192fc9c23e8f70f0 100644 --- a/include/obj/NiTexturingProperty.h +++ b/include/obj/NiTexturingProperty.h @@ -31,7 +31,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiTimeController.h b/include/obj/NiTimeController.h index b4c8386384b9eeec7806c42769e63b2e105f2cac..154755c58cef38f1a663b922ed525a887d0d7288 100644 --- a/include/obj/NiTimeController.h +++ b/include/obj/NiTimeController.h @@ -33,7 +33,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiTransformController.h b/include/obj/NiTransformController.h index ffe96b05f401eba9a7c824c229b5df9a12ee7b5d..fdc3fb67a905edf07f6b528c4697452d7d688434 100644 --- a/include/obj/NiTransformController.h +++ b/include/obj/NiTransformController.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiTransformData.h b/include/obj/NiTransformData.h index 59570cf3b9fb681fc7929db71917b34dceb19a43..539ed410b31c712ce68a622f047fb0b5b29ea1f0 100644 --- a/include/obj/NiTransformData.h +++ b/include/obj/NiTransformData.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiTransformInterpolator.h b/include/obj/NiTransformInterpolator.h index 60d86bea35b989ae2f9f03011c18a47dc964477e..bf523a55cfb0adb83cf4db76a4e4c65e785b706e 100644 --- a/include/obj/NiTransformInterpolator.h +++ b/include/obj/NiTransformInterpolator.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiTriBasedGeom.h b/include/obj/NiTriBasedGeom.h index 350d94a60582da80285223f5ce00183bb7bfa859..62bd716a91e54d8b7bce82539d972ebb47d7527e 100644 --- a/include/obj/NiTriBasedGeom.h +++ b/include/obj/NiTriBasedGeom.h @@ -38,7 +38,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiTriBasedGeomData.h b/include/obj/NiTriBasedGeomData.h index 9bcec05fea9b0115204365d1d219cb0741865465..8c61d2c88d60f1894331f9ac2458190f31990fb4 100644 --- a/include/obj/NiTriBasedGeomData.h +++ b/include/obj/NiTriBasedGeomData.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiTriShape.h b/include/obj/NiTriShape.h index 59ed973ab6a7fb6910bc680d3118e97a2231f90c..625e5830bcfc54856586631db0de834610a85b42 100644 --- a/include/obj/NiTriShape.h +++ b/include/obj/NiTriShape.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiTriShapeData.h b/include/obj/NiTriShapeData.h index 87d7b9735cce9c8b0a5bf547335541cd2bad76e9..3885671389cfd40f65c435193ea0720fe5ef2c33 100644 --- a/include/obj/NiTriShapeData.h +++ b/include/obj/NiTriShapeData.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; public: diff --git a/include/obj/NiTriStrips.h b/include/obj/NiTriStrips.h index 881327a240e13aae421655293d745b521ed27c0a..68a6f1596a694cb4e415faaa44082cc260068827 100644 --- a/include/obj/NiTriStrips.h +++ b/include/obj/NiTriStrips.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiTriStripsData.h b/include/obj/NiTriStripsData.h index 1c9a315fc1be4bb20b8c4d4441d54ff6bcc88067..6afc5c2e674a9b7c7c5011a115648a58d326d5de 100644 --- a/include/obj/NiTriStripsData.h +++ b/include/obj/NiTriStripsData.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiUVController.h b/include/obj/NiUVController.h index 3f2f868f8c3c077bade221f7ab176f2f4fce88e7..8839f63f182b15f5b5183349b0e7031276e6dc4b 100644 --- a/include/obj/NiUVController.h +++ b/include/obj/NiUVController.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiUVData.h b/include/obj/NiUVData.h index 7861801076499daf3fe2ec973c5e3fd0cf9eee24..00dd9c7937b19ac5a9d11d7095e9b859468ba840 100644 --- a/include/obj/NiUVData.h +++ b/include/obj/NiUVData.h @@ -31,7 +31,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiVectorExtraData.h b/include/obj/NiVectorExtraData.h index a68b8cd82346d914cdd819e16ec0e4142e869d45..3a95ba05f1637a8951121511b01c859e8cf24d3f 100644 --- a/include/obj/NiVectorExtraData.h +++ b/include/obj/NiVectorExtraData.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiVertWeightsExtraData.h b/include/obj/NiVertWeightsExtraData.h index e8bf76824f63c98667cce945e13424e0e2f56450..6447edbaf51e1e6a62ef7a69db8163128f9c5b95 100644 --- a/include/obj/NiVertWeightsExtraData.h +++ b/include/obj/NiVertWeightsExtraData.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiVertexColorProperty.h b/include/obj/NiVertexColorProperty.h index 8d8847fba5bdf906a8913569c755e9fbffaa423b..3f68511a045392c01f3a64e56276b34687fed9dd 100644 --- a/include/obj/NiVertexColorProperty.h +++ b/include/obj/NiVertexColorProperty.h @@ -32,7 +32,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiVisController.h b/include/obj/NiVisController.h index cf2d07d74d4c6a92a41e20c5f477028b56cf84c4..4d6c85bf3a749d6d9d0d618c8ce1d13505ca075e 100644 --- a/include/obj/NiVisController.h +++ b/include/obj/NiVisController.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiVisData.h b/include/obj/NiVisData.h index 79b8a0c870239995e04a59b566ac02e3910cbadd..27228ed43c549c406f06feeb799ed408be5d244f 100644 --- a/include/obj/NiVisData.h +++ b/include/obj/NiVisData.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiWireframeProperty.h b/include/obj/NiWireframeProperty.h index 921ce33de23ab27853222904677c97b563c977af..d45bae86df7b47fb38dc62d8112631e54ae15bbc 100644 --- a/include/obj/NiWireframeProperty.h +++ b/include/obj/NiWireframeProperty.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/NiZBufferProperty.h b/include/obj/NiZBufferProperty.h index e21faa7749471d889a96d8779793d1de2b00fc27..2f47b77a14b51e094be7ddee2211b11602f1c55a 100644 --- a/include/obj/NiZBufferProperty.h +++ b/include/obj/NiZBufferProperty.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/RootCollisionNode.h b/include/obj/RootCollisionNode.h index b452ae3201fe8b64b84fc3f64831ba2b7e2686dc..d1389599bbd4649b874769e73f80a6be2441c959 100644 --- a/include/obj/RootCollisionNode.h +++ b/include/obj/RootCollisionNode.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkBlendCollisionObject.h b/include/obj/bhkBlendCollisionObject.h index aabb57288b82b115d1c5f9b480aa7b00166ca133..dcb70b8327920652191993b8645724a577c587f2 100644 --- a/include/obj/bhkBlendCollisionObject.h +++ b/include/obj/bhkBlendCollisionObject.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkBlendController.h b/include/obj/bhkBlendController.h index b7d2fa8b6ea9fe25112cbe99e48d56fe5d8d4dbe..edd24b05fb5fc46cc34440f95430a10d49ba5f37 100644 --- a/include/obj/bhkBlendController.h +++ b/include/obj/bhkBlendController.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkBoxShape.h b/include/obj/bhkBoxShape.h index 4e1bb6e62f0bc60de169bca4e239520fbdd15c7c..6d35075a242ef4f93386717aa57ab4b918c82efc 100644 --- a/include/obj/bhkBoxShape.h +++ b/include/obj/bhkBoxShape.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkCapsuleShape.h b/include/obj/bhkCapsuleShape.h index 49be185ebaa3d1d04ece3885694f34077a3c30d4..b2cb2fe3473fcb2148733bede9d195419b78c8f0 100644 --- a/include/obj/bhkCapsuleShape.h +++ b/include/obj/bhkCapsuleShape.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkCollisionObject.h b/include/obj/bhkCollisionObject.h index 58dcbfd7e44e1ec1bcdffa774fb65e589964daee..07ac152da182848eaba0b6d5bdeb45a37a251c45 100644 --- a/include/obj/bhkCollisionObject.h +++ b/include/obj/bhkCollisionObject.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkConvexShape.h b/include/obj/bhkConvexShape.h index dd9f70bb39beeedae7997bde0b3d8502b04ef7d1..ad67cb2f1a30177704e7c6fac77a17ed5ffe86b2 100644 --- a/include/obj/bhkConvexShape.h +++ b/include/obj/bhkConvexShape.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkConvexTransformShape.h b/include/obj/bhkConvexTransformShape.h index 075716179efd2b0fec7f408186c19c51d9798d17..2a7ec917ec239a8a559aa605bdee8d471f7b8e53 100644 --- a/include/obj/bhkConvexTransformShape.h +++ b/include/obj/bhkConvexTransformShape.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkConvexVerticesShape.h b/include/obj/bhkConvexVerticesShape.h index 962a3a4016a729494b20bcaeb7faed373b7a0a56..07fffb46e6e8c0fecbf0eaca1e73db8286993245 100644 --- a/include/obj/bhkConvexVerticesShape.h +++ b/include/obj/bhkConvexVerticesShape.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkEntity.h b/include/obj/bhkEntity.h index 303e8e9d2c3e28afddda648982741357af0173a4..0a97e97a3aadfb42b6c8b2fc912457e6a1f750d5 100644 --- a/include/obj/bhkEntity.h +++ b/include/obj/bhkEntity.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkHingeConstraint.h b/include/obj/bhkHingeConstraint.h index e55558bb766d45f5706c7bf40375fd4d1178cc69..31b984ceb8c9dec7c67093cd627b9aba462668ba 100644 --- a/include/obj/bhkHingeConstraint.h +++ b/include/obj/bhkHingeConstraint.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkLimitedHingeConstraint.h b/include/obj/bhkLimitedHingeConstraint.h index 050faafea5c3289a02c295c8f020afebc924e9de..de9d3fa3d1b897adc521d1b6aa8030637fa0f3c1 100644 --- a/include/obj/bhkLimitedHingeConstraint.h +++ b/include/obj/bhkLimitedHingeConstraint.h @@ -32,7 +32,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkListShape.h b/include/obj/bhkListShape.h index cf0f85fb405d3442bc7e48c52829c570786f217c..be79d4aabc1be8057237645850a16a3bf21d8761 100644 --- a/include/obj/bhkListShape.h +++ b/include/obj/bhkListShape.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkMalleableConstraint.h b/include/obj/bhkMalleableConstraint.h index af3b0bdf5b5b72114afa1797fd8a632c02643fdf..005a64e5ad3a527e450154afd858f7527a260717 100644 --- a/include/obj/bhkMalleableConstraint.h +++ b/include/obj/bhkMalleableConstraint.h @@ -36,7 +36,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkMoppBvTreeShape.h b/include/obj/bhkMoppBvTreeShape.h index e827533b9088cca0f2dccac605e8b3398f3ebdcb..29e517d8f1754ce96f503e80437429a61ee6a8ef 100644 --- a/include/obj/bhkMoppBvTreeShape.h +++ b/include/obj/bhkMoppBvTreeShape.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkMultiSphereShape.h b/include/obj/bhkMultiSphereShape.h index e0af13708420cc037f6fb8818e01d69cf91f9ca4..57c11a7b5da3fc97d75462ec25e7ceea00b209e1 100644 --- a/include/obj/bhkMultiSphereShape.h +++ b/include/obj/bhkMultiSphereShape.h @@ -31,7 +31,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkNiTriStripsShape.h b/include/obj/bhkNiTriStripsShape.h index 34fcf04483dd6017ae7ceaf7d13af36715db7008..6203877d2b49126b2662b1c9e82240ad4f6d0de1 100644 --- a/include/obj/bhkNiTriStripsShape.h +++ b/include/obj/bhkNiTriStripsShape.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkPackedNiTriStripsShape.h b/include/obj/bhkPackedNiTriStripsShape.h index be303c473a61524aea5cd89f69bf87add031df1b..7ef118d28913bae5a590dbd9f56d3168d9ecaf2c 100644 --- a/include/obj/bhkPackedNiTriStripsShape.h +++ b/include/obj/bhkPackedNiTriStripsShape.h @@ -34,7 +34,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkPrismaticConstraint.h b/include/obj/bhkPrismaticConstraint.h index 2b83db8737625cb28d57b296a662747bdabcc8b0..574fd8cf1c410de61248621c2d0907df5b9eaf49 100644 --- a/include/obj/bhkPrismaticConstraint.h +++ b/include/obj/bhkPrismaticConstraint.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkRagdollConstraint.h b/include/obj/bhkRagdollConstraint.h index adf6c69fc77246c7cb8f8ceb6b9a94c6fafed966..d6ca1cbd905e61d2a0511b774c74b130fa217e19 100644 --- a/include/obj/bhkRagdollConstraint.h +++ b/include/obj/bhkRagdollConstraint.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkRefObject.h b/include/obj/bhkRefObject.h index b128701677ba9de9a3b847b58d28f342b6c09bdd..84b8ae18981e48cd2d510df39b36a99b7a5b7a38 100644 --- a/include/obj/bhkRefObject.h +++ b/include/obj/bhkRefObject.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkRigidBody.h b/include/obj/bhkRigidBody.h index 27a024d2e6a4890325a5e27888c9c7cd29dbd234..ed5ccb6cf64c70ac83fb314e05c8d8689ae89193 100644 --- a/include/obj/bhkRigidBody.h +++ b/include/obj/bhkRigidBody.h @@ -35,7 +35,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkRigidBodyT.h b/include/obj/bhkRigidBodyT.h index cb3f2d291e71618ee0db1e700953b2bf8ffe8cf3..fd6a0f2ed5c9f36981329ebb822b6e58b7e73525 100644 --- a/include/obj/bhkRigidBodyT.h +++ b/include/obj/bhkRigidBodyT.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkSPCollisionObject.h b/include/obj/bhkSPCollisionObject.h index a65450c8e0e7605f5586e89215551006215cb501..bdd51302864760a13a1c67b8d88b471007724409 100644 --- a/include/obj/bhkSPCollisionObject.h +++ b/include/obj/bhkSPCollisionObject.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkSerializable.h b/include/obj/bhkSerializable.h index ca3d227c5bba3c96f58076332c268b23b8fcd00f..f11fe2b7d761e8da09f93d486ea69008626f292c 100644 --- a/include/obj/bhkSerializable.h +++ b/include/obj/bhkSerializable.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkShape.h b/include/obj/bhkShape.h index d41cc1fea2f4271cf67cd7af66d1e583df4c72e4..9e182115e473142a3aff21e6828da47b7725f721 100644 --- a/include/obj/bhkShape.h +++ b/include/obj/bhkShape.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkSimpleShapePhantom.h b/include/obj/bhkSimpleShapePhantom.h index a21f05133cf7b77e1765fa45e42dfc9eff5bdfa0..f5e9fdf1d5f2605fbed4c7939782ce28494043ae 100644 --- a/include/obj/bhkSimpleShapePhantom.h +++ b/include/obj/bhkSimpleShapePhantom.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkSphereRepShape.h b/include/obj/bhkSphereRepShape.h index 23b87bac73013a99c24a4516047b6f9b1d959a9d..7e04adb7ff5efb88bdc3983f974c0d3230f1480e 100644 --- a/include/obj/bhkSphereRepShape.h +++ b/include/obj/bhkSphereRepShape.h @@ -30,7 +30,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkSphereShape.h b/include/obj/bhkSphereShape.h index 2c687091782f900c8f27694a87485ff1f2689fb0..9263fcaadae8e366b605e333658f7e7ea564871c 100644 --- a/include/obj/bhkSphereShape.h +++ b/include/obj/bhkSphereShape.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkStiffSpringConstraint.h b/include/obj/bhkStiffSpringConstraint.h index df3221026fbbb64e657f72c441a0b576f6359d34..674de68af613b3343d005ed585cdb466e963ecc1 100644 --- a/include/obj/bhkStiffSpringConstraint.h +++ b/include/obj/bhkStiffSpringConstraint.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkTransformShape.h b/include/obj/bhkTransformShape.h index 9424b984ac36c8e0c4bb8e4b61acd44f05f86f4f..f7bb9e594fed04e93f127f7fa3ceb33a80874083 100644 --- a/include/obj/bhkTransformShape.h +++ b/include/obj/bhkTransformShape.h @@ -29,7 +29,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/bhkWorldObject.h b/include/obj/bhkWorldObject.h index 6e344c3a2e2efb8853e55255a8735742f8cd3859..8e273ab9be4e634a224cf21d6f23628c632a665b 100644 --- a/include/obj/bhkWorldObject.h +++ b/include/obj/bhkWorldObject.h @@ -28,7 +28,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/include/obj/hkPackedNiTriStripsData.h b/include/obj/hkPackedNiTriStripsData.h index ea7013b3408af8028618eee28da0517bd13694f3..b7ce0133e8582fc065c769eb934c0515a5a202f7 100644 --- a/include/obj/hkPackedNiTriStripsData.h +++ b/include/obj/hkPackedNiTriStripsData.h @@ -32,7 +32,7 @@ public: virtual void Read( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual void Write( ostream& out, map<NiObjectRef,uint> link_map, unsigned int version, unsigned int user_version ) const; virtual string asString( bool verbose = false ) const; - virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); + virtual void FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ); virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; diff --git a/src/NIF_IO.cpp b/src/NIF_IO.cpp index 3e7001c38155784c542d40a1c81850a6c1d94411..53222bad2e9fee01a6ae9e1c5c97548e3e59613b 100644 --- a/src/NIF_IO.cpp +++ b/src/NIF_IO.cpp @@ -2,6 +2,7 @@ All rights reserved. Please see niflib.h for licence. */ #include "../include/NIF_IO.h" +#include "../include/niflib.h" namespace Niflib { int BlockSearch( istream& in ) { @@ -233,22 +234,35 @@ void NifStream( string const & val, ostream& out, uint version ) { WriteString( //--Structs--// //HeaderString -void NifStream( HeaderString & val, istream& in, uint version ) { - char tmp[64]; - in.getline( tmp, 64 ); +void NifStream( HeaderString & val, istream& in, uint & version ) { + char tmp[256]; + in.getline( tmp, 256 ); val.header = tmp; - // make sure this is a NIF file - if ( ( val.header.substr(0, 22) != "NetImmerse File Format" ) - && ( val.header.substr(0, 20) != "Gamebryo File Format" ) ) - throw runtime_error("Not a NIF file."); - - // detect old versions - if ( ( val.header == "NetImmerse File Format, Version 3.1" ) - || ( val.header == "NetImmerse File Format, Version 3.03" ) - || ( val.header == "NetImmerse File Format, Version 3.0" ) - || ( val.header == "NetImmerse File Format, Version 2.3" ) ) - throw runtime_error("Unsupported: " + val.header); + // make sure this is a NIF file + unsigned ver_start = 0; + if ( val.header.substr(0, 22) == "NetImmerse File Format" ) { + ver_start = 32; + } else if ( val.header.substr(0, 20) == "Gamebryo File Format" ) { + ver_start = 30; + } else { + //Not a NIF file + version = VER_INVALID; + } + + //Parse version string and return result. + version = ParseVersionString( val.header.substr( ver_start ) ); + + //Temporarily read the next 3 strings if this is a < 4 file + if ( version < VER_4_0_0_0 ) { + in.getline( tmp, 256 ); + in.getline( tmp, 256 ); + in.getline( tmp, 256 ); + } + + //if ( version < VER_4_0_0_0 ) { + // throw runtime_error("NIF Versions below 4.0.0.0 are not yet supported"); + //} }; void NifStream( HeaderString const & val, ostream& out, uint version ) { diff --git a/src/gen/Header.cpp b/src/gen/Header.cpp index 7dbfe23afb5ea0fa4a5c6bfc11bf02d9491c5d82..6a192a85afdd8215a8112a2a1bfea21970b40b74 100644 --- a/src/gen/Header.cpp +++ b/src/gen/Header.cpp @@ -11,14 +11,18 @@ Header::Header() : version((uint)0x04000002), endianType((byte)1), userVersion(( Header::~Header() {}; void Header::Read( istream& in ) { NifStream( headerString, in, version ); - NifStream( version, in, version ); + if ( version >= 0x04000000 ) { + NifStream( version, in, version ); + }; if ( version >= 0x14000004 ) { NifStream( endianType, in, version ); }; if ( version >= 0x0A010000 ) { NifStream( userVersion, in, version ); }; - NifStream( numBlocks, in, version ); + if ( version >= 0x04000000 ) { + NifStream( numBlocks, in, version ); + }; if ( ( version >= 0x0A000102 ) && ( version <= 0x0A000102 ) ) { NifStream( unknownInt1, in, version ); }; @@ -52,14 +56,18 @@ void Header::Write( ostream& out ) const { numBlockTypes = ushort(blockTypes.size()); numBlocks = uint(blockTypeIndex.size()); NifStream( headerString, out, version ); - NifStream( version, out, version ); + if ( version >= 0x04000000 ) { + NifStream( version, out, version ); + }; if ( version >= 0x14000004 ) { NifStream( endianType, out, version ); }; if ( version >= 0x0A010000 ) { NifStream( userVersion, out, version ); }; - NifStream( numBlocks, out, version ); + if ( version >= 0x04000000 ) { + NifStream( numBlocks, out, version ); + }; if ( ( version >= 0x0A000102 ) && ( version <= 0x0A000102 ) ) { NifStream( unknownInt1, out, version ); }; diff --git a/src/gen/obj_impl.cpp b/src/gen/obj_impl.cpp index 0c257b9c7cfa498c18385e27c7b8f2f0eab1847a..0b3e2d106b622f300549c01ca394e5072f5f30cc 100644 --- a/src/gen/obj_impl.cpp +++ b/src/gen/obj_impl.cpp @@ -188,6 +188,36 @@ using namespace std; #include "../../include/obj/NiZBufferProperty.h" #include "../../include/obj/RootCollisionNode.h" +const char FIX_LINK_POP_ERROR[] = "Trying to pop a link from empty stack. This is probably a bug."; +const char FIX_LINK_INDEX_ERROR[] = "Object index was not found in object map. This NIF file may be invalid or imporperly supported."; +const char FIX_LINK_CAST_ERROR[] = "Link could not be cast to required type during file read. This NIF file may be invalid or improperly supported."; + +template <class T> +Ref<T> FixLink( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned version ) { + if (link_stack.empty()) { + throw runtime_error(FIX_LINK_POP_ERROR); + } + unsigned index = link_stack.front(); + link_stack.pop_front(); + + //Check if link is NULL + if ( index == 0xFFFFFFFF) { + return NULL; + } + + map<unsigned,NiObjectRef>::const_iterator it = objects.find(index); + if ( it == objects.end() ) { + throw runtime_error(FIX_LINK_INDEX_ERROR); + } + + Ref<T> object = DynamicCast<T>(it->second); + if ( object == NULL ) { + throw runtime_error(FIX_LINK_CAST_ERROR); + } + + return object; +} + void NiObject::InternalRead( istream& in, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { } @@ -199,7 +229,7 @@ std::string NiObject::InternalAsString( bool verbose ) const { return out.str(); } -void NiObject::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiObject::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { } std::list<NiObjectRef> NiObject::InternalGetRefs() const { @@ -221,7 +251,7 @@ std::string AKeyedData::InternalAsString( bool verbose ) const { return out.str(); } -void AKeyedData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void AKeyedData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); } @@ -260,26 +290,10 @@ std::string AParticleModifier::InternalAsString( bool verbose ) const { return out.str(); } -void AParticleModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void AParticleModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - nextModifier = DynamicCast<AParticleModifier>(objects[link_stack.front()]); - if ( nextModifier == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - nextModifier = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - controller = DynamicCast<NiParticleSystemController>(objects[link_stack.front()]); - if ( controller == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - controller = NULL; - link_stack.pop_front(); + nextModifier = FixLink<AParticleModifier>( objects, link_stack, version ); + controller = FixLink<NiParticleSystemController>( objects, link_stack, version ); } std::list<NiObjectRef> AParticleModifier::InternalGetRefs() const { @@ -304,7 +318,7 @@ std::string bhkRefObject::InternalAsString( bool verbose ) const { return out.str(); } -void bhkRefObject::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkRefObject::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); } @@ -328,7 +342,7 @@ std::string bhkSerializable::InternalAsString( bool verbose ) const { return out.str(); } -void bhkSerializable::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkSerializable::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkRefObject::FixLinks( objects, link_stack, version, user_version ); } @@ -379,18 +393,10 @@ std::string AbhkConstraint::InternalAsString( bool verbose ) const { return out.str(); } -void AbhkConstraint::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void AbhkConstraint::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkSerializable::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < bodies.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - bodies[i1] = DynamicCast<bhkShape>(objects[link_stack.front()]); - if ( bodies[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - bodies[i1] = NULL; - link_stack.pop_front(); + bodies[i1] = FixLink<bhkShape>( objects, link_stack, version ); }; } @@ -452,7 +458,7 @@ std::string AbhkRagdollConstraint::InternalAsString( bool verbose ) const { return out.str(); } -void AbhkRagdollConstraint::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void AbhkRagdollConstraint::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AbhkConstraint::FixLinks( objects, link_stack, version, user_version ); } @@ -476,7 +482,7 @@ std::string bhkShape::InternalAsString( bool verbose ) const { return out.str(); } -void bhkShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkSerializable::FixLinks( objects, link_stack, version, user_version ); } @@ -500,7 +506,7 @@ std::string AbhkShapeCollection::InternalAsString( bool verbose ) const { return out.str(); } -void AbhkShapeCollection::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void AbhkShapeCollection::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkShape::FixLinks( objects, link_stack, version, user_version ); } @@ -527,7 +533,7 @@ std::string bhkSphereRepShape::InternalAsString( bool verbose ) const { return out.str(); } -void bhkSphereRepShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkSphereRepShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkShape::FixLinks( objects, link_stack, version, user_version ); } @@ -551,7 +557,7 @@ std::string bhkConvexShape::InternalAsString( bool verbose ) const { return out.str(); } -void bhkConvexShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkConvexShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkSphereRepShape::FixLinks( objects, link_stack, version, user_version ); } @@ -575,7 +581,7 @@ std::string bhkWorldObject::InternalAsString( bool verbose ) const { return out.str(); } -void bhkWorldObject::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkWorldObject::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkShape::FixLinks( objects, link_stack, version, user_version ); } @@ -616,17 +622,9 @@ std::string bhkEntity::InternalAsString( bool verbose ) const { return out.str(); } -void bhkEntity::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkEntity::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkWorldObject::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - shape = DynamicCast<bhkShape>(objects[link_stack.front()]); - if ( shape == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - shape = NULL; - link_stack.pop_front(); + shape = FixLink<bhkShape>( objects, link_stack, version ); } std::list<NiObjectRef> bhkEntity::InternalGetRefs() const { @@ -669,26 +667,10 @@ std::string NiCollisionObject::InternalAsString( bool verbose ) const { return out.str(); } -void NiCollisionObject::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiCollisionObject::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - parent = DynamicCast<NiAVObject>(objects[link_stack.front()]); - if ( parent == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - parent = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - body = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( body == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - body = NULL; - link_stack.pop_front(); + parent = FixLink<NiAVObject>( objects, link_stack, version ); + body = FixLink<NiObject>( objects, link_stack, version ); } std::list<NiObjectRef> NiCollisionObject::InternalGetRefs() const { @@ -732,18 +714,10 @@ std::string NiExtraData::InternalAsString( bool verbose ) const { return out.str(); } -void NiExtraData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiExtraData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); if ( version <= 0x04020200 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - nextExtraData = DynamicCast<NiExtraData>(objects[link_stack.front()]); - if ( nextExtraData == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - nextExtraData = NULL; - link_stack.pop_front(); + nextExtraData = FixLink<NiExtraData>( objects, link_stack, version ); }; } @@ -769,7 +743,7 @@ std::string NiInterpolator::InternalAsString( bool verbose ) const { return out.str(); } -void NiInterpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiInterpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); } @@ -799,7 +773,7 @@ std::string NiBlendInterpolator::InternalAsString( bool verbose ) const { return out.str(); } -void NiBlendInterpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBlendInterpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiInterpolator::FixLinks( objects, link_stack, version, user_version ); } @@ -844,26 +818,10 @@ std::string NiBSplineInterpolator::InternalAsString( bool verbose ) const { return out.str(); } -void NiBSplineInterpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSplineInterpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiInterpolator::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - splineData = DynamicCast<NiBSplineData>(objects[link_stack.front()]); - if ( splineData == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - splineData = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - basisData = DynamicCast<NiBSplineBasisData>(objects[link_stack.front()]); - if ( basisData == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - basisData = NULL; - link_stack.pop_front(); + splineData = FixLink<NiBSplineData>( objects, link_stack, version ); + basisData = FixLink<NiBSplineBasisData>( objects, link_stack, version ); } std::list<NiObjectRef> NiBSplineInterpolator::InternalGetRefs() const { @@ -939,41 +897,17 @@ std::string NiObjectNET::InternalAsString( bool verbose ) const { return out.str(); } -void NiObjectNET::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiObjectNET::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); if ( version <= 0x04020200 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - extraData = DynamicCast<NiExtraData>(objects[link_stack.front()]); - if ( extraData == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - extraData = NULL; - link_stack.pop_front(); + extraData = FixLink<NiExtraData>( objects, link_stack, version ); }; if ( version >= 0x0A000100 ) { for (uint i2 = 0; i2 < extraDataList.size(); i2++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - extraDataList[i2] = DynamicCast<NiExtraData>(objects[link_stack.front()]); - if ( extraDataList[i2] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - extraDataList[i2] = NULL; - link_stack.pop_front(); - }; - }; - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - controller = DynamicCast<NiTimeController>(objects[link_stack.front()]); - if ( controller == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - controller = NULL; - link_stack.pop_front(); + extraDataList[i2] = FixLink<NiExtraData>( objects, link_stack, version ); + }; + }; + controller = FixLink<NiTimeController>( objects, link_stack, version ); } std::list<NiObjectRef> NiObjectNET::InternalGetRefs() const { @@ -1094,40 +1028,16 @@ std::string NiAVObject::InternalAsString( bool verbose ) const { return out.str(); } -void NiAVObject::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiAVObject::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObjectNET::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < properties.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - properties[i1] = DynamicCast<NiProperty>(objects[link_stack.front()]); - if ( properties[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - properties[i1] = NULL; - link_stack.pop_front(); + properties[i1] = FixLink<NiProperty>( objects, link_stack, version ); }; if ( ( version >= 0x0A000100 ) && ( version <= 0x0A020000 ) ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - collisionData = DynamicCast<NiCollisionData>(objects[link_stack.front()]); - if ( collisionData == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - collisionData = NULL; - link_stack.pop_front(); + collisionData = FixLink<NiCollisionData>( objects, link_stack, version ); }; if ( version >= 0x14000004 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - collisionObject = DynamicCast<NiCollisionObject>(objects[link_stack.front()]); - if ( collisionObject == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - collisionObject = NULL; - link_stack.pop_front(); + collisionObject = FixLink<NiCollisionObject>( objects, link_stack, version ); }; } @@ -1212,19 +1122,11 @@ std::string NiDynamicEffect::InternalAsString( bool verbose ) const { return out.str(); } -void NiDynamicEffect::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiDynamicEffect::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiAVObject::FixLinks( objects, link_stack, version, user_version ); if ( version >= 0x0A010000 ) { for (uint i2 = 0; i2 < affectedNodes.size(); i2++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - affectedNodes[i2] = DynamicCast<NiAVObject>(objects[link_stack.front()]); - if ( affectedNodes[i2] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - affectedNodes[i2] = NULL; - link_stack.pop_front(); + affectedNodes[i2] = FixLink<NiAVObject>( objects, link_stack, version ); }; }; } @@ -1265,7 +1167,7 @@ std::string NiLight::InternalAsString( bool verbose ) const { return out.str(); } -void NiLight::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiLight::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiDynamicEffect::FixLinks( objects, link_stack, version, user_version ); } @@ -1289,7 +1191,7 @@ std::string NiProperty::InternalAsString( bool verbose ) const { return out.str(); } -void NiProperty::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiProperty::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObjectNET::FixLinks( objects, link_stack, version, user_version ); } @@ -1330,17 +1232,9 @@ std::string NiPSysModifier::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - target = DynamicCast<NiParticleSystem>(objects[link_stack.front()]); - if ( target == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - target = NULL; - link_stack.pop_front(); + target = FixLink<NiParticleSystem>( objects, link_stack, version ); } std::list<NiObjectRef> NiPSysModifier::InternalGetRefs() const { @@ -1396,7 +1290,7 @@ std::string NiPSysEmitter::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysEmitter::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitter::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysModifier::FixLinks( objects, link_stack, version, user_version ); } @@ -1432,18 +1326,10 @@ std::string NiPSysVolumeEmitter::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysVolumeEmitter::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysVolumeEmitter::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysEmitter::FixLinks( objects, link_stack, version, user_version ); if ( version >= 0x14000004 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - emitterObject = DynamicCast<NiNode>(objects[link_stack.front()]); - if ( emitterObject == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - emitterObject = NULL; - link_stack.pop_front(); + emitterObject = FixLink<NiNode>( objects, link_stack, version ); }; } @@ -1497,26 +1383,10 @@ std::string NiTimeController::InternalAsString( bool verbose ) const { return out.str(); } -void NiTimeController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTimeController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - nextController = DynamicCast<NiTimeController>(objects[link_stack.front()]); - if ( nextController == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - nextController = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - target = DynamicCast<NiObjectNET>(objects[link_stack.front()]); - if ( target == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - target = NULL; - link_stack.pop_front(); + nextController = FixLink<NiTimeController>( objects, link_stack, version ); + target = FixLink<NiObjectNET>( objects, link_stack, version ); } std::list<NiObjectRef> NiTimeController::InternalGetRefs() const { @@ -1583,19 +1453,11 @@ std::string ABoneLODController::InternalAsString( bool verbose ) const { return out.str(); } -void ABoneLODController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void ABoneLODController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < nodeGroups.size(); i1++) { for (uint i2 = 0; i2 < nodeGroups[i1].nodes.size(); i2++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - nodeGroups[i1].nodes[i2] = DynamicCast<NiNode>(objects[link_stack.front()]); - if ( nodeGroups[i1].nodes[i2] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - nodeGroups[i1].nodes[i2] = NULL; - link_stack.pop_front(); + nodeGroups[i1].nodes[i2] = FixLink<NiNode>( objects, link_stack, version ); }; }; } @@ -1638,18 +1500,10 @@ std::string NiSingleInterpolatorController::InternalAsString( bool verbose ) con return out.str(); } -void NiSingleInterpolatorController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSingleInterpolatorController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); if ( version >= 0x0A020000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - interpolator = DynamicCast<NiInterpolator>(objects[link_stack.front()]); - if ( interpolator == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - interpolator = NULL; - link_stack.pop_front(); + interpolator = FixLink<NiInterpolator>( objects, link_stack, version ); }; } @@ -1678,7 +1532,7 @@ std::string APSysCtlr::InternalAsString( bool verbose ) const { return out.str(); } -void APSysCtlr::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void APSysCtlr::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiSingleInterpolatorController::FixLinks( objects, link_stack, version, user_version ); } @@ -1740,37 +1594,13 @@ std::string NiTriBasedGeom::InternalAsString( bool verbose ) const { return out.str(); } -void NiTriBasedGeom::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTriBasedGeom::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiAVObject::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiTriBasedGeomData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - skinInstance = DynamicCast<NiSkinInstance>(objects[link_stack.front()]); - if ( skinInstance == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - skinInstance = NULL; - link_stack.pop_front(); + data = FixLink<NiTriBasedGeomData>( objects, link_stack, version ); + skinInstance = FixLink<NiSkinInstance>( objects, link_stack, version ); if ( version >= 0x0A000100 ) { if ( (hasShader != 0) ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( unknownLink == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink = NULL; - link_stack.pop_front(); + unknownLink = FixLink<NiObject>( objects, link_stack, version ); }; }; } @@ -2017,18 +1847,10 @@ std::string NiTriBasedGeomData::InternalAsString( bool verbose ) const { return out.str(); } -void NiTriBasedGeomData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTriBasedGeomData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); if ( version >= 0x14000004 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( unknownLink == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink = NULL; - link_stack.pop_front(); + unknownLink = FixLink<NiObject>( objects, link_stack, version ); }; } @@ -2106,7 +1928,7 @@ std::string APSysData::InternalAsString( bool verbose ) const { return out.str(); } -void APSysData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void APSysData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTriBasedGeomData::FixLinks( objects, link_stack, version, user_version ); } @@ -2136,7 +1958,7 @@ std::string bhkBlendCollisionObject::InternalAsString( bool verbose ) const { return out.str(); } -void bhkBlendCollisionObject::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkBlendCollisionObject::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiCollisionObject::FixLinks( objects, link_stack, version, user_version ); } @@ -2163,7 +1985,7 @@ std::string bhkBlendController::InternalAsString( bool verbose ) const { return out.str(); } -void bhkBlendController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkBlendController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); } @@ -2208,7 +2030,7 @@ std::string bhkBoxShape::InternalAsString( bool verbose ) const { return out.str(); } -void bhkBoxShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkBoxShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkConvexShape::FixLinks( objects, link_stack, version, user_version ); } @@ -2259,7 +2081,7 @@ std::string bhkCapsuleShape::InternalAsString( bool verbose ) const { return out.str(); } -void bhkCapsuleShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkCapsuleShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkConvexShape::FixLinks( objects, link_stack, version, user_version ); } @@ -2283,7 +2105,7 @@ std::string bhkCollisionObject::InternalAsString( bool verbose ) const { return out.str(); } -void bhkCollisionObject::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkCollisionObject::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiCollisionObject::FixLinks( objects, link_stack, version, user_version ); } @@ -2358,7 +2180,7 @@ std::string bhkConvexVerticesShape::InternalAsString( bool verbose ) const { return out.str(); } -void bhkConvexVerticesShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkConvexVerticesShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkSphereRepShape::FixLinks( objects, link_stack, version, user_version ); } @@ -2401,7 +2223,7 @@ std::string bhkHingeConstraint::InternalAsString( bool verbose ) const { return out.str(); } -void bhkHingeConstraint::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkHingeConstraint::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AbhkConstraint::FixLinks( objects, link_stack, version, user_version ); } @@ -2455,7 +2277,7 @@ std::string bhkLimitedHingeConstraint::InternalAsString( bool verbose ) const { return out.str(); } -void bhkLimitedHingeConstraint::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkLimitedHingeConstraint::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AbhkConstraint::FixLinks( objects, link_stack, version, user_version ); } @@ -2538,18 +2360,10 @@ std::string bhkListShape::InternalAsString( bool verbose ) const { return out.str(); } -void bhkListShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkListShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AbhkShapeCollection::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < subShapes.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - subShapes[i1] = DynamicCast<bhkShape>(objects[link_stack.front()]); - if ( subShapes[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - subShapes[i1] = NULL; - link_stack.pop_front(); + subShapes[i1] = FixLink<bhkShape>( objects, link_stack, version ); }; } @@ -2685,26 +2499,10 @@ std::string bhkMalleableConstraint::InternalAsString( bool verbose ) const { return out.str(); } -void bhkMalleableConstraint::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkMalleableConstraint::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AbhkConstraint::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink1 = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( unknownLink1 == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink1 = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink2 = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( unknownLink2 == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink2 = NULL; - link_stack.pop_front(); + unknownLink1 = FixLink<NiObject>( objects, link_stack, version ); + unknownLink2 = FixLink<NiObject>( objects, link_stack, version ); } std::list<NiObjectRef> bhkMalleableConstraint::InternalGetRefs() const { @@ -2783,17 +2581,9 @@ std::string bhkMoppBvTreeShape::InternalAsString( bool verbose ) const { return out.str(); } -void bhkMoppBvTreeShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkMoppBvTreeShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkShape::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - shape = DynamicCast<bhkShape>(objects[link_stack.front()]); - if ( shape == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - shape = NULL; - link_stack.pop_front(); + shape = FixLink<bhkShape>( objects, link_stack, version ); } std::list<NiObjectRef> bhkMoppBvTreeShape::InternalGetRefs() const { @@ -2845,7 +2635,7 @@ std::string bhkMultiSphereShape::InternalAsString( bool verbose ) const { return out.str(); } -void bhkMultiSphereShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkMultiSphereShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkSphereRepShape::FixLinks( objects, link_stack, version, user_version ); } @@ -2940,18 +2730,10 @@ std::string bhkNiTriStripsShape::InternalAsString( bool verbose ) const { return out.str(); } -void bhkNiTriStripsShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkNiTriStripsShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkSphereRepShape::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < stripsData.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - stripsData[i1] = DynamicCast<NiTriStripsData>(objects[link_stack.front()]); - if ( stripsData[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - stripsData[i1] = NULL; - link_stack.pop_front(); + stripsData[i1] = FixLink<NiTriStripsData>( objects, link_stack, version ); }; } @@ -3041,17 +2823,9 @@ std::string bhkPackedNiTriStripsShape::InternalAsString( bool verbose ) const { return out.str(); } -void bhkPackedNiTriStripsShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkPackedNiTriStripsShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AbhkShapeCollection::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<hkPackedNiTriStripsData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<hkPackedNiTriStripsData>( objects, link_stack, version ); } std::list<NiObjectRef> bhkPackedNiTriStripsShape::InternalGetRefs() const { @@ -3102,7 +2876,7 @@ std::string bhkPrismaticConstraint::InternalAsString( bool verbose ) const { return out.str(); } -void bhkPrismaticConstraint::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkPrismaticConstraint::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AbhkConstraint::FixLinks( objects, link_stack, version, user_version ); } @@ -3126,7 +2900,7 @@ std::string bhkRagdollConstraint::InternalAsString( bool verbose ) const { return out.str(); } -void bhkRagdollConstraint::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkRagdollConstraint::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AbhkRagdollConstraint::FixLinks( objects, link_stack, version, user_version ); } @@ -3315,18 +3089,10 @@ std::string bhkRigidBody::InternalAsString( bool verbose ) const { return out.str(); } -void bhkRigidBody::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkRigidBody::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkEntity::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < constraints.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - constraints[i1] = DynamicCast<AbhkConstraint>(objects[link_stack.front()]); - if ( constraints[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - constraints[i1] = NULL; - link_stack.pop_front(); + constraints[i1] = FixLink<AbhkConstraint>( objects, link_stack, version ); }; } @@ -3354,7 +3120,7 @@ std::string bhkRigidBodyT::InternalAsString( bool verbose ) const { return out.str(); } -void bhkRigidBodyT::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkRigidBodyT::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkRigidBody::FixLinks( objects, link_stack, version, user_version ); } @@ -3413,7 +3179,7 @@ std::string bhkSimpleShapePhantom::InternalAsString( bool verbose ) const { return out.str(); } -void bhkSimpleShapePhantom::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkSimpleShapePhantom::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkEntity::FixLinks( objects, link_stack, version, user_version ); } @@ -3437,7 +3203,7 @@ std::string bhkSPCollisionObject::InternalAsString( bool verbose ) const { return out.str(); } -void bhkSPCollisionObject::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkSPCollisionObject::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiCollisionObject::FixLinks( objects, link_stack, version, user_version ); } @@ -3464,7 +3230,7 @@ std::string bhkSphereShape::InternalAsString( bool verbose ) const { return out.str(); } -void bhkSphereShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkSphereShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkConvexShape::FixLinks( objects, link_stack, version, user_version ); } @@ -3510,7 +3276,7 @@ std::string bhkStiffSpringConstraint::InternalAsString( bool verbose ) const { return out.str(); } -void bhkStiffSpringConstraint::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkStiffSpringConstraint::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AbhkConstraint::FixLinks( objects, link_stack, version, user_version ); } @@ -3546,7 +3312,7 @@ std::string bhkTransformShape::InternalAsString( bool verbose ) const { return out.str(); } -void bhkTransformShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkTransformShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkEntity::FixLinks( objects, link_stack, version, user_version ); } @@ -3570,7 +3336,7 @@ std::string bhkConvexTransformShape::InternalAsString( bool verbose ) const { return out.str(); } -void bhkConvexTransformShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkConvexTransformShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { bhkTransformShape::FixLinks( objects, link_stack, version, user_version ); } @@ -3600,7 +3366,7 @@ std::string BSBound::InternalAsString( bool verbose ) const { return out.str(); } -void BSBound::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void BSBound::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -3648,7 +3414,7 @@ std::string BSFurnitureMarker::InternalAsString( bool verbose ) const { return out.str(); } -void BSFurnitureMarker::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void BSFurnitureMarker::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -3675,7 +3441,7 @@ std::string BSParentVelocityModifier::InternalAsString( bool verbose ) const { return out.str(); } -void BSParentVelocityModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void BSParentVelocityModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysModifier::FixLinks( objects, link_stack, version, user_version ); } @@ -3699,7 +3465,7 @@ std::string BSPSysArrayEmitter::InternalAsString( bool verbose ) const { return out.str(); } -void BSPSysArrayEmitter::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void BSPSysArrayEmitter::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysVolumeEmitter::FixLinks( objects, link_stack, version, user_version ); } @@ -3726,7 +3492,7 @@ std::string BSXFlags::InternalAsString( bool verbose ) const { return out.str(); } -void BSXFlags::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void BSXFlags::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -3790,7 +3556,7 @@ std::string hkPackedNiTriStripsData::InternalAsString( bool verbose ) const { return out.str(); } -void hkPackedNiTriStripsData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void hkPackedNiTriStripsData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AbhkShapeCollection::FixLinks( objects, link_stack, version, user_version ); } @@ -3826,18 +3592,10 @@ std::string NiAlphaController::InternalAsString( bool verbose ) const { return out.str(); } -void NiAlphaController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiAlphaController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiSingleInterpolatorController::FixLinks( objects, link_stack, version, user_version ); if ( version <= 0x0A010000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiFloatData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiFloatData>( objects, link_stack, version ); }; } @@ -3869,7 +3627,7 @@ std::string NiAlphaProperty::InternalAsString( bool verbose ) const { return out.str(); } -void NiAlphaProperty::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiAlphaProperty::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiProperty::FixLinks( objects, link_stack, version, user_version ); } @@ -3893,7 +3651,7 @@ std::string NiAmbientLight::InternalAsString( bool verbose ) const { return out.str(); } -void NiAmbientLight::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiAmbientLight::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiLight::FixLinks( objects, link_stack, version, user_version ); } @@ -3968,7 +3726,7 @@ std::string NiAutoNormalParticlesData::InternalAsString( bool verbose ) const { return out.str(); } -void NiAutoNormalParticlesData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiAutoNormalParticlesData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTriBasedGeomData::FixLinks( objects, link_stack, version, user_version ); } @@ -4011,7 +3769,7 @@ std::string NiBinaryExtraData::InternalAsString( bool verbose ) const { return out.str(); } -void NiBinaryExtraData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBinaryExtraData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -4038,7 +3796,7 @@ std::string NiBlendBoolInterpolator::InternalAsString( bool verbose ) const { return out.str(); } -void NiBlendBoolInterpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBlendBoolInterpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiBlendInterpolator::FixLinks( objects, link_stack, version, user_version ); } @@ -4065,7 +3823,7 @@ std::string NiBlendFloatInterpolator::InternalAsString( bool verbose ) const { return out.str(); } -void NiBlendFloatInterpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBlendFloatInterpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiBlendInterpolator::FixLinks( objects, link_stack, version, user_version ); } @@ -4092,7 +3850,7 @@ std::string NiBlendPoint3Interpolator::InternalAsString( bool verbose ) const { return out.str(); } -void NiBlendPoint3Interpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBlendPoint3Interpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiBlendInterpolator::FixLinks( objects, link_stack, version, user_version ); } @@ -4116,7 +3874,7 @@ std::string NiBlendTransformInterpolator::InternalAsString( bool verbose ) const return out.str(); } -void NiBlendTransformInterpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBlendTransformInterpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiBlendInterpolator::FixLinks( objects, link_stack, version, user_version ); } @@ -4202,40 +3960,16 @@ std::string NiBoneLODController::InternalAsString( bool verbose ) const { return out.str(); } -void NiBoneLODController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBoneLODController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { ABoneLODController::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < shapeGroups1.size(); i1++) { for (uint i2 = 0; i2 < shapeGroups1[i1].linkPairs.size(); i2++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - shapeGroups1[i1].linkPairs[i2].shape = DynamicCast<NiTriShape>(objects[link_stack.front()]); - if ( shapeGroups1[i1].linkPairs[i2].shape == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - shapeGroups1[i1].linkPairs[i2].shape = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - shapeGroups1[i1].linkPairs[i2].skinInstance = DynamicCast<NiSkinInstance>(objects[link_stack.front()]); - if ( shapeGroups1[i1].linkPairs[i2].skinInstance == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - shapeGroups1[i1].linkPairs[i2].skinInstance = NULL; - link_stack.pop_front(); + shapeGroups1[i1].linkPairs[i2].shape = FixLink<NiTriShape>( objects, link_stack, version ); + shapeGroups1[i1].linkPairs[i2].skinInstance = FixLink<NiSkinInstance>( objects, link_stack, version ); }; }; for (uint i1 = 0; i1 < shapeGroups2.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - shapeGroups2[i1] = DynamicCast<NiTriShape>(objects[link_stack.front()]); - if ( shapeGroups2[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - shapeGroups2[i1] = NULL; - link_stack.pop_front(); + shapeGroups2[i1] = FixLink<NiTriShape>( objects, link_stack, version ); }; } @@ -4299,7 +4033,7 @@ std::string NiBoolData::InternalAsString( bool verbose ) const { return out.str(); } -void NiBoolData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBoolData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AKeyedData::FixLinks( objects, link_stack, version, user_version ); } @@ -4326,7 +4060,7 @@ std::string NiBooleanExtraData::InternalAsString( bool verbose ) const { return out.str(); } -void NiBooleanExtraData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBooleanExtraData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -4361,17 +4095,9 @@ std::string NiBoolInterpolator::InternalAsString( bool verbose ) const { return out.str(); } -void NiBoolInterpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBoolInterpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiInterpolator::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiBoolData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiBoolData>( objects, link_stack, version ); } std::list<NiObjectRef> NiBoolInterpolator::InternalGetRefs() const { @@ -4407,17 +4133,9 @@ std::string NiBoolTimelineInterpolator::InternalAsString( bool verbose ) const { return out.str(); } -void NiBoolTimelineInterpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBoolTimelineInterpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiInterpolator::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiBoolData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiBoolData>( objects, link_stack, version ); } std::list<NiObjectRef> NiBoolTimelineInterpolator::InternalGetRefs() const { @@ -4442,7 +4160,7 @@ std::string NiBSBoneLODController::InternalAsString( bool verbose ) const { return out.str(); } -void NiBSBoneLODController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSBoneLODController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { ABoneLODController::FixLinks( objects, link_stack, version, user_version ); } @@ -4469,7 +4187,7 @@ std::string NiBSplineBasisData::InternalAsString( bool verbose ) const { return out.str(); } -void NiBSplineBasisData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSplineBasisData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); } @@ -4506,7 +4224,7 @@ std::string NiBSplineCompFloatInterpolator::InternalAsString( bool verbose ) con return out.str(); } -void NiBSplineCompFloatInterpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSplineCompFloatInterpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiBSplineInterpolator::FixLinks( objects, link_stack, version, user_version ); } @@ -4543,7 +4261,7 @@ std::string NiBSplineCompPoint3Interpolator::InternalAsString( bool verbose ) co return out.str(); } -void NiBSplineCompPoint3Interpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSplineCompPoint3Interpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiBSplineInterpolator::FixLinks( objects, link_stack, version, user_version ); } @@ -4603,7 +4321,7 @@ std::string NiBSplineCompTransformInterpolator::InternalAsString( bool verbose ) return out.str(); } -void NiBSplineCompTransformInterpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSplineCompTransformInterpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiBSplineInterpolator::FixLinks( objects, link_stack, version, user_version ); } @@ -4649,7 +4367,7 @@ std::string NiBSplineData::InternalAsString( bool verbose ) const { return out.str(); } -void NiBSplineData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSplineData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); } @@ -4738,17 +4456,9 @@ std::string NiCamera::InternalAsString( bool verbose ) const { return out.str(); } -void NiCamera::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiCamera::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiAVObject::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink_ = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( unknownLink_ == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink_ = NULL; - link_stack.pop_front(); + unknownLink_ = FixLink<NiObject>( objects, link_stack, version ); } std::list<NiObjectRef> NiCamera::InternalGetRefs() const { @@ -4840,17 +4550,9 @@ std::string NiCollisionData::InternalAsString( bool verbose ) const { return out.str(); } -void NiCollisionData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiCollisionData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - targetNode = DynamicCast<NiNode>(objects[link_stack.front()]); - if ( targetNode == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - targetNode = NULL; - link_stack.pop_front(); + targetNode = FixLink<NiNode>( objects, link_stack, version ); } std::list<NiObjectRef> NiCollisionData::InternalGetRefs() const { @@ -4901,7 +4603,7 @@ std::string NiColorData::InternalAsString( bool verbose ) const { return out.str(); } -void NiColorData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiColorData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AKeyedData::FixLinks( objects, link_stack, version, user_version ); } @@ -4928,7 +4630,7 @@ std::string NiColorExtraData::InternalAsString( bool verbose ) const { return out.str(); } -void NiColorExtraData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiColorExtraData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -4986,28 +4688,12 @@ std::string NiControllerManager::InternalAsString( bool verbose ) const { return out.str(); } -void NiControllerManager::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiControllerManager::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < controllerSequences.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - controllerSequences[i1] = DynamicCast<NiControllerSequence>(objects[link_stack.front()]); - if ( controllerSequences[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - controllerSequences[i1] = NULL; - link_stack.pop_front(); - }; - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - objectPalette = DynamicCast<NiDefaultAVObjectPalette>(objects[link_stack.front()]); - if ( objectPalette == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - objectPalette = NULL; - link_stack.pop_front(); + controllerSequences[i1] = FixLink<NiControllerSequence>( objects, link_stack, version ); + }; + objectPalette = FixLink<NiDefaultAVObjectPalette>( objects, link_stack, version ); } std::list<NiObjectRef> NiControllerManager::InternalGetRefs() const { @@ -5295,106 +4981,34 @@ std::string NiControllerSequence::InternalAsString( bool verbose ) const { return out.str(); } -void NiControllerSequence::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiControllerSequence::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); if ( version <= 0x0A010000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - textKeys = DynamicCast<NiTextKeyExtraData>(objects[link_stack.front()]); - if ( textKeys == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - textKeys = NULL; - link_stack.pop_front(); + textKeys = FixLink<NiTextKeyExtraData>( objects, link_stack, version ); }; for (uint i1 = 0; i1 < controlledBlocks.size(); i1++) { if ( version <= 0x0A01006A ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - controlledBlocks[i1].controller = DynamicCast<NiTimeController>(objects[link_stack.front()]); - if ( controlledBlocks[i1].controller == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - controlledBlocks[i1].controller = NULL; - link_stack.pop_front(); + controlledBlocks[i1].controller = FixLink<NiTimeController>( objects, link_stack, version ); }; if ( version >= 0x0A020000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - controlledBlocks[i1].interpolator = DynamicCast<NiInterpolator>(objects[link_stack.front()]); - if ( controlledBlocks[i1].interpolator == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - controlledBlocks[i1].interpolator = NULL; - link_stack.pop_front(); + controlledBlocks[i1].interpolator = FixLink<NiInterpolator>( objects, link_stack, version ); }; if ( version >= 0x0A01006A ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - controlledBlocks[i1].controller = DynamicCast<NiTimeController>(objects[link_stack.front()]); - if ( controlledBlocks[i1].controller == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - controlledBlocks[i1].controller = NULL; - link_stack.pop_front(); + controlledBlocks[i1].controller = FixLink<NiTimeController>( objects, link_stack, version ); }; if ( ( version >= 0x0A01006A ) && ( version <= 0x0A01006A ) ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - controlledBlocks[i1].unknownLink2 = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( controlledBlocks[i1].unknownLink2 == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - controlledBlocks[i1].unknownLink2 = NULL; - link_stack.pop_front(); + controlledBlocks[i1].unknownLink2 = FixLink<NiObject>( objects, link_stack, version ); }; if ( version >= 0x0A020000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - controlledBlocks[i1].stringPalette = DynamicCast<NiStringPalette>(objects[link_stack.front()]); - if ( controlledBlocks[i1].stringPalette == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - controlledBlocks[i1].stringPalette = NULL; - link_stack.pop_front(); + controlledBlocks[i1].stringPalette = FixLink<NiStringPalette>( objects, link_stack, version ); }; }; if ( version >= 0x0A01006A ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - textKeys = DynamicCast<NiTextKeyExtraData>(objects[link_stack.front()]); - if ( textKeys == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - textKeys = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - manager = DynamicCast<NiControllerManager>(objects[link_stack.front()]); - if ( manager == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - manager = NULL; - link_stack.pop_front(); + textKeys = FixLink<NiTextKeyExtraData>( objects, link_stack, version ); + manager = FixLink<NiControllerManager>( objects, link_stack, version ); }; if ( version >= 0x0A020000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - stringPalette = DynamicCast<NiStringPalette>(objects[link_stack.front()]); - if ( stringPalette == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - stringPalette = NULL; - link_stack.pop_front(); + stringPalette = FixLink<NiStringPalette>( objects, link_stack, version ); }; } @@ -5458,18 +5072,10 @@ std::string NiDefaultAVObjectPalette::InternalAsString( bool verbose ) const { return out.str(); } -void NiDefaultAVObjectPalette::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiDefaultAVObjectPalette::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < objs.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - objs[i1].avObject = DynamicCast<NiAVObject>(objects[link_stack.front()]); - if ( objs[i1].avObject == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - objs[i1].avObject = NULL; - link_stack.pop_front(); + objs[i1].avObject = FixLink<NiAVObject>( objects, link_stack, version ); }; } @@ -5495,7 +5101,7 @@ std::string NiDirectionalLight::InternalAsString( bool verbose ) const { return out.str(); } -void NiDirectionalLight::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiDirectionalLight::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiLight::FixLinks( objects, link_stack, version, user_version ); } @@ -5522,7 +5128,7 @@ std::string NiDitherProperty::InternalAsString( bool verbose ) const { return out.str(); } -void NiDitherProperty::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiDitherProperty::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiProperty::FixLinks( objects, link_stack, version, user_version ); } @@ -5583,18 +5189,10 @@ std::string NiFlipController::InternalAsString( bool verbose ) const { return out.str(); } -void NiFlipController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiFlipController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiSingleInterpolatorController::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < sources.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - sources[i1] = DynamicCast<NiSourceTexture>(objects[link_stack.front()]); - if ( sources[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - sources[i1] = NULL; - link_stack.pop_front(); + sources[i1] = FixLink<NiSourceTexture>( objects, link_stack, version ); }; } @@ -5650,7 +5248,7 @@ std::string NiFloatData::InternalAsString( bool verbose ) const { return out.str(); } -void NiFloatData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiFloatData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AKeyedData::FixLinks( objects, link_stack, version, user_version ); } @@ -5677,7 +5275,7 @@ std::string NiFloatExtraData::InternalAsString( bool verbose ) const { return out.str(); } -void NiFloatExtraData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiFloatExtraData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -5716,18 +5314,10 @@ std::string NiFloatExtraDataController::InternalAsString( bool verbose ) const { return out.str(); } -void NiFloatExtraDataController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiFloatExtraDataController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); if ( version >= 0x14000004 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( unknownLink == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink = NULL; - link_stack.pop_front(); + unknownLink = FixLink<NiObject>( objects, link_stack, version ); }; } @@ -5764,17 +5354,9 @@ std::string NiFloatInterpolator::InternalAsString( bool verbose ) const { return out.str(); } -void NiFloatInterpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiFloatInterpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiInterpolator::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiFloatData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiFloatData>( objects, link_stack, version ); } std::list<NiObjectRef> NiFloatInterpolator::InternalGetRefs() const { @@ -5818,7 +5400,7 @@ std::string NiFloatsExtraData::InternalAsString( bool verbose ) const { return out.str(); } -void NiFloatsExtraData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiFloatsExtraData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -5851,7 +5433,7 @@ std::string NiFogProperty::InternalAsString( bool verbose ) const { return out.str(); } -void NiFogProperty::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiFogProperty::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiProperty::FixLinks( objects, link_stack, version, user_version ); } @@ -5950,28 +5532,12 @@ std::string NiGeomMorpherController::InternalAsString( bool verbose ) const { return out.str(); } -void NiGeomMorpherController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiGeomMorpherController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiMorphData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiMorphData>( objects, link_stack, version ); if ( version >= 0x0A01006A ) { for (uint i2 = 0; i2 < interpolators.size(); i2++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - interpolators[i2] = DynamicCast<NiInterpolator>(objects[link_stack.front()]); - if ( interpolators[i2] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - interpolators[i2] = NULL; - link_stack.pop_front(); + interpolators[i2] = FixLink<NiInterpolator>( objects, link_stack, version ); }; }; } @@ -6017,7 +5583,7 @@ std::string NiGravity::InternalAsString( bool verbose ) const { return out.str(); } -void NiGravity::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiGravity::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AParticleModifier::FixLinks( objects, link_stack, version, user_version ); } @@ -6044,7 +5610,7 @@ std::string NiIntegerExtraData::InternalAsString( bool verbose ) const { return out.str(); } -void NiIntegerExtraData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiIntegerExtraData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -6087,7 +5653,7 @@ std::string NiIntegersExtraData::InternalAsString( bool verbose ) const { return out.str(); } -void NiIntegersExtraData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiIntegersExtraData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -6119,17 +5685,9 @@ std::string NiKeyframeController::InternalAsString( bool verbose ) const { return out.str(); } -void NiKeyframeController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiKeyframeController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiKeyframeData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiKeyframeData>( objects, link_stack, version ); } std::list<NiObjectRef> NiKeyframeController::InternalGetRefs() const { @@ -6162,17 +5720,9 @@ std::string BSKeyframeController::InternalAsString( bool verbose ) const { return out.str(); } -void BSKeyframeController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void BSKeyframeController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiKeyframeController::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data2 = DynamicCast<NiKeyframeData>(objects[link_stack.front()]); - if ( data2 == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data2 = NULL; - link_stack.pop_front(); + data2 = FixLink<NiKeyframeData>( objects, link_stack, version ); } std::list<NiObjectRef> BSKeyframeController::InternalGetRefs() const { @@ -6336,7 +5886,7 @@ std::string NiKeyframeData::InternalAsString( bool verbose ) const { return out.str(); } -void NiKeyframeData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiKeyframeData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AKeyedData::FixLinks( objects, link_stack, version, user_version ); } @@ -6392,29 +5942,13 @@ std::string NiLightColorController::InternalAsString( bool verbose ) const { return out.str(); } -void NiLightColorController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiLightColorController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); if ( version <= 0x0A010000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiPosData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiPosData>( objects, link_stack, version ); }; if ( version >= 0x0A020000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - interpolator = DynamicCast<NiPoint3Interpolator>(objects[link_stack.front()]); - if ( interpolator == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - interpolator = NULL; - link_stack.pop_front(); + interpolator = FixLink<NiPoint3Interpolator>( objects, link_stack, version ); }; } @@ -6450,17 +5984,9 @@ std::string NiLightDimmerController::InternalAsString( bool verbose ) const { return out.str(); } -void NiLightDimmerController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiLightDimmerController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink = DynamicCast<NiInterpolator>(objects[link_stack.front()]); - if ( unknownLink == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink = NULL; - link_stack.pop_front(); + unknownLink = FixLink<NiInterpolator>( objects, link_stack, version ); } std::list<NiObjectRef> NiLightDimmerController::InternalGetRefs() const { @@ -6500,17 +6026,9 @@ std::string NiLookAtController::InternalAsString( bool verbose ) const { return out.str(); } -void NiLookAtController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiLookAtController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - lookAtNode = DynamicCast<NiNode>(objects[link_stack.front()]); - if ( lookAtNode == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - lookAtNode = NULL; - link_stack.pop_front(); + lookAtNode = FixLink<NiNode>( objects, link_stack, version ); } std::list<NiObjectRef> NiLookAtController::InternalGetRefs() const { @@ -6579,44 +6097,12 @@ std::string NiLookAtInterpolator::InternalAsString( bool verbose ) const { return out.str(); } -void NiLookAtInterpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiLookAtInterpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiInterpolator::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - lookAt = DynamicCast<NiNode>(objects[link_stack.front()]); - if ( lookAt == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - lookAt = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink1 = DynamicCast<NiPoint3Interpolator>(objects[link_stack.front()]); - if ( unknownLink1 == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink1 = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink2 = DynamicCast<NiFloatInterpolator>(objects[link_stack.front()]); - if ( unknownLink2 == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink2 = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink3 = DynamicCast<NiFloatInterpolator>(objects[link_stack.front()]); - if ( unknownLink3 == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink3 = NULL; - link_stack.pop_front(); + lookAt = FixLink<NiNode>( objects, link_stack, version ); + unknownLink1 = FixLink<NiPoint3Interpolator>( objects, link_stack, version ); + unknownLink2 = FixLink<NiFloatInterpolator>( objects, link_stack, version ); + unknownLink3 = FixLink<NiFloatInterpolator>( objects, link_stack, version ); } std::list<NiObjectRef> NiLookAtInterpolator::InternalGetRefs() const { @@ -6666,18 +6152,10 @@ std::string NiMaterialColorController::InternalAsString( bool verbose ) const { return out.str(); } -void NiMaterialColorController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiMaterialColorController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiSingleInterpolatorController::FixLinks( objects, link_stack, version, user_version ); if ( version <= 0x0A010000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiPosData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiPosData>( objects, link_stack, version ); }; } @@ -6728,7 +6206,7 @@ std::string NiMaterialProperty::InternalAsString( bool verbose ) const { return out.str(); } -void NiMaterialProperty::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiMaterialProperty::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiProperty::FixLinks( objects, link_stack, version, user_version ); } @@ -6902,42 +6380,18 @@ std::string NiMeshPSysData::InternalAsString( bool verbose ) const { return out.str(); } -void NiMeshPSysData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiMeshPSysData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { APSysData::FixLinks( objects, link_stack, version, user_version ); if ( version <= 0x14000004 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - modifier = DynamicCast<NiPSysModifier>(objects[link_stack.front()]); - if ( modifier == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - modifier = NULL; - link_stack.pop_front(); + modifier = FixLink<NiPSysModifier>( objects, link_stack, version ); }; if ( ( version >= 0x0A020000 ) && ( version <= 0x14000004 ) ) { for (uint i2 = 0; i2 < unknownLinks.size(); i2++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLinks[i2] = DynamicCast<NiPSysModifier>(objects[link_stack.front()]); - if ( unknownLinks[i2] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLinks[i2] = NULL; - link_stack.pop_front(); + unknownLinks[i2] = FixLink<NiPSysModifier>( objects, link_stack, version ); }; }; if ( version >= 0x0A020000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink2 = DynamicCast<NiNode>(objects[link_stack.front()]); - if ( unknownLink2 == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink2 = NULL; - link_stack.pop_front(); + unknownLink2 = FixLink<NiNode>( objects, link_stack, version ); }; } @@ -7041,7 +6495,7 @@ std::string NiMorphData::InternalAsString( bool verbose ) const { return out.str(); } -void NiMorphData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiMorphData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); } @@ -7089,18 +6543,10 @@ std::string NiMultiTargetTransformController::InternalAsString( bool verbose ) c return out.str(); } -void NiMultiTargetTransformController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiMultiTargetTransformController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < extraTargets.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - extraTargets[i1] = DynamicCast<NiNode>(objects[link_stack.front()]); - if ( extraTargets[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - extraTargets[i1] = NULL; - link_stack.pop_front(); + extraTargets[i1] = FixLink<NiNode>( objects, link_stack, version ); }; } @@ -7173,29 +6619,13 @@ std::string NiNode::InternalAsString( bool verbose ) const { return out.str(); } -void NiNode::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiNode::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiAVObject::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < children.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - children[i1] = DynamicCast<NiAVObject>(objects[link_stack.front()]); - if ( children[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - children[i1] = NULL; - link_stack.pop_front(); + children[i1] = FixLink<NiAVObject>( objects, link_stack, version ); }; for (uint i1 = 0; i1 < effects.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - effects[i1] = DynamicCast<NiDynamicEffect>(objects[link_stack.front()]); - if ( effects[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - effects[i1] = NULL; - link_stack.pop_front(); + effects[i1] = FixLink<NiDynamicEffect>( objects, link_stack, version ); }; } @@ -7227,7 +6657,7 @@ std::string AvoidNode::InternalAsString( bool verbose ) const { return out.str(); } -void AvoidNode::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void AvoidNode::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiNode::FixLinks( objects, link_stack, version, user_version ); } @@ -7267,7 +6697,7 @@ std::string FxWidget::InternalAsString( bool verbose ) const { return out.str(); } -void FxWidget::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void FxWidget::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiNode::FixLinks( objects, link_stack, version, user_version ); } @@ -7291,7 +6721,7 @@ std::string FxButton::InternalAsString( bool verbose ) const { return out.str(); } -void FxButton::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void FxButton::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { FxWidget::FixLinks( objects, link_stack, version, user_version ); } @@ -7348,18 +6778,10 @@ std::string FxRadioButton::InternalAsString( bool verbose ) const { return out.str(); } -void FxRadioButton::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void FxRadioButton::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { FxWidget::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < unknownLinks.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLinks[i1] = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( unknownLinks[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLinks[i1] = NULL; - link_stack.pop_front(); + unknownLinks[i1] = FixLink<NiObject>( objects, link_stack, version ); }; } @@ -7394,7 +6816,7 @@ std::string NiBillboardNode::InternalAsString( bool verbose ) const { return out.str(); } -void NiBillboardNode::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBillboardNode::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiNode::FixLinks( objects, link_stack, version, user_version ); } @@ -7418,7 +6840,7 @@ std::string NiBSAnimationNode::InternalAsString( bool verbose ) const { return out.str(); } -void NiBSAnimationNode::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSAnimationNode::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiNode::FixLinks( objects, link_stack, version, user_version ); } @@ -7442,7 +6864,7 @@ std::string NiBSParticleNode::InternalAsString( bool verbose ) const { return out.str(); } -void NiBSParticleNode::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSParticleNode::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiNode::FixLinks( objects, link_stack, version, user_version ); } @@ -7519,18 +6941,10 @@ std::string NiLODNode::InternalAsString( bool verbose ) const { return out.str(); } -void NiLODNode::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiLODNode::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiNode::FixLinks( objects, link_stack, version, user_version ); if ( version >= 0x0A010000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - lodLevelData = DynamicCast<NiLODData>(objects[link_stack.front()]); - if ( lodLevelData == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - lodLevelData = NULL; - link_stack.pop_front(); + lodLevelData = FixLink<NiLODData>( objects, link_stack, version ); }; } @@ -7581,7 +6995,7 @@ std::string NiPalette::InternalAsString( bool verbose ) const { return out.str(); } -void NiPalette::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPalette::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); } @@ -7641,7 +7055,7 @@ std::string NiParticleBomb::InternalAsString( bool verbose ) const { return out.str(); } -void NiParticleBomb::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleBomb::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AParticleModifier::FixLinks( objects, link_stack, version, user_version ); } @@ -7673,17 +7087,9 @@ std::string NiParticleColorModifier::InternalAsString( bool verbose ) const { return out.str(); } -void NiParticleColorModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleColorModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AParticleModifier::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - colorData = DynamicCast<NiColorData>(objects[link_stack.front()]); - if ( colorData == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - colorData = NULL; - link_stack.pop_front(); + colorData = FixLink<NiColorData>( objects, link_stack, version ); } std::list<NiObjectRef> NiParticleColorModifier::InternalGetRefs() const { @@ -7714,7 +7120,7 @@ std::string NiParticleGrowFade::InternalAsString( bool verbose ) const { return out.str(); } -void NiParticleGrowFade::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleGrowFade::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AParticleModifier::FixLinks( objects, link_stack, version, user_version ); } @@ -7762,18 +7168,10 @@ std::string NiParticleMeshModifier::InternalAsString( bool verbose ) const { return out.str(); } -void NiParticleMeshModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleMeshModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AParticleModifier::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < particleMeshes.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - particleMeshes[i1] = DynamicCast<NiAVObject>(objects[link_stack.front()]); - if ( particleMeshes[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - particleMeshes[i1] = NULL; - link_stack.pop_front(); + particleMeshes[i1] = FixLink<NiAVObject>( objects, link_stack, version ); }; } @@ -7816,7 +7214,7 @@ std::string NiParticleRotation::InternalAsString( bool verbose ) const { return out.str(); } -void NiParticleRotation::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleRotation::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AParticleModifier::FixLinks( objects, link_stack, version, user_version ); } @@ -7840,7 +7238,7 @@ std::string NiParticles::InternalAsString( bool verbose ) const { return out.str(); } -void NiParticles::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticles::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTriBasedGeom::FixLinks( objects, link_stack, version, user_version ); } @@ -7864,7 +7262,7 @@ std::string NiAutoNormalParticles::InternalAsString( bool verbose ) const { return out.str(); } -void NiAutoNormalParticles::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiAutoNormalParticles::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiParticles::FixLinks( objects, link_stack, version, user_version ); } @@ -7888,7 +7286,7 @@ std::string NiParticleMeshes::InternalAsString( bool verbose ) const { return out.str(); } -void NiParticleMeshes::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleMeshes::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiParticles::FixLinks( objects, link_stack, version, user_version ); } @@ -7965,7 +7363,7 @@ std::string NiParticlesData::InternalAsString( bool verbose ) const { return out.str(); } -void NiParticlesData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticlesData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiAutoNormalParticlesData::FixLinks( objects, link_stack, version, user_version ); } @@ -7997,17 +7395,9 @@ std::string NiParticleMeshesData::InternalAsString( bool verbose ) const { return out.str(); } -void NiParticleMeshesData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleMeshesData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiParticlesData::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink2 = DynamicCast<NiAVObject>(objects[link_stack.front()]); - if ( unknownLink2 == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink2 = NULL; - link_stack.pop_front(); + unknownLink2 = FixLink<NiAVObject>( objects, link_stack, version ); } std::list<NiObjectRef> NiParticleMeshesData::InternalGetRefs() const { @@ -8063,19 +7453,11 @@ std::string NiParticleSystem::InternalAsString( bool verbose ) const { return out.str(); } -void NiParticleSystem::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleSystem::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiParticles::FixLinks( objects, link_stack, version, user_version ); if ( version >= 0x0A010000 ) { for (uint i2 = 0; i2 < modifiers.size(); i2++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - modifiers[i2] = DynamicCast<NiPSysModifier>(objects[link_stack.front()]); - if ( modifiers[i2] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - modifiers[i2] = NULL; - link_stack.pop_front(); + modifiers[i2] = FixLink<NiPSysModifier>( objects, link_stack, version ); }; }; } @@ -8104,7 +7486,7 @@ std::string NiMeshParticleSystem::InternalAsString( bool verbose ) const { return out.str(); } -void NiMeshParticleSystem::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiMeshParticleSystem::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiParticleSystem::FixLinks( objects, link_stack, version, user_version ); } @@ -8277,44 +7659,12 @@ std::string NiParticleSystemController::InternalAsString( bool verbose ) const { return out.str(); } -void NiParticleSystemController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleSystemController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - emitter = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( emitter == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - emitter = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( unknownLink == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - particleExtra = DynamicCast<AParticleModifier>(objects[link_stack.front()]); - if ( particleExtra == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - particleExtra = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink2 = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( unknownLink2 == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink2 = NULL; - link_stack.pop_front(); + emitter = FixLink<NiObject>( objects, link_stack, version ); + unknownLink = FixLink<NiObject>( objects, link_stack, version ); + particleExtra = FixLink<AParticleModifier>( objects, link_stack, version ); + unknownLink2 = FixLink<NiObject>( objects, link_stack, version ); } std::list<NiObjectRef> NiParticleSystemController::InternalGetRefs() const { @@ -8345,7 +7695,7 @@ std::string NiBSPArrayController::InternalAsString( bool verbose ) const { return out.str(); } -void NiBSPArrayController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSPArrayController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiParticleSystemController::FixLinks( objects, link_stack, version, user_version ); } @@ -8403,26 +7753,10 @@ std::string NiPathController::InternalAsString( bool verbose ) const { return out.str(); } -void NiPathController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPathController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - posData = DynamicCast<NiPosData>(objects[link_stack.front()]); - if ( posData == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - posData = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - floatData = DynamicCast<NiFloatData>(objects[link_stack.front()]); - if ( floatData == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - floatData = NULL; - link_stack.pop_front(); + posData = FixLink<NiPosData>( objects, link_stack, version ); + floatData = FixLink<NiFloatData>( objects, link_stack, version ); } std::list<NiObjectRef> NiPathController::InternalGetRefs() const { @@ -8473,26 +7807,10 @@ std::string NiPathInterpolator::InternalAsString( bool verbose ) const { return out.str(); } -void NiPathInterpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPathInterpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiBlendInterpolator::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - posData = DynamicCast<NiPosData>(objects[link_stack.front()]); - if ( posData == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - posData = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - floatData = DynamicCast<NiFloatData>(objects[link_stack.front()]); - if ( floatData == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - floatData = NULL; - link_stack.pop_front(); + posData = FixLink<NiPosData>( objects, link_stack, version ); + floatData = FixLink<NiFloatData>( objects, link_stack, version ); } std::list<NiObjectRef> NiPathInterpolator::InternalGetRefs() const { @@ -8636,17 +7954,9 @@ std::string NiPixelData::InternalAsString( bool verbose ) const { return out.str(); } -void NiPixelData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPixelData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - palette = DynamicCast<NiPalette>(objects[link_stack.front()]); - if ( palette == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - palette = NULL; - link_stack.pop_front(); + palette = FixLink<NiPalette>( objects, link_stack, version ); } std::list<NiObjectRef> NiPixelData::InternalGetRefs() const { @@ -8733,7 +8043,7 @@ std::string NiPlanarCollider::InternalAsString( bool verbose ) const { return out.str(); } -void NiPlanarCollider::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPlanarCollider::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AParticleModifier::FixLinks( objects, link_stack, version, user_version ); } @@ -8768,17 +8078,9 @@ std::string NiPoint3Interpolator::InternalAsString( bool verbose ) const { return out.str(); } -void NiPoint3Interpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPoint3Interpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiInterpolator::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiPosData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiPosData>( objects, link_stack, version ); } std::list<NiObjectRef> NiPoint3Interpolator::InternalGetRefs() const { @@ -8812,7 +8114,7 @@ std::string NiPointLight::InternalAsString( bool verbose ) const { return out.str(); } -void NiPointLight::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPointLight::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiLight::FixLinks( objects, link_stack, version, user_version ); } @@ -8864,7 +8166,7 @@ std::string NiPosData::InternalAsString( bool verbose ) const { return out.str(); } -void NiPosData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPosData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AKeyedData::FixLinks( objects, link_stack, version, user_version ); } @@ -8899,17 +8201,9 @@ std::string NiPSysAgeDeathModifier::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysAgeDeathModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysAgeDeathModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysModifier::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - spawnModifier = DynamicCast<NiPSysSpawnModifier>(objects[link_stack.front()]); - if ( spawnModifier == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - spawnModifier = NULL; - link_stack.pop_front(); + spawnModifier = FixLink<NiPSysSpawnModifier>( objects, link_stack, version ); } std::list<NiObjectRef> NiPSysAgeDeathModifier::InternalGetRefs() const { @@ -8981,17 +8275,9 @@ std::string NiPSysBombModifier::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysBombModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysBombModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysModifier::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink = DynamicCast<NiNode>(objects[link_stack.front()]); - if ( unknownLink == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink = NULL; - link_stack.pop_front(); + unknownLink = FixLink<NiNode>( objects, link_stack, version ); } std::list<NiObjectRef> NiPSysBombModifier::InternalGetRefs() const { @@ -9017,7 +8303,7 @@ std::string NiPSysBoundUpdateModifier::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysBoundUpdateModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysBoundUpdateModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysModifier::FixLinks( objects, link_stack, version, user_version ); } @@ -9050,7 +8336,7 @@ std::string NiPSysBoxEmitter::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysBoxEmitter::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysBoxEmitter::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysVolumeEmitter::FixLinks( objects, link_stack, version, user_version ); } @@ -9082,17 +8368,9 @@ std::string NiPSysColliderManager::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysColliderManager::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysColliderManager::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysModifier::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - collider = DynamicCast<NiPSysPlanarCollider>(objects[link_stack.front()]); - if ( collider == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - collider = NULL; - link_stack.pop_front(); + collider = FixLink<NiPSysPlanarCollider>( objects, link_stack, version ); } std::list<NiObjectRef> NiPSysColliderManager::InternalGetRefs() const { @@ -9125,17 +8403,9 @@ std::string NiPSysColorModifier::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysColorModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysColorModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysModifier::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiColorData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiColorData>( objects, link_stack, version ); } std::list<NiObjectRef> NiPSysColorModifier::InternalGetRefs() const { @@ -9166,7 +8436,7 @@ std::string NiPSysCylinderEmitter::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysCylinderEmitter::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysCylinderEmitter::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysVolumeEmitter::FixLinks( objects, link_stack, version, user_version ); } @@ -9308,7 +8578,7 @@ std::string NiPSysData::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { APSysData::FixLinks( objects, link_stack, version, user_version ); } @@ -9352,17 +8622,9 @@ std::string NiPSysDragModifier::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysDragModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysDragModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysModifier::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - parent = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( parent == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - parent = NULL; - link_stack.pop_front(); + parent = FixLink<NiObject>( objects, link_stack, version ); } std::list<NiObjectRef> NiPSysDragModifier::InternalGetRefs() const { @@ -9408,29 +8670,13 @@ std::string NiPSysEmitterCtlr::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysEmitterCtlr::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitterCtlr::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { APSysCtlr::FixLinks( objects, link_stack, version, user_version ); if ( version <= 0x0A010000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiPSysEmitterCtlrData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiPSysEmitterCtlrData>( objects, link_stack, version ); }; if ( version >= 0x0A020000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - visibilityInterpolator = DynamicCast<NiInterpolator>(objects[link_stack.front()]); - if ( visibilityInterpolator == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - visibilityInterpolator = NULL; - link_stack.pop_front(); + visibilityInterpolator = FixLink<NiInterpolator>( objects, link_stack, version ); }; } @@ -9505,7 +8751,7 @@ std::string NiPSysEmitterCtlrData::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysEmitterCtlrData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitterCtlrData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); } @@ -9529,7 +8775,7 @@ std::string NiPSysEmitterDeclinationCtlr::InternalAsString( bool verbose ) const return out.str(); } -void NiPSysEmitterDeclinationCtlr::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitterDeclinationCtlr::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { APSysCtlr::FixLinks( objects, link_stack, version, user_version ); } @@ -9553,7 +8799,7 @@ std::string NiPSysEmitterDeclinationVarCtlr::InternalAsString( bool verbose ) co return out.str(); } -void NiPSysEmitterDeclinationVarCtlr::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitterDeclinationVarCtlr::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { APSysCtlr::FixLinks( objects, link_stack, version, user_version ); } @@ -9577,7 +8823,7 @@ std::string NiPSysEmitterInitialRadiusCtlr::InternalAsString( bool verbose ) con return out.str(); } -void NiPSysEmitterInitialRadiusCtlr::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitterInitialRadiusCtlr::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { APSysCtlr::FixLinks( objects, link_stack, version, user_version ); } @@ -9601,7 +8847,7 @@ std::string NiPSysEmitterLifeSpanCtlr::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysEmitterLifeSpanCtlr::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitterLifeSpanCtlr::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { APSysCtlr::FixLinks( objects, link_stack, version, user_version ); } @@ -9625,7 +8871,7 @@ std::string NiPSysEmitterSpeedCtlr::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysEmitterSpeedCtlr::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitterSpeedCtlr::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { APSysCtlr::FixLinks( objects, link_stack, version, user_version ); } @@ -9675,17 +8921,9 @@ std::string NiPSysGravityModifier::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysGravityModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysGravityModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysModifier::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - gravityObject = DynamicCast<NiNode>(objects[link_stack.front()]); - if ( gravityObject == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - gravityObject = NULL; - link_stack.pop_front(); + gravityObject = FixLink<NiNode>( objects, link_stack, version ); } std::list<NiObjectRef> NiPSysGravityModifier::InternalGetRefs() const { @@ -9708,7 +8946,7 @@ std::string NiPSysGravityStrengthCtlr::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysGravityStrengthCtlr::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysGravityStrengthCtlr::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { APSysCtlr::FixLinks( objects, link_stack, version, user_version ); } @@ -9744,7 +8982,7 @@ std::string NiPSysGrowFadeModifier::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysGrowFadeModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysGrowFadeModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysModifier::FixLinks( objects, link_stack, version, user_version ); } @@ -9801,18 +9039,10 @@ std::string NiPSysMeshEmitter::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysMeshEmitter::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysMeshEmitter::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysEmitter::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < emitterMeshes.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - emitterMeshes[i1] = DynamicCast<NiTriBasedGeom>(objects[link_stack.front()]); - if ( emitterMeshes[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - emitterMeshes[i1] = NULL; - link_stack.pop_front(); + emitterMeshes[i1] = FixLink<NiTriBasedGeom>( objects, link_stack, version ); }; } @@ -9864,18 +9094,10 @@ std::string NiPSysMeshUpdateModifier::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysMeshUpdateModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysMeshUpdateModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysModifier::FixLinks( objects, link_stack, version, user_version ); for (uint i1 = 0; i1 < meshes.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - meshes[i1] = DynamicCast<NiNode>(objects[link_stack.front()]); - if ( meshes[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - meshes[i1] = NULL; - link_stack.pop_front(); + meshes[i1] = FixLink<NiNode>( objects, link_stack, version ); }; } @@ -9903,7 +9125,7 @@ std::string NiPSysModifierActiveCtlr::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysModifierActiveCtlr::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysModifierActiveCtlr::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { APSysCtlr::FixLinks( objects, link_stack, version, user_version ); } @@ -9977,44 +9199,12 @@ std::string NiPSysPlanarCollider::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysPlanarCollider::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysPlanarCollider::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - spawnModifier = DynamicCast<NiPSysSpawnModifier>(objects[link_stack.front()]); - if ( spawnModifier == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - spawnModifier = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - parent = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( parent == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - parent = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink_ = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( unknownLink_ == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink_ = NULL; - link_stack.pop_front(); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - colliderObject = DynamicCast<NiNode>(objects[link_stack.front()]); - if ( colliderObject == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - colliderObject = NULL; - link_stack.pop_front(); + spawnModifier = FixLink<NiPSysSpawnModifier>( objects, link_stack, version ); + parent = FixLink<NiObject>( objects, link_stack, version ); + unknownLink_ = FixLink<NiObject>( objects, link_stack, version ); + colliderObject = FixLink<NiNode>( objects, link_stack, version ); } std::list<NiObjectRef> NiPSysPlanarCollider::InternalGetRefs() const { @@ -10043,7 +9233,7 @@ std::string NiPSysPositionModifier::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysPositionModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysPositionModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysModifier::FixLinks( objects, link_stack, version, user_version ); } @@ -10067,7 +9257,7 @@ std::string NiPSysResetOnLoopCtlr::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysResetOnLoopCtlr::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysResetOnLoopCtlr::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); } @@ -10116,7 +9306,7 @@ std::string NiPSysRotationModifier::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysRotationModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysRotationModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysModifier::FixLinks( objects, link_stack, version, user_version ); } @@ -10164,7 +9354,7 @@ std::string NiPSysSpawnModifier::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysSpawnModifier::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysSpawnModifier::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysModifier::FixLinks( objects, link_stack, version, user_version ); } @@ -10191,7 +9381,7 @@ std::string NiPSysSphereEmitter::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysSphereEmitter::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysSphereEmitter::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPSysVolumeEmitter::FixLinks( objects, link_stack, version, user_version ); } @@ -10215,7 +9405,7 @@ std::string NiPSysUpdateCtlr::InternalAsString( bool verbose ) const { return out.str(); } -void NiPSysUpdateCtlr::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysUpdateCtlr::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); } @@ -10239,7 +9429,7 @@ std::string NiLODData::InternalAsString( bool verbose ) const { return out.str(); } -void NiLODData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiLODData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); } @@ -10284,7 +9474,7 @@ std::string NiRangeLODData::InternalAsString( bool verbose ) const { return out.str(); } -void NiRangeLODData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiRangeLODData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiLODData::FixLinks( objects, link_stack, version, user_version ); } @@ -10339,7 +9529,7 @@ std::string NiScreenLODData::InternalAsString( bool verbose ) const { return out.str(); } -void NiScreenLODData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiScreenLODData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiLODData::FixLinks( objects, link_stack, version, user_version ); } @@ -10363,7 +9553,7 @@ std::string NiRotatingParticles::InternalAsString( bool verbose ) const { return out.str(); } -void NiRotatingParticles::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiRotatingParticles::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiParticles::FixLinks( objects, link_stack, version, user_version ); } @@ -10387,7 +9577,7 @@ std::string NiRotatingParticlesData::InternalAsString( bool verbose ) const { return out.str(); } -void NiRotatingParticlesData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiRotatingParticlesData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiParticlesData::FixLinks( objects, link_stack, version, user_version ); } @@ -10411,7 +9601,7 @@ std::string NiSequenceStreamHelper::InternalAsString( bool verbose ) const { return out.str(); } -void NiSequenceStreamHelper::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSequenceStreamHelper::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObjectNET::FixLinks( objects, link_stack, version, user_version ); } @@ -10438,7 +9628,7 @@ std::string NiShadeProperty::InternalAsString( bool verbose ) const { return out.str(); } -void NiShadeProperty::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiShadeProperty::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiProperty::FixLinks( objects, link_stack, version, user_version ); } @@ -10535,18 +9725,10 @@ std::string NiSkinData::InternalAsString( bool verbose ) const { return out.str(); } -void NiSkinData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSkinData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); if ( version <= 0x0A010000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - skinPartition = DynamicCast<NiSkinPartition>(objects[link_stack.front()]); - if ( skinPartition == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - skinPartition = NULL; - link_stack.pop_front(); + skinPartition = FixLink<NiSkinPartition>( objects, link_stack, version ); }; } @@ -10621,47 +9803,15 @@ std::string NiSkinInstance::InternalAsString( bool verbose ) const { return out.str(); } -void NiSkinInstance::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSkinInstance::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiSkinData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiSkinData>( objects, link_stack, version ); if ( version >= 0x0A020000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - skinPartition = DynamicCast<NiSkinPartition>(objects[link_stack.front()]); - if ( skinPartition == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - skinPartition = NULL; - link_stack.pop_front(); - }; - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - skeletonRoot = DynamicCast<NiNode>(objects[link_stack.front()]); - if ( skeletonRoot == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - skeletonRoot = NULL; - link_stack.pop_front(); + skinPartition = FixLink<NiSkinPartition>( objects, link_stack, version ); + }; + skeletonRoot = FixLink<NiNode>( objects, link_stack, version ); for (uint i1 = 0; i1 < bones.size(); i1++) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - bones[i1] = DynamicCast<NiNode>(objects[link_stack.front()]); - if ( bones[i1] == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - bones[i1] = NULL; - link_stack.pop_front(); + bones[i1] = FixLink<NiNode>( objects, link_stack, version ); }; } @@ -10950,7 +10100,7 @@ std::string NiSkinPartition::InternalAsString( bool verbose ) const { return out.str(); } -void NiSkinPartition::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSkinPartition::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); } @@ -11055,31 +10205,15 @@ std::string NiSourceTexture::InternalAsString( bool verbose ) const { return out.str(); } -void NiSourceTexture::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSourceTexture::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObjectNET::FixLinks( objects, link_stack, version, user_version ); if ( version >= 0x0A010000 ) { if ( (useExternal == 1) ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - unknownLink = DynamicCast<NiObject>(objects[link_stack.front()]); - if ( unknownLink == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - unknownLink = NULL; - link_stack.pop_front(); + unknownLink = FixLink<NiObject>( objects, link_stack, version ); }; }; if ( (useExternal == 0) ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - pixelData = DynamicCast<NiPixelData>(objects[link_stack.front()]); - if ( pixelData == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - pixelData = NULL; - link_stack.pop_front(); + pixelData = FixLink<NiPixelData>( objects, link_stack, version ); }; } @@ -11110,7 +10244,7 @@ std::string NiSpecularProperty::InternalAsString( bool verbose ) const { return out.str(); } -void NiSpecularProperty::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSpecularProperty::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiProperty::FixLinks( objects, link_stack, version, user_version ); } @@ -11152,7 +10286,7 @@ std::string NiSphericalCollider::InternalAsString( bool verbose ) const { return out.str(); } -void NiSphericalCollider::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSphericalCollider::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AParticleModifier::FixLinks( objects, link_stack, version, user_version ); } @@ -11182,7 +10316,7 @@ std::string NiSpotLight::InternalAsString( bool verbose ) const { return out.str(); } -void NiSpotLight::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSpotLight::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiPointLight::FixLinks( objects, link_stack, version, user_version ); } @@ -11237,7 +10371,7 @@ std::string NiStencilProperty::InternalAsString( bool verbose ) const { return out.str(); } -void NiStencilProperty::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiStencilProperty::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiProperty::FixLinks( objects, link_stack, version, user_version ); } @@ -11271,7 +10405,7 @@ std::string NiStringExtraData::InternalAsString( bool verbose ) const { return out.str(); } -void NiStringExtraData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiStringExtraData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -11301,7 +10435,7 @@ std::string NiStringPalette::InternalAsString( bool verbose ) const { return out.str(); } -void NiStringPalette::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiStringPalette::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); } @@ -11344,7 +10478,7 @@ std::string NiStringsExtraData::InternalAsString( bool verbose ) const { return out.str(); } -void NiStringsExtraData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiStringsExtraData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -11394,7 +10528,7 @@ std::string NiTextKeyExtraData::InternalAsString( bool verbose ) const { return out.str(); } -void NiTextKeyExtraData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTextKeyExtraData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -11470,17 +10604,9 @@ std::string NiTextureEffect::InternalAsString( bool verbose ) const { return out.str(); } -void NiTextureEffect::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTextureEffect::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiDynamicEffect::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - sourceTexture = DynamicCast<NiSourceTexture>(objects[link_stack.front()]); - if ( sourceTexture == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - sourceTexture = NULL; - link_stack.pop_front(); + sourceTexture = FixLink<NiSourceTexture>( objects, link_stack, version ); } std::list<NiObjectRef> NiTextureEffect::InternalGetRefs() const { @@ -11526,18 +10652,10 @@ std::string NiTextureTransformController::InternalAsString( bool verbose ) const return out.str(); } -void NiTextureTransformController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTextureTransformController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiSingleInterpolatorController::FixLinks( objects, link_stack, version, user_version ); if ( version <= 0x0A010000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiFloatData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiFloatData>( objects, link_stack, version ); }; } @@ -12241,108 +11359,36 @@ std::string NiTexturingProperty::InternalAsString( bool verbose ) const { return out.str(); } -void NiTexturingProperty::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTexturingProperty::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiProperty::FixLinks( objects, link_stack, version, user_version ); if ( (hasBaseTexture != 0) ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - baseTexture.source = DynamicCast<NiSourceTexture>(objects[link_stack.front()]); - if ( baseTexture.source == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - baseTexture.source = NULL; - link_stack.pop_front(); + baseTexture.source = FixLink<NiSourceTexture>( objects, link_stack, version ); }; if ( (hasDarkTexture != 0) ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - darkTexture.source = DynamicCast<NiSourceTexture>(objects[link_stack.front()]); - if ( darkTexture.source == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - darkTexture.source = NULL; - link_stack.pop_front(); + darkTexture.source = FixLink<NiSourceTexture>( objects, link_stack, version ); }; if ( (hasDetailTexture != 0) ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - detailTexture.source = DynamicCast<NiSourceTexture>(objects[link_stack.front()]); - if ( detailTexture.source == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - detailTexture.source = NULL; - link_stack.pop_front(); + detailTexture.source = FixLink<NiSourceTexture>( objects, link_stack, version ); }; if ( (hasGlossTexture != 0) ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - glossTexture.source = DynamicCast<NiSourceTexture>(objects[link_stack.front()]); - if ( glossTexture.source == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - glossTexture.source = NULL; - link_stack.pop_front(); + glossTexture.source = FixLink<NiSourceTexture>( objects, link_stack, version ); }; if ( (hasGlowTexture != 0) ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - glowTexture.source = DynamicCast<NiSourceTexture>(objects[link_stack.front()]); - if ( glowTexture.source == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - glowTexture.source = NULL; - link_stack.pop_front(); + glowTexture.source = FixLink<NiSourceTexture>( objects, link_stack, version ); }; if ( (hasBumpMapTexture != 0) ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - bumpMapTexture.source = DynamicCast<NiSourceTexture>(objects[link_stack.front()]); - if ( bumpMapTexture.source == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - bumpMapTexture.source = NULL; - link_stack.pop_front(); + bumpMapTexture.source = FixLink<NiSourceTexture>( objects, link_stack, version ); }; if ( (hasDecal0Texture != 0) ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - decal0Texture.source = DynamicCast<NiSourceTexture>(objects[link_stack.front()]); - if ( decal0Texture.source == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - decal0Texture.source = NULL; - link_stack.pop_front(); + decal0Texture.source = FixLink<NiSourceTexture>( objects, link_stack, version ); }; if ( (((textureCount == 8)) && ((hasDecal1Texture != 0))) ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - decal1Texture.source = DynamicCast<NiSourceTexture>(objects[link_stack.front()]); - if ( decal1Texture.source == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - decal1Texture.source = NULL; - link_stack.pop_front(); + decal1Texture.source = FixLink<NiSourceTexture>( objects, link_stack, version ); }; if ( version >= 0x0A000100 ) { for (uint i2 = 0; i2 < shaderTextures.size(); i2++) { if ( (shaderTextures[i2].isUsed != 0) ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - shaderTextures[i2].textureData.source = DynamicCast<NiSourceTexture>(objects[link_stack.front()]); - if ( shaderTextures[i2].textureData.source == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - shaderTextures[i2].textureData.source = NULL; - link_stack.pop_front(); + shaderTextures[i2].textureData.source = FixLink<NiSourceTexture>( objects, link_stack, version ); }; }; }; @@ -12388,7 +11434,7 @@ std::string NiTransformController::InternalAsString( bool verbose ) const { return out.str(); } -void NiTransformController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTransformController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiSingleInterpolatorController::FixLinks( objects, link_stack, version, user_version ); } @@ -12412,7 +11458,7 @@ std::string NiTransformData::InternalAsString( bool verbose ) const { return out.str(); } -void NiTransformData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTransformData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiKeyframeData::FixLinks( objects, link_stack, version, user_version ); } @@ -12470,17 +11516,9 @@ std::string NiTransformInterpolator::InternalAsString( bool verbose ) const { return out.str(); } -void NiTransformInterpolator::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTransformInterpolator::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiInterpolator::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiTransformData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiTransformData>( objects, link_stack, version ); } std::list<NiObjectRef> NiTransformInterpolator::InternalGetRefs() const { @@ -12505,7 +11543,7 @@ std::string NiTriShape::InternalAsString( bool verbose ) const { return out.str(); } -void NiTriShape::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTriShape::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTriBasedGeom::FixLinks( objects, link_stack, version, user_version ); } @@ -12608,7 +11646,7 @@ std::string NiTriShapeData::InternalAsString( bool verbose ) const { return out.str(); } -void NiTriShapeData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTriShapeData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTriBasedGeomData::FixLinks( objects, link_stack, version, user_version ); } @@ -12632,7 +11670,7 @@ std::string NiTriStrips::InternalAsString( bool verbose ) const { return out.str(); } -void NiTriStrips::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTriStrips::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTriBasedGeom::FixLinks( objects, link_stack, version, user_version ); } @@ -12734,7 +11772,7 @@ std::string NiTriStripsData::InternalAsString( bool verbose ) const { return out.str(); } -void NiTriStripsData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTriStripsData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTriBasedGeomData::FixLinks( objects, link_stack, version, user_version ); } @@ -12758,7 +11796,7 @@ std::string NiClod::InternalAsString( bool verbose ) const { return out.str(); } -void NiClod::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiClod::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTriBasedGeom::FixLinks( objects, link_stack, version, user_version ); } @@ -12840,7 +11878,7 @@ std::string NiClodData::InternalAsString( bool verbose ) const { return out.str(); } -void NiClodData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiClodData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTriBasedGeomData::FixLinks( objects, link_stack, version, user_version ); } @@ -12875,17 +11913,9 @@ std::string NiUVController::InternalAsString( bool verbose ) const { return out.str(); } -void NiUVController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiUVController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiTimeController::FixLinks( objects, link_stack, version, user_version ); - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiUVData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiUVData>( objects, link_stack, version ); } std::list<NiObjectRef> NiUVController::InternalGetRefs() const { @@ -12944,7 +11974,7 @@ std::string NiUVData::InternalAsString( bool verbose ) const { return out.str(); } -void NiUVData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiUVData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiObject::FixLinks( objects, link_stack, version, user_version ); } @@ -12974,7 +12004,7 @@ std::string NiVectorExtraData::InternalAsString( bool verbose ) const { return out.str(); } -void NiVectorExtraData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiVectorExtraData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -13007,7 +12037,7 @@ std::string NiVertexColorProperty::InternalAsString( bool verbose ) const { return out.str(); } -void NiVertexColorProperty::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiVertexColorProperty::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiProperty::FixLinks( objects, link_stack, version, user_version ); } @@ -13053,7 +12083,7 @@ std::string NiVertWeightsExtraData::InternalAsString( bool verbose ) const { return out.str(); } -void NiVertWeightsExtraData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiVertWeightsExtraData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiExtraData::FixLinks( objects, link_stack, version, user_version ); } @@ -13089,18 +12119,10 @@ std::string NiVisController::InternalAsString( bool verbose ) const { return out.str(); } -void NiVisController::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiVisController::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiSingleInterpolatorController::FixLinks( objects, link_stack, version, user_version ); if ( version <= 0x0A010000 ) { - if (link_stack.empty()) - throw runtime_error("Trying to pop a link from empty stack. This is probably a bug."); - if (link_stack.front() != 0xffffffff) { - data = DynamicCast<NiVisData>(objects[link_stack.front()]); - if ( data == NULL ) - throw runtime_error("Link could not be cast to required type during file read. This NIF file may be invalid or improperly understood."); - } else - data = NULL; - link_stack.pop_front(); + data = FixLink<NiVisData>( objects, link_stack, version ); }; } @@ -13145,7 +12167,7 @@ std::string NiVisData::InternalAsString( bool verbose ) const { return out.str(); } -void NiVisData::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiVisData::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AKeyedData::FixLinks( objects, link_stack, version, user_version ); } @@ -13172,7 +12194,7 @@ std::string NiWireframeProperty::InternalAsString( bool verbose ) const { return out.str(); } -void NiWireframeProperty::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiWireframeProperty::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiProperty::FixLinks( objects, link_stack, version, user_version ); } @@ -13206,7 +12228,7 @@ std::string NiZBufferProperty::InternalAsString( bool verbose ) const { return out.str(); } -void NiZBufferProperty::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiZBufferProperty::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiProperty::FixLinks( objects, link_stack, version, user_version ); } @@ -13230,7 +12252,7 @@ std::string RootCollisionNode::InternalAsString( bool verbose ) const { return out.str(); } -void RootCollisionNode::InternalFixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void RootCollisionNode::InternalFixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NiNode::FixLinks( objects, link_stack, version, user_version ); } @@ -13239,4 +12261,3 @@ std::list<NiObjectRef> RootCollisionNode::InternalGetRefs() const { refs = NiNode::GetRefs(); return refs; } - diff --git a/src/niflib.cpp b/src/niflib.cpp index 6e2b89dc3c0247ef892dec6b3181eff0438fbd7a..eb64ca6e50495f9bd0395ea3e3cc07358686f9f4 100644 --- a/src/niflib.cpp +++ b/src/niflib.cpp @@ -2,8 +2,8 @@ All rights reserved. Please see niflib.h for licence. */ //#define DEBUG // this will produce lots of output -//#define PRINT_OBJECT_NAMES -//#define PRINT_OBJECT_CONTENTS +#define PRINT_OBJECT_NAMES +#define PRINT_OBJECT_CONTENTS //#define DEBUG_LINK_PHASE //#define DEBUG_HEADER_FOOTER @@ -117,24 +117,13 @@ unsigned int GetNifVersion( string const & file_name ) { //--Open File--// ifstream in( file_name.c_str(), ifstream::binary ); - //--Read Header--// - char header_string[64]; - in.getline( header_string, 64 ); - string headerstr(header_string); - - // make sure this is a NIF file - unsigned ver_start = 0; - if ( headerstr.substr(0, 22) == "NetImmerse File Format" ) { - ver_start = 32; - } else if ( headerstr.substr(0, 20) == "Gamebryo File Format" ) { - ver_start = 30; - } else { - //Not a NIF file - return VER_INVALID; - } + //--Read Header String--// + + HeaderString header; + unsigned version; + NifStream( header, in, version ); - //Parse version string and return result. - return ParseVersionString( headerstr.substr( ver_start ) ); + return version; } //Reads the given file by file name and returns a vector of block references @@ -180,29 +169,46 @@ vector<NiObjectRef> ReadNifList( istream & in, NifInfo * info ) { #endif //--Read Objects--// - size_t numBlocks = header.numBlocks; - vector<NiObjectRef> blocks( numBlocks ); //List to hold the blocks + size_t numObjects = header.numBlocks; + map<unsigned,NiObjectRef> objects; //Map to hold objects by number list<uint> link_stack; //List to add link values to as they're read in from the file string objectType; stringstream errStream; - for (uint i = 0; i < numBlocks; i++) { + //Loop through all objects in the file + uint i = 0; + NiObjectRef new_obj; + while (true) { //Check for EOF - //if (in.eof() ) { - // throw runtime_error("End of file reached prematurely. This NIF may be corrupt or improperly supported."); - //} + if (in.eof() ) { + errStream << "End of file reached prematurely. This NIF may be corrupt or improperly supported." << endl; + if ( new_obj != NULL ) { + errStream << "Last successfuly read object was: " << endl; + errStream << "====[ " << "Object " << i - 1 << " | " << new_obj->GetType().GetTypeName() << " ]====" << endl; + errStream << new_obj->asString(); + } else { + errStream << "No objects were read successfully." << endl; + } + throw runtime_error( errStream.str() ); + } - //There are two ways to read blocks, one before version 5.0.0.1 and one after that + //There are two main ways to read objects + //One before version 5.0.0.1 and one after if ( header.version >= 0x05000001 ) { - //From version 5.0.0.1 to version 10.0.1.0 there is a zero byte at the begining of each block + //From version 5.0.0.1 to version 10.0.1.0 there is a zero byte at the begining of each object if ( header.version <= VER_10_1_0_0 ) { uint checkValue = ReadUInt( in ); if ( checkValue != 0 ) { //Throw an exception if it's not zero - errStream << "Read failue - Bad object position. Invalid check value" << endl; - errStream << "====[ " << "Object " << i << " | " << blocks[i - 1]->GetType().GetTypeName() << " ]====" << endl; - errStream << blocks[i - 1]->asString(); + errStream << "Read failue - Bad object position. Invalid check value: " << checkValue << endl; + if ( new_obj != NULL ) { + errStream << "Last successfuly read object was: " << endl; + errStream << "====[ " << "Object " << i - 1 << " | " << new_obj->GetType().GetTypeName() << " ]====" << endl; + errStream << new_obj->asString(); + } else { + errStream << "No objects were read successfully." << endl; + } throw runtime_error( errStream.str() ); } } @@ -210,12 +216,17 @@ vector<NiObjectRef> ReadNifList( istream & in, NifInfo * info ) { // Find which block type this is by using the header arrays objectType = header.blockTypes[ header.blockTypeIndex[i] ]; } else { - // Find which block type this is by reading the string at this location + // Find which object type this is by reading the string at this location uint objectTypeLength = ReadUInt( in ); if (objectTypeLength > 30 || objectTypeLength < 6) { errStream << "Read failue - Bad object position. Invalid Type Name Length: " << objectTypeLength << endl; - errStream << "====[ " << "Object " << i - 1 << " | " << blocks[i - 1]->GetType().GetTypeName() << " ]====" << endl; - errStream << blocks[i - 1]->asString(); + if ( new_obj != NULL ) { + errStream << "Last successfuly read object was: " << endl; + errStream << "====[ " << "Object " << i - 1 << " | " << new_obj->GetType().GetTypeName() << " ]====" << endl; + errStream << new_obj->asString(); + } else { + errStream << "No objects were read successfully." << endl; + } throw runtime_error( errStream.str() ); } char* charobjectType = new char[objectTypeLength + 1]; @@ -223,38 +234,81 @@ vector<NiObjectRef> ReadNifList( istream & in, NifInfo * info ) { charobjectType[objectTypeLength] = 0; objectType = string(charobjectType); delete [] charobjectType; + +#ifdef PRINT_OBJECT_NAMES + cout << endl << i << ": " << objectType; +#endif + + if ( header.version < VER_4_0_0_0 ) { + //There can be special commands instead of object names + //in these versions + + if ( objectType == "Top Level Object" ) { + //Just continue on to the next object + continue; + } + + if ( objectType == "End Of File" ) { + //File is finished + break; + } + } + if ( (objectType[0] != 'N' || objectType[1] != 'i') && (objectType[0] != 'R' || objectType[1] != 'o') && (objectType[0] != 'A' || objectType[1] != 'v')) { errStream << "Read failue - Bad object position. Invalid Type Name: " << objectType << endl; - errStream << "====[ " << "Object " << i - 1 << " | " << blocks[i - 1]->GetType().GetTypeName() << " ]====" << endl; - errStream << blocks[i - 1]->asString(); + if ( new_obj != NULL ) { + errStream << "Last successfuly read object was: " << endl; + errStream << "====[ " << "Object " << i - 1 << " | " << new_obj->GetType().GetTypeName() << " ]====" << endl; + errStream << new_obj->asString(); + } else { + errStream << "No objects were read successfully." << endl; + } throw runtime_error( errStream.str() ); } } -#ifdef PRINT_OBJECT_NAMES - cout << endl << i << ": " << objectType; -#endif - - //Create Block of the type that was found - blocks[i] = CreateObject(objectType); + //Create object of the type that was found + new_obj = CreateObject(objectType); + + //Check for an unknown object type + if ( new_obj == NULL ) { + errStream << "Unknown object type encountered during file read: " << objectType << endl; + if ( new_obj != NULL ) { + errStream << "Last successfuly read object was: " << endl; + errStream << "====[ " << "Object " << i - 1 << " | " << new_obj->GetType().GetTypeName() << " ]====" << endl; + errStream << new_obj->asString(); + } else { + errStream << "No objects were read successfully." << endl; + } + throw runtime_error( errStream.str() ); + } - //Check for an unknown block type - if ( blocks[i] == NULL ) { - //For version 5.0.0.1 and up, throw an exception - there's nothing we can do - //if ( version >= 0x05000001 ) { - errStream << "Unknown object type encountered during file read: " << objectType; - throw runtime_error( errStream.str() ); - //} else { - //We can skip over this block in older versions - //blocks[i] = new UnknownBlock(objectType); - //} + uint index; + if ( header.version < VER_4_0_0_0 ) { + //These old versions have a pointer value after the name + //which is used as the index + index = ReadUInt(in); + } else { + //These newer verisons use their position in the file as their index + index = i; } - //blocks[i]->SetBlockNum(i); - blocks[i]->Read( in, link_stack, header.version, header.userVersion ); + //Read new object + new_obj->Read( in, link_stack, header.version, header.userVersion ); + objects[index] = new_obj; + #ifdef PRINT_OBJECT_CONTENTS - cout << endl << blocks[i]->asString() << endl; + cout << endl << new_obj->asString() << endl; #endif + + if ( header.version >= VER_4_0_0_0 ) { + //We know the number of objects, so increment the count + //and break if we've finished + ++i; + if ( i >= numObjects ) { + break; + } + } } //cout << endl; @@ -286,16 +340,25 @@ vector<NiObjectRef> ReadNifList( istream & in, NifInfo * info ) { cout << "Fixing Links:" << endl; #endif //--Now that all blocks are read, go back and fix the links--// - for (uint i = 0; i < blocks.size(); ++i) { + if ( header.version < VER_4_0_0_0 ) { + //First wen + } + + vector<NiObjectRef> obj_list; + + for ( map<unsigned,NiObjectRef>::iterator it = objects.begin(); it != objects.end(); ++it ) { #ifdef DEBUG_LINK_PHASE cout << i << ": " << blocks[i] << endl; #endif //Fix links & other pre-processing - blocks[i]->FixLinks( blocks, link_stack, header.version, header.userVersion ); + it->second->FixLinks( objects, link_stack, header.version, header.userVersion ); + + //Add object to list + obj_list.push_back(it->second); } //Return completed block list - return blocks; + return obj_list; } // Writes a valid Nif File given an ostream, a list to the root objects of a file tree diff --git a/src/obj/ABoneLODController.cpp b/src/obj/ABoneLODController.cpp index 1fbaf9cd22ef1fddc5052bae63bcf7c59ff74926..59b60e357c4da6211413814ad7ecdf6abf73d7e1 100644 --- a/src/obj/ABoneLODController.cpp +++ b/src/obj/ABoneLODController.cpp @@ -26,7 +26,7 @@ string ABoneLODController::asString( bool verbose ) const { A_BONE_L_O_D_CONTROLLER_STRING } -void ABoneLODController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void ABoneLODController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { A_BONE_L_O_D_CONTROLLER_FIXLINKS } diff --git a/src/obj/AKeyedData.cpp b/src/obj/AKeyedData.cpp index e201c7738b662d55fcaf9dc3726d4bb4331da9c0..95796a4f9519bc4c4df26a9bfc034bd77f34d864 100644 --- a/src/obj/AKeyedData.cpp +++ b/src/obj/AKeyedData.cpp @@ -23,7 +23,7 @@ string AKeyedData::asString( bool verbose ) const { A_KEYED_DATA_STRING } -void AKeyedData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void AKeyedData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { A_KEYED_DATA_FIXLINKS } diff --git a/src/obj/APSysCtlr.cpp b/src/obj/APSysCtlr.cpp index 31582f1b439432321b4f90e05c9af12ace521dd8..c9dfc9662719fc6d823e8ab1743ed206454b0ef3 100644 --- a/src/obj/APSysCtlr.cpp +++ b/src/obj/APSysCtlr.cpp @@ -23,7 +23,7 @@ string APSysCtlr::asString( bool verbose ) const { A_P_SYS_CTLR_STRING } -void APSysCtlr::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void APSysCtlr::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { A_P_SYS_CTLR_FIXLINKS } diff --git a/src/obj/APSysData.cpp b/src/obj/APSysData.cpp index 77be9b72efe7743796940c7c6caded65d222d1b2..cfabcd76f3837123139447d0adf0441f4592a8e3 100644 --- a/src/obj/APSysData.cpp +++ b/src/obj/APSysData.cpp @@ -23,7 +23,7 @@ string APSysData::asString( bool verbose ) const { A_P_SYS_DATA_STRING } -void APSysData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void APSysData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { A_P_SYS_DATA_FIXLINKS } diff --git a/src/obj/AParticleModifier.cpp b/src/obj/AParticleModifier.cpp index d2b604df245286785c00c5c4d7b4250a2794f103..901965ae1a3e4e13069390d4300da1549771f833 100644 --- a/src/obj/AParticleModifier.cpp +++ b/src/obj/AParticleModifier.cpp @@ -24,7 +24,7 @@ string AParticleModifier::asString( bool verbose ) const { A_PARTICLE_MODIFIER_STRING } -void AParticleModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void AParticleModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { A_PARTICLE_MODIFIER_FIXLINKS } diff --git a/src/obj/AbhkConstraint.cpp b/src/obj/AbhkConstraint.cpp index 582cd5befc64f56f65a36e9eb97c049285417155..492c265ad2823cfe335ca1f35f149b3527441187 100644 --- a/src/obj/AbhkConstraint.cpp +++ b/src/obj/AbhkConstraint.cpp @@ -24,7 +24,7 @@ string AbhkConstraint::asString( bool verbose ) const { ABHK_CONSTRAINT_STRING } -void AbhkConstraint::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void AbhkConstraint::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { ABHK_CONSTRAINT_FIXLINKS } diff --git a/src/obj/AbhkRagdollConstraint.cpp b/src/obj/AbhkRagdollConstraint.cpp index f638f6df3a96418e33bb95f975cf2ac89155819f..524f4cffbc1559a23d74ef0cf66d2ad6df308d13 100644 --- a/src/obj/AbhkRagdollConstraint.cpp +++ b/src/obj/AbhkRagdollConstraint.cpp @@ -23,7 +23,7 @@ string AbhkRagdollConstraint::asString( bool verbose ) const { ABHK_RAGDOLL_CONSTRAINT_STRING } -void AbhkRagdollConstraint::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void AbhkRagdollConstraint::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { ABHK_RAGDOLL_CONSTRAINT_FIXLINKS } diff --git a/src/obj/AbhkShapeCollection.cpp b/src/obj/AbhkShapeCollection.cpp index 1586183857715ad8f48b42e821f510061e5ddfe5..1f8785357eac7cb024ae517313c12a2938ce5560 100644 --- a/src/obj/AbhkShapeCollection.cpp +++ b/src/obj/AbhkShapeCollection.cpp @@ -23,7 +23,7 @@ string AbhkShapeCollection::asString( bool verbose ) const { ABHK_SHAPE_COLLECTION_STRING } -void AbhkShapeCollection::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void AbhkShapeCollection::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { ABHK_SHAPE_COLLECTION_FIXLINKS } diff --git a/src/obj/AvoidNode.cpp b/src/obj/AvoidNode.cpp index f3c9f0749c99d61d81a2b2c85704649da5eeadda..b04aaad968d33a16d71d6535b901baf02b22bd3e 100644 --- a/src/obj/AvoidNode.cpp +++ b/src/obj/AvoidNode.cpp @@ -23,7 +23,7 @@ string AvoidNode::asString( bool verbose ) const { AVOID_NODE_STRING } -void AvoidNode::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void AvoidNode::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { AVOID_NODE_FIXLINKS } diff --git a/src/obj/BSBound.cpp b/src/obj/BSBound.cpp index 6e7d48a374f8b8e80444b3b172b371fa1bd670cc..90a69e71969f8197018f04a1f7651b616bd2e668 100644 --- a/src/obj/BSBound.cpp +++ b/src/obj/BSBound.cpp @@ -23,7 +23,7 @@ string BSBound::asString( bool verbose ) const { B_S_BOUND_STRING } -void BSBound::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void BSBound::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { B_S_BOUND_FIXLINKS } diff --git a/src/obj/BSFurnitureMarker.cpp b/src/obj/BSFurnitureMarker.cpp index 86ec09ca0ef25962328c54558b44d9221eb88e1a..fab06225d4a63b18cfacfa489c59be16bc6e6d4b 100644 --- a/src/obj/BSFurnitureMarker.cpp +++ b/src/obj/BSFurnitureMarker.cpp @@ -24,7 +24,7 @@ string BSFurnitureMarker::asString( bool verbose ) const { B_S_FURNITURE_MARKER_STRING } -void BSFurnitureMarker::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void BSFurnitureMarker::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { B_S_FURNITURE_MARKER_FIXLINKS } diff --git a/src/obj/BSKeyframeController.cpp b/src/obj/BSKeyframeController.cpp index c58ab24aa97c179c75685469bfb3128e3dc4c502..322caf537d40d873a68ce84aff120f221151f035 100644 --- a/src/obj/BSKeyframeController.cpp +++ b/src/obj/BSKeyframeController.cpp @@ -24,7 +24,7 @@ string BSKeyframeController::asString( bool verbose ) const { B_S_KEYFRAME_CONTROLLER_STRING } -void BSKeyframeController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void BSKeyframeController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { B_S_KEYFRAME_CONTROLLER_FIXLINKS } diff --git a/src/obj/BSPSysArrayEmitter.cpp b/src/obj/BSPSysArrayEmitter.cpp index 4eb28f4b45200c61ff264ef3449adb1a64a617a1..607e1400cd33db8e808a0731d9a14584fdac6c52 100644 --- a/src/obj/BSPSysArrayEmitter.cpp +++ b/src/obj/BSPSysArrayEmitter.cpp @@ -23,7 +23,7 @@ string BSPSysArrayEmitter::asString( bool verbose ) const { B_S_P_SYS_ARRAY_EMITTER_STRING } -void BSPSysArrayEmitter::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void BSPSysArrayEmitter::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { B_S_P_SYS_ARRAY_EMITTER_FIXLINKS } diff --git a/src/obj/BSParentVelocityModifier.cpp b/src/obj/BSParentVelocityModifier.cpp index 66462f933e5d8c06059855349633e073d1525a8b..6632f0b562b48371055e2e7ffa295acfd1985758 100644 --- a/src/obj/BSParentVelocityModifier.cpp +++ b/src/obj/BSParentVelocityModifier.cpp @@ -23,7 +23,7 @@ string BSParentVelocityModifier::asString( bool verbose ) const { B_S_PARENT_VELOCITY_MODIFIER_STRING } -void BSParentVelocityModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void BSParentVelocityModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { B_S_PARENT_VELOCITY_MODIFIER_FIXLINKS } diff --git a/src/obj/BSXFlags.cpp b/src/obj/BSXFlags.cpp index 6c545883445d654e00fb3047c53c75af93ebc332..a324da367718a7fb4c80320b6484ef5e851ce03f 100644 --- a/src/obj/BSXFlags.cpp +++ b/src/obj/BSXFlags.cpp @@ -23,7 +23,7 @@ string BSXFlags::asString( bool verbose ) const { B_S_X_FLAGS_STRING } -void BSXFlags::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void BSXFlags::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { B_S_X_FLAGS_FIXLINKS } diff --git a/src/obj/FxButton.cpp b/src/obj/FxButton.cpp index 87c339149d74cfdd6b2d45015372571bb06fdb7f..101f27d3748b2abcca2b0b9ece2b47044a3f31b0 100644 --- a/src/obj/FxButton.cpp +++ b/src/obj/FxButton.cpp @@ -23,7 +23,7 @@ string FxButton::asString( bool verbose ) const { FX_BUTTON_STRING } -void FxButton::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void FxButton::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { FX_BUTTON_FIXLINKS } diff --git a/src/obj/FxRadioButton.cpp b/src/obj/FxRadioButton.cpp index c63c7a80396ca4254faf30038ae0465579d4c531..40c0930004659d8fbaa3302288600c4602ec2b43 100644 --- a/src/obj/FxRadioButton.cpp +++ b/src/obj/FxRadioButton.cpp @@ -24,7 +24,7 @@ string FxRadioButton::asString( bool verbose ) const { FX_RADIO_BUTTON_STRING } -void FxRadioButton::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void FxRadioButton::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { FX_RADIO_BUTTON_FIXLINKS } diff --git a/src/obj/FxWidget.cpp b/src/obj/FxWidget.cpp index 3e229c8da69867dff5b941292a56d6ce42cbbfcd..e25d7a2fe9bfd4e8e5990d6e46f995ede1b1343b 100644 --- a/src/obj/FxWidget.cpp +++ b/src/obj/FxWidget.cpp @@ -23,7 +23,7 @@ string FxWidget::asString( bool verbose ) const { FX_WIDGET_STRING } -void FxWidget::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void FxWidget::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { FX_WIDGET_FIXLINKS } diff --git a/src/obj/NiAVObject.cpp b/src/obj/NiAVObject.cpp index 658b1215839259c21fdf4d39b4b4aac179daa8d6..bce27d09775805da7ae2294c3aca283100000503 100644 --- a/src/obj/NiAVObject.cpp +++ b/src/obj/NiAVObject.cpp @@ -37,7 +37,7 @@ string NiAVObject::asString( bool verbose ) const { NI_A_V_OBJECT_STRING } -void NiAVObject::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiAVObject::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_A_V_OBJECT_FIXLINKS } diff --git a/src/obj/NiAlphaController.cpp b/src/obj/NiAlphaController.cpp index 18e779f032a9cdcf0b40305908a016ed4a55a1aa..fa217c1c1b9fafe294a7d7c1d0eac9281b1ea167 100644 --- a/src/obj/NiAlphaController.cpp +++ b/src/obj/NiAlphaController.cpp @@ -24,7 +24,7 @@ string NiAlphaController::asString( bool verbose ) const { NI_ALPHA_CONTROLLER_STRING } -void NiAlphaController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiAlphaController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_ALPHA_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiAlphaProperty.cpp b/src/obj/NiAlphaProperty.cpp index 232db5a14fe5ba2ae70463aa539a9b98b8bee10b..8935bcb8e126896037d613d1aeebb1a9567930c7 100644 --- a/src/obj/NiAlphaProperty.cpp +++ b/src/obj/NiAlphaProperty.cpp @@ -23,7 +23,7 @@ string NiAlphaProperty::asString( bool verbose ) const { NI_ALPHA_PROPERTY_STRING } -void NiAlphaProperty::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiAlphaProperty::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_ALPHA_PROPERTY_FIXLINKS } diff --git a/src/obj/NiAmbientLight.cpp b/src/obj/NiAmbientLight.cpp index 2b810bd87a30a5b4020529760ed1668a67c5dc1f..fb2c0c4496ea583219dd5c3a3e9bb02afa0adee1 100644 --- a/src/obj/NiAmbientLight.cpp +++ b/src/obj/NiAmbientLight.cpp @@ -23,7 +23,7 @@ string NiAmbientLight::asString( bool verbose ) const { NI_AMBIENT_LIGHT_STRING } -void NiAmbientLight::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiAmbientLight::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_AMBIENT_LIGHT_FIXLINKS } diff --git a/src/obj/NiAutoNormalParticles.cpp b/src/obj/NiAutoNormalParticles.cpp index 7511ff8643a60fafc8ff100a96b4beb854e1fdc9..6249c444c5ade29968c09bc17c4351ee3dba8991 100644 --- a/src/obj/NiAutoNormalParticles.cpp +++ b/src/obj/NiAutoNormalParticles.cpp @@ -23,7 +23,7 @@ string NiAutoNormalParticles::asString( bool verbose ) const { NI_AUTO_NORMAL_PARTICLES_STRING } -void NiAutoNormalParticles::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiAutoNormalParticles::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_AUTO_NORMAL_PARTICLES_FIXLINKS } diff --git a/src/obj/NiAutoNormalParticlesData.cpp b/src/obj/NiAutoNormalParticlesData.cpp index b212c2a28a04f5a84e9fad135b65ff96cdd18ae3..b0312d6ccca20e04dc3529e37cb9c46c726b8b46 100644 --- a/src/obj/NiAutoNormalParticlesData.cpp +++ b/src/obj/NiAutoNormalParticlesData.cpp @@ -23,7 +23,7 @@ string NiAutoNormalParticlesData::asString( bool verbose ) const { NI_AUTO_NORMAL_PARTICLES_DATA_STRING } -void NiAutoNormalParticlesData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiAutoNormalParticlesData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_AUTO_NORMAL_PARTICLES_DATA_FIXLINKS } diff --git a/src/obj/NiBSAnimationNode.cpp b/src/obj/NiBSAnimationNode.cpp index bb257bf329894276c65c73389661bc03e3bb6ea1..a2aa6b05d26e2f890c820774f9b2735724e2110f 100644 --- a/src/obj/NiBSAnimationNode.cpp +++ b/src/obj/NiBSAnimationNode.cpp @@ -23,7 +23,7 @@ string NiBSAnimationNode::asString( bool verbose ) const { NI_B_S_ANIMATION_NODE_STRING } -void NiBSAnimationNode::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSAnimationNode::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_B_S_ANIMATION_NODE_FIXLINKS } diff --git a/src/obj/NiBSBoneLODController.cpp b/src/obj/NiBSBoneLODController.cpp index 6fd795b20db9c52a2c6546c863f0c79e412d43e6..40c40070dc41b0746b996b4ef4cbec84c6a9d962 100644 --- a/src/obj/NiBSBoneLODController.cpp +++ b/src/obj/NiBSBoneLODController.cpp @@ -23,7 +23,7 @@ string NiBSBoneLODController::asString( bool verbose ) const { NI_B_S_BONE_L_O_D_CONTROLLER_STRING } -void NiBSBoneLODController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSBoneLODController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_B_S_BONE_L_O_D_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiBSPArrayController.cpp b/src/obj/NiBSPArrayController.cpp index b4d003fba0d92afe0ff5968fc3e8480d4938d895..af0bcd1285b13ee7242af62e56f7188933ae7043 100644 --- a/src/obj/NiBSPArrayController.cpp +++ b/src/obj/NiBSPArrayController.cpp @@ -23,7 +23,7 @@ string NiBSPArrayController::asString( bool verbose ) const { NI_B_S_P_ARRAY_CONTROLLER_STRING } -void NiBSPArrayController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSPArrayController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_B_S_P_ARRAY_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiBSParticleNode.cpp b/src/obj/NiBSParticleNode.cpp index 60d4ee9abfe2d337dcd78c26c62ebd8192ace2b4..1e47a22d7b6b81302bd7db2cf5e25eb5a1309f80 100644 --- a/src/obj/NiBSParticleNode.cpp +++ b/src/obj/NiBSParticleNode.cpp @@ -23,7 +23,7 @@ string NiBSParticleNode::asString( bool verbose ) const { NI_B_S_PARTICLE_NODE_STRING } -void NiBSParticleNode::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSParticleNode::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_B_S_PARTICLE_NODE_FIXLINKS } diff --git a/src/obj/NiBSplineBasisData.cpp b/src/obj/NiBSplineBasisData.cpp index 33e336e81908545087a76609314c8de8da8d2639..8c4c57666f5a9ff5c6c3744a18cc958b4d08c1d5 100644 --- a/src/obj/NiBSplineBasisData.cpp +++ b/src/obj/NiBSplineBasisData.cpp @@ -23,7 +23,7 @@ string NiBSplineBasisData::asString( bool verbose ) const { NI_B_SPLINE_BASIS_DATA_STRING } -void NiBSplineBasisData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSplineBasisData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_B_SPLINE_BASIS_DATA_FIXLINKS } diff --git a/src/obj/NiBSplineCompFloatInterpolator.cpp b/src/obj/NiBSplineCompFloatInterpolator.cpp index a45de58170ea214613d352f7be6fe6470d6ed93e..5a9d961de123191c8a37aa7b0a542eecc9ff1d34 100644 --- a/src/obj/NiBSplineCompFloatInterpolator.cpp +++ b/src/obj/NiBSplineCompFloatInterpolator.cpp @@ -23,7 +23,7 @@ string NiBSplineCompFloatInterpolator::asString( bool verbose ) const { NI_B_SPLINE_COMP_FLOAT_INTERPOLATOR_STRING } -void NiBSplineCompFloatInterpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSplineCompFloatInterpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_B_SPLINE_COMP_FLOAT_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiBSplineCompPoint3Interpolator.cpp b/src/obj/NiBSplineCompPoint3Interpolator.cpp index 8ecf3bb9a1b67a7d9bb3858875ca34cae376d6bb..c977a293f6ccf0733a0ab3db52b41f30e2aa120c 100644 --- a/src/obj/NiBSplineCompPoint3Interpolator.cpp +++ b/src/obj/NiBSplineCompPoint3Interpolator.cpp @@ -23,7 +23,7 @@ string NiBSplineCompPoint3Interpolator::asString( bool verbose ) const { NI_B_SPLINE_COMP_POINT3_INTERPOLATOR_STRING } -void NiBSplineCompPoint3Interpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSplineCompPoint3Interpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_B_SPLINE_COMP_POINT3_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiBSplineCompTransformInterpolator.cpp b/src/obj/NiBSplineCompTransformInterpolator.cpp index fe9ea520557e3210058ee87815ddeb91400911b1..80ca848397364fd016d1f456cc9e639a4009d4d7 100644 --- a/src/obj/NiBSplineCompTransformInterpolator.cpp +++ b/src/obj/NiBSplineCompTransformInterpolator.cpp @@ -29,7 +29,7 @@ string NiBSplineCompTransformInterpolator::asString( bool verbose ) const { NI_B_SPLINE_COMP_TRANSFORM_INTERPOLATOR_STRING } -void NiBSplineCompTransformInterpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSplineCompTransformInterpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_B_SPLINE_COMP_TRANSFORM_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiBSplineData.cpp b/src/obj/NiBSplineData.cpp index c2fe71838e846bd12ed19adfd8e9123f227eab54..5c716b161f36e01e29d9fbf87d4eab92899b4ee6 100644 --- a/src/obj/NiBSplineData.cpp +++ b/src/obj/NiBSplineData.cpp @@ -23,7 +23,7 @@ string NiBSplineData::asString( bool verbose ) const { NI_B_SPLINE_DATA_STRING } -void NiBSplineData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSplineData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_B_SPLINE_DATA_FIXLINKS } diff --git a/src/obj/NiBSplineInterpolator.cpp b/src/obj/NiBSplineInterpolator.cpp index d159d874fc7d208b881386090c7d0a9621f20872..1bd3714189ccb0ef4466942a109ef7995aeb60c9 100644 --- a/src/obj/NiBSplineInterpolator.cpp +++ b/src/obj/NiBSplineInterpolator.cpp @@ -25,7 +25,7 @@ string NiBSplineInterpolator::asString( bool verbose ) const { NI_B_SPLINE_INTERPOLATOR_STRING } -void NiBSplineInterpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBSplineInterpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_B_SPLINE_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiBillboardNode.cpp b/src/obj/NiBillboardNode.cpp index 14b82ffa4cc8345f8802f6beae22297c25013c52..c31e2bdb6df33e39aa46e07ac9c118ef86e0dc2c 100644 --- a/src/obj/NiBillboardNode.cpp +++ b/src/obj/NiBillboardNode.cpp @@ -23,7 +23,7 @@ string NiBillboardNode::asString( bool verbose ) const { NI_BILLBOARD_NODE_STRING } -void NiBillboardNode::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBillboardNode::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_BILLBOARD_NODE_FIXLINKS } diff --git a/src/obj/NiBinaryExtraData.cpp b/src/obj/NiBinaryExtraData.cpp index 462ca0eb7024d86fd49b25da648160d5e4864206..eb4e7288743606ae1ed00e5ba0240fa517067c84 100644 --- a/src/obj/NiBinaryExtraData.cpp +++ b/src/obj/NiBinaryExtraData.cpp @@ -24,7 +24,7 @@ string NiBinaryExtraData::asString( bool verbose ) const { NI_BINARY_EXTRA_DATA_STRING } -void NiBinaryExtraData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBinaryExtraData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_BINARY_EXTRA_DATA_FIXLINKS } diff --git a/src/obj/NiBlendBoolInterpolator.cpp b/src/obj/NiBlendBoolInterpolator.cpp index 2bf6e86ec18c182da64305eafc39422bbe2940d0..967d4075d1ea766e352154f07197d63c8a07c29a 100644 --- a/src/obj/NiBlendBoolInterpolator.cpp +++ b/src/obj/NiBlendBoolInterpolator.cpp @@ -23,7 +23,7 @@ string NiBlendBoolInterpolator::asString( bool verbose ) const { NI_BLEND_BOOL_INTERPOLATOR_STRING } -void NiBlendBoolInterpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBlendBoolInterpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_BLEND_BOOL_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiBlendFloatInterpolator.cpp b/src/obj/NiBlendFloatInterpolator.cpp index 3b177c7a8f8e4e94eebd08dbb02e1c630ed243d8..322bb0f3386bf59a937bd9f11a8bd0796251cb84 100644 --- a/src/obj/NiBlendFloatInterpolator.cpp +++ b/src/obj/NiBlendFloatInterpolator.cpp @@ -23,7 +23,7 @@ string NiBlendFloatInterpolator::asString( bool verbose ) const { NI_BLEND_FLOAT_INTERPOLATOR_STRING } -void NiBlendFloatInterpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBlendFloatInterpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_BLEND_FLOAT_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiBlendInterpolator.cpp b/src/obj/NiBlendInterpolator.cpp index 5f21ff2cfabba30d89eb85bf132710b9fdbe40fa..7f893c952d317bd917b979da370ed1821f8aad41 100644 --- a/src/obj/NiBlendInterpolator.cpp +++ b/src/obj/NiBlendInterpolator.cpp @@ -23,7 +23,7 @@ string NiBlendInterpolator::asString( bool verbose ) const { NI_BLEND_INTERPOLATOR_STRING } -void NiBlendInterpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBlendInterpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_BLEND_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiBlendPoint3Interpolator.cpp b/src/obj/NiBlendPoint3Interpolator.cpp index 1b48c8fcc3be941da30137051b320d65f265f1aa..b975f9d1d15c6395eab8906429c6ec71197f89c4 100644 --- a/src/obj/NiBlendPoint3Interpolator.cpp +++ b/src/obj/NiBlendPoint3Interpolator.cpp @@ -23,7 +23,7 @@ string NiBlendPoint3Interpolator::asString( bool verbose ) const { NI_BLEND_POINT3_INTERPOLATOR_STRING } -void NiBlendPoint3Interpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBlendPoint3Interpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_BLEND_POINT3_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiBlendTransformInterpolator.cpp b/src/obj/NiBlendTransformInterpolator.cpp index c0ef29acc84b89cc482b8acd22adab48ca35ada0..dada493902e6b6197a081656e8132514b426f600 100644 --- a/src/obj/NiBlendTransformInterpolator.cpp +++ b/src/obj/NiBlendTransformInterpolator.cpp @@ -23,7 +23,7 @@ string NiBlendTransformInterpolator::asString( bool verbose ) const { NI_BLEND_TRANSFORM_INTERPOLATOR_STRING } -void NiBlendTransformInterpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBlendTransformInterpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_BLEND_TRANSFORM_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiBoneLODController.cpp b/src/obj/NiBoneLODController.cpp index 06405920b1d546912419869f5406a9e5e06f55c6..b9d6d69b159fd92f4d230901b82e41e07be75b68 100644 --- a/src/obj/NiBoneLODController.cpp +++ b/src/obj/NiBoneLODController.cpp @@ -27,7 +27,7 @@ string NiBoneLODController::asString( bool verbose ) const { NI_BONE_L_O_D_CONTROLLER_STRING } -void NiBoneLODController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBoneLODController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_BONE_L_O_D_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiBoolData.cpp b/src/obj/NiBoolData.cpp index dc4160e93ff5f346eeb6055134b47abdedadb00a..b368df255457f47cf3fe8b1faf2637d19ae19048 100644 --- a/src/obj/NiBoolData.cpp +++ b/src/obj/NiBoolData.cpp @@ -24,7 +24,7 @@ string NiBoolData::asString( bool verbose ) const { NI_BOOL_DATA_STRING } -void NiBoolData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBoolData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_BOOL_DATA_FIXLINKS } diff --git a/src/obj/NiBoolInterpolator.cpp b/src/obj/NiBoolInterpolator.cpp index ef47d79b22954ee729a17213e6f5fb92fd3b0af0..bf76f7f087ff361bb28a82886568ef0c318945d1 100644 --- a/src/obj/NiBoolInterpolator.cpp +++ b/src/obj/NiBoolInterpolator.cpp @@ -24,7 +24,7 @@ string NiBoolInterpolator::asString( bool verbose ) const { NI_BOOL_INTERPOLATOR_STRING } -void NiBoolInterpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBoolInterpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_BOOL_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiBoolTimelineInterpolator.cpp b/src/obj/NiBoolTimelineInterpolator.cpp index 95dd6d24d11e9011ba92f715b91c4a9a70704a3f..f4c95e2aee113d4a07f2930c659f2c466f3b724e 100644 --- a/src/obj/NiBoolTimelineInterpolator.cpp +++ b/src/obj/NiBoolTimelineInterpolator.cpp @@ -24,7 +24,7 @@ string NiBoolTimelineInterpolator::asString( bool verbose ) const { NI_BOOL_TIMELINE_INTERPOLATOR_STRING } -void NiBoolTimelineInterpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBoolTimelineInterpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_BOOL_TIMELINE_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiBooleanExtraData.cpp b/src/obj/NiBooleanExtraData.cpp index 213798d36311882d13ec5eb9a44bd3fb41dcc5a0..878447f53833bfcf3c31991f38dca19fcaadc416 100644 --- a/src/obj/NiBooleanExtraData.cpp +++ b/src/obj/NiBooleanExtraData.cpp @@ -23,7 +23,7 @@ string NiBooleanExtraData::asString( bool verbose ) const { NI_BOOLEAN_EXTRA_DATA_STRING } -void NiBooleanExtraData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiBooleanExtraData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_BOOLEAN_EXTRA_DATA_FIXLINKS } diff --git a/src/obj/NiCamera.cpp b/src/obj/NiCamera.cpp index 3495653ca6d9f9bde04420d30dd37c628bdf4a63..a75f33b3857b075ce95c2904e134406d6f954e9d 100644 --- a/src/obj/NiCamera.cpp +++ b/src/obj/NiCamera.cpp @@ -24,7 +24,7 @@ string NiCamera::asString( bool verbose ) const { NI_CAMERA_STRING } -void NiCamera::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiCamera::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_CAMERA_FIXLINKS } diff --git a/src/obj/NiClod.cpp b/src/obj/NiClod.cpp index 536b1a98a98df8034077d879a3e1e136d33e7f9b..4aa86783689658acb8eeddabf89cc575300e3ebb 100644 --- a/src/obj/NiClod.cpp +++ b/src/obj/NiClod.cpp @@ -23,7 +23,7 @@ string NiClod::asString( bool verbose ) const { NI_CLOD_STRING } -void NiClod::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiClod::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_CLOD_FIXLINKS } diff --git a/src/obj/NiClodData.cpp b/src/obj/NiClodData.cpp index b7af336893ce2eba64aeaf4a54d5395659549fd5..4e8d22af6ad25108c2ddce6b94914c2478f5836d 100644 --- a/src/obj/NiClodData.cpp +++ b/src/obj/NiClodData.cpp @@ -23,7 +23,7 @@ string NiClodData::asString( bool verbose ) const { NI_CLOD_DATA_STRING } -void NiClodData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiClodData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_CLOD_DATA_FIXLINKS } diff --git a/src/obj/NiCollisionData.cpp b/src/obj/NiCollisionData.cpp index 9f7b3f366b668e45c0cd0e4fad986d9b5cc2b57f..1abfc17ab48eb29479569b5c95c210cc7dec57ad 100644 --- a/src/obj/NiCollisionData.cpp +++ b/src/obj/NiCollisionData.cpp @@ -24,7 +24,7 @@ string NiCollisionData::asString( bool verbose ) const { NI_COLLISION_DATA_STRING } -void NiCollisionData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiCollisionData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_COLLISION_DATA_FIXLINKS } diff --git a/src/obj/NiCollisionObject.cpp b/src/obj/NiCollisionObject.cpp index 7780ace72492aeb0a3aee3be8dd9f429d4b5ad11..d1e50b98b262c4b34ad6a892e107f5f833b5af9e 100644 --- a/src/obj/NiCollisionObject.cpp +++ b/src/obj/NiCollisionObject.cpp @@ -25,7 +25,7 @@ string NiCollisionObject::asString( bool verbose ) const { NI_COLLISION_OBJECT_STRING } -void NiCollisionObject::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiCollisionObject::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_COLLISION_OBJECT_FIXLINKS } diff --git a/src/obj/NiColorData.cpp b/src/obj/NiColorData.cpp index 6f69fa245a1c32a2bfb12280d1a5420726758bb3..962a55dffa23acf37c402287780bebe708243f61 100644 --- a/src/obj/NiColorData.cpp +++ b/src/obj/NiColorData.cpp @@ -24,7 +24,7 @@ string NiColorData::asString( bool verbose ) const { NI_COLOR_DATA_STRING } -void NiColorData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiColorData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_COLOR_DATA_FIXLINKS } diff --git a/src/obj/NiColorExtraData.cpp b/src/obj/NiColorExtraData.cpp index 6c0604f94adaddfa74f771ae3e7592008d41a4fe..39c4f3587fc81d12d742bb2dfaccbd133092b5de 100644 --- a/src/obj/NiColorExtraData.cpp +++ b/src/obj/NiColorExtraData.cpp @@ -23,7 +23,7 @@ string NiColorExtraData::asString( bool verbose ) const { NI_COLOR_EXTRA_DATA_STRING } -void NiColorExtraData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiColorExtraData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_COLOR_EXTRA_DATA_FIXLINKS } diff --git a/src/obj/NiControllerManager.cpp b/src/obj/NiControllerManager.cpp index 8cc85f49732195b9f9a0b05b8c958a18bd5e61bd..dbd408595c9d1d29beec9d897bdb567c599a50b4 100644 --- a/src/obj/NiControllerManager.cpp +++ b/src/obj/NiControllerManager.cpp @@ -26,7 +26,7 @@ string NiControllerManager::asString( bool verbose ) const { NI_CONTROLLER_MANAGER_STRING } -void NiControllerManager::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiControllerManager::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_CONTROLLER_MANAGER_FIXLINKS } diff --git a/src/obj/NiControllerSequence.cpp b/src/obj/NiControllerSequence.cpp index e0d68c90e821da0947892c4f03535178a3a8a710..125a71968f12762a13ec18dc5c77eb1e3188f2cc 100644 --- a/src/obj/NiControllerSequence.cpp +++ b/src/obj/NiControllerSequence.cpp @@ -35,7 +35,7 @@ string NiControllerSequence::asString( bool verbose ) const { NI_CONTROLLER_SEQUENCE_STRING } -void NiControllerSequence::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiControllerSequence::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_CONTROLLER_SEQUENCE_FIXLINKS } diff --git a/src/obj/NiDefaultAVObjectPalette.cpp b/src/obj/NiDefaultAVObjectPalette.cpp index bfbf5b65b84a993574652d3705f94d14463a68dc..c9851d7d2ccc91393fb62bb001f76022ea53457c 100644 --- a/src/obj/NiDefaultAVObjectPalette.cpp +++ b/src/obj/NiDefaultAVObjectPalette.cpp @@ -25,7 +25,7 @@ string NiDefaultAVObjectPalette::asString( bool verbose ) const { NI_DEFAULT_A_V_OBJECT_PALETTE_STRING } -void NiDefaultAVObjectPalette::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiDefaultAVObjectPalette::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_DEFAULT_A_V_OBJECT_PALETTE_FIXLINKS } diff --git a/src/obj/NiDirectionalLight.cpp b/src/obj/NiDirectionalLight.cpp index a26e8adb725274d6150508b8a0d5eaac23cdffc7..e24e479ccea2c679ce364fee6ec2c73a3562344b 100644 --- a/src/obj/NiDirectionalLight.cpp +++ b/src/obj/NiDirectionalLight.cpp @@ -23,7 +23,7 @@ string NiDirectionalLight::asString( bool verbose ) const { NI_DIRECTIONAL_LIGHT_STRING } -void NiDirectionalLight::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiDirectionalLight::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_DIRECTIONAL_LIGHT_FIXLINKS } diff --git a/src/obj/NiDitherProperty.cpp b/src/obj/NiDitherProperty.cpp index c0f868f41597f216381c1a8a1ffe4f2313cdc754..7d0456f45cadd162822c02d3ae0e4341820e53d9 100644 --- a/src/obj/NiDitherProperty.cpp +++ b/src/obj/NiDitherProperty.cpp @@ -23,7 +23,7 @@ string NiDitherProperty::asString( bool verbose ) const { NI_DITHER_PROPERTY_STRING } -void NiDitherProperty::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiDitherProperty::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_DITHER_PROPERTY_FIXLINKS } diff --git a/src/obj/NiDynamicEffect.cpp b/src/obj/NiDynamicEffect.cpp index 945237ede3891617778a515170b48aae9f0aa9b9..a8666134292756a41f992e945dd2b55e9b242cd2 100644 --- a/src/obj/NiDynamicEffect.cpp +++ b/src/obj/NiDynamicEffect.cpp @@ -24,7 +24,7 @@ string NiDynamicEffect::asString( bool verbose ) const { NI_DYNAMIC_EFFECT_STRING } -void NiDynamicEffect::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiDynamicEffect::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_DYNAMIC_EFFECT_FIXLINKS } diff --git a/src/obj/NiExtraData.cpp b/src/obj/NiExtraData.cpp index 73c5555240c200d357238eef3dd065da8bb784ec..77d73aff41b407b18ede7d0901646439400ac7e6 100644 --- a/src/obj/NiExtraData.cpp +++ b/src/obj/NiExtraData.cpp @@ -23,7 +23,7 @@ string NiExtraData::asString( bool verbose ) const { NI_EXTRA_DATA_STRING } -void NiExtraData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiExtraData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_EXTRA_DATA_FIXLINKS } diff --git a/src/obj/NiFlipController.cpp b/src/obj/NiFlipController.cpp index ae9711f5d6905b8ece5e63ce4bb5f9df50d13105..abe2b0b182a4e5718d52de4346bc17c5d4e42454 100644 --- a/src/obj/NiFlipController.cpp +++ b/src/obj/NiFlipController.cpp @@ -24,7 +24,7 @@ string NiFlipController::asString( bool verbose ) const { NI_FLIP_CONTROLLER_STRING } -void NiFlipController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiFlipController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_FLIP_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiFloatData.cpp b/src/obj/NiFloatData.cpp index 8dc8d68880a8add04927a26d6505081f7830ba19..11f3ce6c1ea5b824169e86521ce4b495ebcbda00 100644 --- a/src/obj/NiFloatData.cpp +++ b/src/obj/NiFloatData.cpp @@ -24,7 +24,7 @@ string NiFloatData::asString( bool verbose ) const { NI_FLOAT_DATA_STRING } -void NiFloatData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiFloatData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_FLOAT_DATA_FIXLINKS } diff --git a/src/obj/NiFloatExtraData.cpp b/src/obj/NiFloatExtraData.cpp index b11eff524a374fdca0d0e42533e9f1f90c1fea91..485b87c31180a033cb0d2a127204e7b7c82ddb47 100644 --- a/src/obj/NiFloatExtraData.cpp +++ b/src/obj/NiFloatExtraData.cpp @@ -23,7 +23,7 @@ string NiFloatExtraData::asString( bool verbose ) const { NI_FLOAT_EXTRA_DATA_STRING } -void NiFloatExtraData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiFloatExtraData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_FLOAT_EXTRA_DATA_FIXLINKS } diff --git a/src/obj/NiFloatExtraDataController.cpp b/src/obj/NiFloatExtraDataController.cpp index 4b4fd9b90270213df29e887c5220d3c81cb0fd9b..dca04606cf965977c5551a31b2dc931a4700238b 100644 --- a/src/obj/NiFloatExtraDataController.cpp +++ b/src/obj/NiFloatExtraDataController.cpp @@ -24,7 +24,7 @@ string NiFloatExtraDataController::asString( bool verbose ) const { NI_FLOAT_EXTRA_DATA_CONTROLLER_STRING } -void NiFloatExtraDataController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiFloatExtraDataController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_FLOAT_EXTRA_DATA_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiFloatInterpolator.cpp b/src/obj/NiFloatInterpolator.cpp index 9ea6f2effe5bc6877b6701a0ff85866844f7ef97..b5c62019260dec0cbde537184abef940b1bf18bc 100644 --- a/src/obj/NiFloatInterpolator.cpp +++ b/src/obj/NiFloatInterpolator.cpp @@ -24,7 +24,7 @@ string NiFloatInterpolator::asString( bool verbose ) const { NI_FLOAT_INTERPOLATOR_STRING } -void NiFloatInterpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiFloatInterpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_FLOAT_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiFloatsExtraData.cpp b/src/obj/NiFloatsExtraData.cpp index bb673bf8bcc0e1b484b4e1d7333c5cdca0a3edbf..17b26f6f1f2290d38c132d5ff59ec478fa7f5db8 100644 --- a/src/obj/NiFloatsExtraData.cpp +++ b/src/obj/NiFloatsExtraData.cpp @@ -23,7 +23,7 @@ string NiFloatsExtraData::asString( bool verbose ) const { NI_FLOATS_EXTRA_DATA_STRING } -void NiFloatsExtraData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiFloatsExtraData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_FLOATS_EXTRA_DATA_FIXLINKS } diff --git a/src/obj/NiFogProperty.cpp b/src/obj/NiFogProperty.cpp index f89e4006e1fa9e8da50c1e61743ce228df7ab53a..a79f6583065300c6ebc1c9f4a0d34eb5e1897d72 100644 --- a/src/obj/NiFogProperty.cpp +++ b/src/obj/NiFogProperty.cpp @@ -23,7 +23,7 @@ string NiFogProperty::asString( bool verbose ) const { NI_FOG_PROPERTY_STRING } -void NiFogProperty::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiFogProperty::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_FOG_PROPERTY_FIXLINKS } diff --git a/src/obj/NiGeomMorpherController.cpp b/src/obj/NiGeomMorpherController.cpp index 41ef12163ae20298b2de51cff56740b0c5dfc24d..dff5aa98b1f15a7e6f65b7ddede7f44421b3cf97 100644 --- a/src/obj/NiGeomMorpherController.cpp +++ b/src/obj/NiGeomMorpherController.cpp @@ -25,7 +25,7 @@ string NiGeomMorpherController::asString( bool verbose ) const { NI_GEOM_MORPHER_CONTROLLER_STRING } -void NiGeomMorpherController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiGeomMorpherController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_GEOM_MORPHER_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiGravity.cpp b/src/obj/NiGravity.cpp index ee33a55e0ced281cbca1625f2f8017ca0898c26a..c805a3092e48d7d63b8a624c11bea0767d1604f6 100644 --- a/src/obj/NiGravity.cpp +++ b/src/obj/NiGravity.cpp @@ -23,7 +23,7 @@ string NiGravity::asString( bool verbose ) const { NI_GRAVITY_STRING } -void NiGravity::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiGravity::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_GRAVITY_FIXLINKS } diff --git a/src/obj/NiIntegerExtraData.cpp b/src/obj/NiIntegerExtraData.cpp index f0bd28b8c43b71a2240a02d007f2d4d6db0d679b..cf7ec8877f42f7fc05dfaa201cf1c2ea87bf5779 100644 --- a/src/obj/NiIntegerExtraData.cpp +++ b/src/obj/NiIntegerExtraData.cpp @@ -23,7 +23,7 @@ string NiIntegerExtraData::asString( bool verbose ) const { NI_INTEGER_EXTRA_DATA_STRING } -void NiIntegerExtraData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiIntegerExtraData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_INTEGER_EXTRA_DATA_FIXLINKS } diff --git a/src/obj/NiIntegersExtraData.cpp b/src/obj/NiIntegersExtraData.cpp index 666724978e92e4b08ff1413055eda944f0bbec83..56bb7e2d834e126538fa7b4f47b7553dd8322ba7 100644 --- a/src/obj/NiIntegersExtraData.cpp +++ b/src/obj/NiIntegersExtraData.cpp @@ -23,7 +23,7 @@ string NiIntegersExtraData::asString( bool verbose ) const { NI_INTEGERS_EXTRA_DATA_STRING } -void NiIntegersExtraData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiIntegersExtraData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_INTEGERS_EXTRA_DATA_FIXLINKS } diff --git a/src/obj/NiInterpolator.cpp b/src/obj/NiInterpolator.cpp index 4d1b78a428bd9970bf42fe79d5a9b9d67f3b72cf..53fdd111ce8b0a0affd1271b17d744b1840c466d 100644 --- a/src/obj/NiInterpolator.cpp +++ b/src/obj/NiInterpolator.cpp @@ -23,7 +23,7 @@ string NiInterpolator::asString( bool verbose ) const { NI_INTERPOLATOR_STRING } -void NiInterpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiInterpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiKeyframeController.cpp b/src/obj/NiKeyframeController.cpp index 46d01d4a25ac64f84e42b7048b5e262d41bc29dc..6f015f59e342427c99d0f9df91c94eef6dbb36ab 100644 --- a/src/obj/NiKeyframeController.cpp +++ b/src/obj/NiKeyframeController.cpp @@ -24,7 +24,7 @@ string NiKeyframeController::asString( bool verbose ) const { NI_KEYFRAME_CONTROLLER_STRING } -void NiKeyframeController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiKeyframeController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_KEYFRAME_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiKeyframeData.cpp b/src/obj/NiKeyframeData.cpp index 2dac08ca8e75e4f2f18e5630b3bdb45d83e11ed8..7a82970b854f2c9327c96510b1e5cd6e07947a1c 100644 --- a/src/obj/NiKeyframeData.cpp +++ b/src/obj/NiKeyframeData.cpp @@ -24,7 +24,7 @@ string NiKeyframeData::asString( bool verbose ) const { NI_KEYFRAME_DATA_STRING } -void NiKeyframeData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiKeyframeData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_KEYFRAME_DATA_FIXLINKS } diff --git a/src/obj/NiLODData.cpp b/src/obj/NiLODData.cpp index 5029d088daf2cd61050a74c1591c575fa4c9288c..881e01ab6dd95e1bd19a0007b4f96dc1d44e4d78 100644 --- a/src/obj/NiLODData.cpp +++ b/src/obj/NiLODData.cpp @@ -23,7 +23,7 @@ string NiLODData::asString( bool verbose ) const { NI_L_O_D_DATA_STRING } -void NiLODData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiLODData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_L_O_D_DATA_FIXLINKS } diff --git a/src/obj/NiLODNode.cpp b/src/obj/NiLODNode.cpp index f339e8467d25364cfd7bef5695797618f31c1857..d90b4faefd55c1b843355835b66aafb2fd04c262 100644 --- a/src/obj/NiLODNode.cpp +++ b/src/obj/NiLODNode.cpp @@ -25,7 +25,7 @@ string NiLODNode::asString( bool verbose ) const { NI_L_O_D_NODE_STRING } -void NiLODNode::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiLODNode::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_L_O_D_NODE_FIXLINKS } diff --git a/src/obj/NiLight.cpp b/src/obj/NiLight.cpp index ccc1dcc8547f5845107280489d700f421b41d283..c8aa701f6c1e1052e6b1aeb06986b6780a7e1d89 100644 --- a/src/obj/NiLight.cpp +++ b/src/obj/NiLight.cpp @@ -23,7 +23,7 @@ string NiLight::asString( bool verbose ) const { NI_LIGHT_STRING } -void NiLight::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiLight::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_LIGHT_FIXLINKS } diff --git a/src/obj/NiLightColorController.cpp b/src/obj/NiLightColorController.cpp index 80015abe6b800162c5b2cef7c93af0f82bae10c9..9920cb3f8670cdc8ab5a692124414f9028df8764 100644 --- a/src/obj/NiLightColorController.cpp +++ b/src/obj/NiLightColorController.cpp @@ -25,7 +25,7 @@ string NiLightColorController::asString( bool verbose ) const { NI_LIGHT_COLOR_CONTROLLER_STRING } -void NiLightColorController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiLightColorController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_LIGHT_COLOR_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiLightDimmerController.cpp b/src/obj/NiLightDimmerController.cpp index 2d86c621fa8b89f2b77f70a70c76b15c06e150cf..8b6e87bc30ce0cf40d31045985fbdfcad5acda15 100644 --- a/src/obj/NiLightDimmerController.cpp +++ b/src/obj/NiLightDimmerController.cpp @@ -24,7 +24,7 @@ string NiLightDimmerController::asString( bool verbose ) const { NI_LIGHT_DIMMER_CONTROLLER_STRING } -void NiLightDimmerController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiLightDimmerController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_LIGHT_DIMMER_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiLookAtController.cpp b/src/obj/NiLookAtController.cpp index 056ac84fb797d47797bacaa61b59dd174c914362..fcbd4861062239265a8989133b2166e08f9523c7 100644 --- a/src/obj/NiLookAtController.cpp +++ b/src/obj/NiLookAtController.cpp @@ -24,7 +24,7 @@ string NiLookAtController::asString( bool verbose ) const { NI_LOOK_AT_CONTROLLER_STRING } -void NiLookAtController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiLookAtController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_LOOK_AT_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiLookAtInterpolator.cpp b/src/obj/NiLookAtInterpolator.cpp index 4735a7f7aee0e717104e2a902c9bdbc171d1d538..dbcc883423c45533480faca271b61ad1a81d4945 100644 --- a/src/obj/NiLookAtInterpolator.cpp +++ b/src/obj/NiLookAtInterpolator.cpp @@ -26,7 +26,7 @@ string NiLookAtInterpolator::asString( bool verbose ) const { NI_LOOK_AT_INTERPOLATOR_STRING } -void NiLookAtInterpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiLookAtInterpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_LOOK_AT_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiMaterialColorController.cpp b/src/obj/NiMaterialColorController.cpp index 868be206853d8a43e7202c2d79792e7486029c49..34717ceaa54596cc94487d719eb0b6760b19bfe0 100644 --- a/src/obj/NiMaterialColorController.cpp +++ b/src/obj/NiMaterialColorController.cpp @@ -24,7 +24,7 @@ string NiMaterialColorController::asString( bool verbose ) const { NI_MATERIAL_COLOR_CONTROLLER_STRING } -void NiMaterialColorController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiMaterialColorController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_MATERIAL_COLOR_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiMaterialProperty.cpp b/src/obj/NiMaterialProperty.cpp index 0c036848d2a10ca7a1778321ebbaa23525b94b38..08e16666f4c45f0428b4123403b314b55a0b73da 100644 --- a/src/obj/NiMaterialProperty.cpp +++ b/src/obj/NiMaterialProperty.cpp @@ -23,7 +23,7 @@ string NiMaterialProperty::asString( bool verbose ) const { NI_MATERIAL_PROPERTY_STRING } -void NiMaterialProperty::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiMaterialProperty::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_MATERIAL_PROPERTY_FIXLINKS } diff --git a/src/obj/NiMeshPSysData.cpp b/src/obj/NiMeshPSysData.cpp index f28a42c1f05753167fa9d6103981c81f8cd37338..4dfeed7ab89a9c586da779d97ad560ba75791009 100644 --- a/src/obj/NiMeshPSysData.cpp +++ b/src/obj/NiMeshPSysData.cpp @@ -25,7 +25,7 @@ string NiMeshPSysData::asString( bool verbose ) const { NI_MESH_P_SYS_DATA_STRING } -void NiMeshPSysData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiMeshPSysData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_MESH_P_SYS_DATA_FIXLINKS } diff --git a/src/obj/NiMeshParticleSystem.cpp b/src/obj/NiMeshParticleSystem.cpp index 0126f8b610118364fbf28b2375256b1ce2499c31..170abb4a1af302b27bd20bc4dcb79ca1e148037d 100644 --- a/src/obj/NiMeshParticleSystem.cpp +++ b/src/obj/NiMeshParticleSystem.cpp @@ -23,7 +23,7 @@ string NiMeshParticleSystem::asString( bool verbose ) const { NI_MESH_PARTICLE_SYSTEM_STRING } -void NiMeshParticleSystem::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiMeshParticleSystem::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_MESH_PARTICLE_SYSTEM_FIXLINKS } diff --git a/src/obj/NiMorphData.cpp b/src/obj/NiMorphData.cpp index e8dedfc2b9a61ea6b5d02314d5e03fcea4cd9e32..b9c7bf633dc94aef4e7e60bc148ac8d37b239768 100644 --- a/src/obj/NiMorphData.cpp +++ b/src/obj/NiMorphData.cpp @@ -24,7 +24,7 @@ string NiMorphData::asString( bool verbose ) const { NI_MORPH_DATA_STRING } -void NiMorphData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiMorphData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_MORPH_DATA_FIXLINKS } diff --git a/src/obj/NiMultiTargetTransformController.cpp b/src/obj/NiMultiTargetTransformController.cpp index bb27778eb558d4be59ab957cfc331bbf38dc307d..55c480033abde01433ccb05b7d2f1ee632755c01 100644 --- a/src/obj/NiMultiTargetTransformController.cpp +++ b/src/obj/NiMultiTargetTransformController.cpp @@ -25,7 +25,7 @@ string NiMultiTargetTransformController::asString( bool verbose ) const { NI_MULTI_TARGET_TRANSFORM_CONTROLLER_STRING } -void NiMultiTargetTransformController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiMultiTargetTransformController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_MULTI_TARGET_TRANSFORM_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiNode.cpp b/src/obj/NiNode.cpp index 09efdbccdfc362973b14eccb3f9fbaec0422a7a6..642f59abe55e385dbb054312c35492f811eba3d3 100644 --- a/src/obj/NiNode.cpp +++ b/src/obj/NiNode.cpp @@ -39,7 +39,7 @@ string NiNode::asString( bool verbose ) const { NI_NODE_STRING } -void NiNode::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiNode::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_NODE_FIXLINKS //Connect children to their parents and remove any NULL ones for ( vector< NiAVObjectRef >::iterator it = children.begin(); it != children.end(); ) { diff --git a/src/obj/NiObjectNET.cpp b/src/obj/NiObjectNET.cpp index dc039c025a167f6b5866b96e2917ba0dd118c108..39b384af61a093984d6d59dc2126bb2ae9f81c9c 100644 --- a/src/obj/NiObjectNET.cpp +++ b/src/obj/NiObjectNET.cpp @@ -29,7 +29,7 @@ string NiObjectNET::asString( bool verbose ) const { NI_OBJECT_N_E_T_STRING } -void NiObjectNET::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiObjectNET::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_OBJECT_N_E_T_FIXLINKS } diff --git a/src/obj/NiPSysAgeDeathModifier.cpp b/src/obj/NiPSysAgeDeathModifier.cpp index cd011126e638693474ff41fbe143ab8f1b2521f3..217f71415c0d8ea00adef38829b50bcea5b1f259 100644 --- a/src/obj/NiPSysAgeDeathModifier.cpp +++ b/src/obj/NiPSysAgeDeathModifier.cpp @@ -24,7 +24,7 @@ string NiPSysAgeDeathModifier::asString( bool verbose ) const { NI_P_SYS_AGE_DEATH_MODIFIER_STRING } -void NiPSysAgeDeathModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysAgeDeathModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_AGE_DEATH_MODIFIER_FIXLINKS } diff --git a/src/obj/NiPSysBombModifier.cpp b/src/obj/NiPSysBombModifier.cpp index 9eefaa97789abde9a23f9c93039aae3cc7782c65..0d1efc25dd3d49a54fd559dfc22c5c41b41a309f 100644 --- a/src/obj/NiPSysBombModifier.cpp +++ b/src/obj/NiPSysBombModifier.cpp @@ -24,7 +24,7 @@ string NiPSysBombModifier::asString( bool verbose ) const { NI_P_SYS_BOMB_MODIFIER_STRING } -void NiPSysBombModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysBombModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_BOMB_MODIFIER_FIXLINKS } diff --git a/src/obj/NiPSysBoundUpdateModifier.cpp b/src/obj/NiPSysBoundUpdateModifier.cpp index 9a6a64a015ae16cdad2387a711efdad38317ac3c..bf8244dc98e86767671e512c700d9def09e40982 100644 --- a/src/obj/NiPSysBoundUpdateModifier.cpp +++ b/src/obj/NiPSysBoundUpdateModifier.cpp @@ -23,7 +23,7 @@ string NiPSysBoundUpdateModifier::asString( bool verbose ) const { NI_P_SYS_BOUND_UPDATE_MODIFIER_STRING } -void NiPSysBoundUpdateModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysBoundUpdateModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_BOUND_UPDATE_MODIFIER_FIXLINKS } diff --git a/src/obj/NiPSysBoxEmitter.cpp b/src/obj/NiPSysBoxEmitter.cpp index 5e73d22c4ad9efffe65476da167ec06866565686..888a2ec91d0cf04423fc27baf163e5cb460af7eb 100644 --- a/src/obj/NiPSysBoxEmitter.cpp +++ b/src/obj/NiPSysBoxEmitter.cpp @@ -23,7 +23,7 @@ string NiPSysBoxEmitter::asString( bool verbose ) const { NI_P_SYS_BOX_EMITTER_STRING } -void NiPSysBoxEmitter::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysBoxEmitter::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_BOX_EMITTER_FIXLINKS } diff --git a/src/obj/NiPSysColliderManager.cpp b/src/obj/NiPSysColliderManager.cpp index d67b5fa42b6acf7dc870d4e4294be25eb24b2bd5..4f9646a7d8685c9bc117309accd496e196af2e99 100644 --- a/src/obj/NiPSysColliderManager.cpp +++ b/src/obj/NiPSysColliderManager.cpp @@ -24,7 +24,7 @@ string NiPSysColliderManager::asString( bool verbose ) const { NI_P_SYS_COLLIDER_MANAGER_STRING } -void NiPSysColliderManager::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysColliderManager::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_COLLIDER_MANAGER_FIXLINKS } diff --git a/src/obj/NiPSysColorModifier.cpp b/src/obj/NiPSysColorModifier.cpp index 74947f329aa8485c07f50aea9c83412127b9b9d2..6b67ce5216c4052e826d994d0e5ec838fba9750b 100644 --- a/src/obj/NiPSysColorModifier.cpp +++ b/src/obj/NiPSysColorModifier.cpp @@ -24,7 +24,7 @@ string NiPSysColorModifier::asString( bool verbose ) const { NI_P_SYS_COLOR_MODIFIER_STRING } -void NiPSysColorModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysColorModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_COLOR_MODIFIER_FIXLINKS } diff --git a/src/obj/NiPSysCylinderEmitter.cpp b/src/obj/NiPSysCylinderEmitter.cpp index aefe22e712229ff841183a22d6766f5273a96c32..0859ee358fe18da3b574f154d5a7dfb303abb3fa 100644 --- a/src/obj/NiPSysCylinderEmitter.cpp +++ b/src/obj/NiPSysCylinderEmitter.cpp @@ -23,7 +23,7 @@ string NiPSysCylinderEmitter::asString( bool verbose ) const { NI_P_SYS_CYLINDER_EMITTER_STRING } -void NiPSysCylinderEmitter::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysCylinderEmitter::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_CYLINDER_EMITTER_FIXLINKS } diff --git a/src/obj/NiPSysData.cpp b/src/obj/NiPSysData.cpp index 2b864c6f74fad07e8ab5654a25b9e08f7a19d97a..b64ee33618f2e7145aafe944aa2b7c2a755a534d 100644 --- a/src/obj/NiPSysData.cpp +++ b/src/obj/NiPSysData.cpp @@ -23,7 +23,7 @@ string NiPSysData::asString( bool verbose ) const { NI_P_SYS_DATA_STRING } -void NiPSysData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_DATA_FIXLINKS } diff --git a/src/obj/NiPSysDragModifier.cpp b/src/obj/NiPSysDragModifier.cpp index 1a79567b857062df619e6206fea79b3917a03233..fa530a05a6c71d9ffbaba7ad2f7f7aaa2a53d80d 100644 --- a/src/obj/NiPSysDragModifier.cpp +++ b/src/obj/NiPSysDragModifier.cpp @@ -24,7 +24,7 @@ string NiPSysDragModifier::asString( bool verbose ) const { NI_P_SYS_DRAG_MODIFIER_STRING } -void NiPSysDragModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysDragModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_DRAG_MODIFIER_FIXLINKS } diff --git a/src/obj/NiPSysEmitter.cpp b/src/obj/NiPSysEmitter.cpp index fe9c9c1120c8d9c494c054efaaa0b30e2ed23623..28a92a8afc179c062bb10c17695ad392a6ac5e57 100644 --- a/src/obj/NiPSysEmitter.cpp +++ b/src/obj/NiPSysEmitter.cpp @@ -23,7 +23,7 @@ string NiPSysEmitter::asString( bool verbose ) const { NI_P_SYS_EMITTER_STRING } -void NiPSysEmitter::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitter::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_EMITTER_FIXLINKS } diff --git a/src/obj/NiPSysEmitterCtlr.cpp b/src/obj/NiPSysEmitterCtlr.cpp index 04284207c0345537e75afda130fb487f80d0a842..e9ef24944c5b60d9f087e0309115c26e673ad1d8 100644 --- a/src/obj/NiPSysEmitterCtlr.cpp +++ b/src/obj/NiPSysEmitterCtlr.cpp @@ -25,7 +25,7 @@ string NiPSysEmitterCtlr::asString( bool verbose ) const { NI_P_SYS_EMITTER_CTLR_STRING } -void NiPSysEmitterCtlr::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitterCtlr::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_EMITTER_CTLR_FIXLINKS } diff --git a/src/obj/NiPSysEmitterCtlrData.cpp b/src/obj/NiPSysEmitterCtlrData.cpp index a41c24b04b6bf75567c5aef158e280fc5705ce94..5b4b9f12f5d17eddb40b81e0a2fc4e7fd3203679 100644 --- a/src/obj/NiPSysEmitterCtlrData.cpp +++ b/src/obj/NiPSysEmitterCtlrData.cpp @@ -24,7 +24,7 @@ string NiPSysEmitterCtlrData::asString( bool verbose ) const { NI_P_SYS_EMITTER_CTLR_DATA_STRING } -void NiPSysEmitterCtlrData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitterCtlrData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_EMITTER_CTLR_DATA_FIXLINKS } diff --git a/src/obj/NiPSysEmitterDeclinationCtlr.cpp b/src/obj/NiPSysEmitterDeclinationCtlr.cpp index ac8eeaa5165211e652a35d8e0e4b1e4efaa4dc06..8e39b94af9e43091809de32170e812c174b38411 100644 --- a/src/obj/NiPSysEmitterDeclinationCtlr.cpp +++ b/src/obj/NiPSysEmitterDeclinationCtlr.cpp @@ -23,7 +23,7 @@ string NiPSysEmitterDeclinationCtlr::asString( bool verbose ) const { NI_P_SYS_EMITTER_DECLINATION_CTLR_STRING } -void NiPSysEmitterDeclinationCtlr::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitterDeclinationCtlr::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_EMITTER_DECLINATION_CTLR_FIXLINKS } diff --git a/src/obj/NiPSysEmitterDeclinationVarCtlr.cpp b/src/obj/NiPSysEmitterDeclinationVarCtlr.cpp index 6b9827adaf258f9c1dfe9cc6f9161bdf19b94d41..34c99eae44fdc491122cd141c81ef163a59b2712 100644 --- a/src/obj/NiPSysEmitterDeclinationVarCtlr.cpp +++ b/src/obj/NiPSysEmitterDeclinationVarCtlr.cpp @@ -23,7 +23,7 @@ string NiPSysEmitterDeclinationVarCtlr::asString( bool verbose ) const { NI_P_SYS_EMITTER_DECLINATION_VAR_CTLR_STRING } -void NiPSysEmitterDeclinationVarCtlr::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitterDeclinationVarCtlr::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_EMITTER_DECLINATION_VAR_CTLR_FIXLINKS } diff --git a/src/obj/NiPSysEmitterInitialRadiusCtlr.cpp b/src/obj/NiPSysEmitterInitialRadiusCtlr.cpp index 2bd816b4bfe713289c5dbf154a17967ab6361483..3f42bc74d76cf0ac93472301c41f499b1fe3f15d 100644 --- a/src/obj/NiPSysEmitterInitialRadiusCtlr.cpp +++ b/src/obj/NiPSysEmitterInitialRadiusCtlr.cpp @@ -23,7 +23,7 @@ string NiPSysEmitterInitialRadiusCtlr::asString( bool verbose ) const { NI_P_SYS_EMITTER_INITIAL_RADIUS_CTLR_STRING } -void NiPSysEmitterInitialRadiusCtlr::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitterInitialRadiusCtlr::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_EMITTER_INITIAL_RADIUS_CTLR_FIXLINKS } diff --git a/src/obj/NiPSysEmitterLifeSpanCtlr.cpp b/src/obj/NiPSysEmitterLifeSpanCtlr.cpp index be994f56333428270e058b5608c34b960cc13b65..81254106148f31ca8e2bb13a631f33ffddf3dbb9 100644 --- a/src/obj/NiPSysEmitterLifeSpanCtlr.cpp +++ b/src/obj/NiPSysEmitterLifeSpanCtlr.cpp @@ -23,7 +23,7 @@ string NiPSysEmitterLifeSpanCtlr::asString( bool verbose ) const { NI_P_SYS_EMITTER_LIFE_SPAN_CTLR_STRING } -void NiPSysEmitterLifeSpanCtlr::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitterLifeSpanCtlr::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_EMITTER_LIFE_SPAN_CTLR_FIXLINKS } diff --git a/src/obj/NiPSysEmitterSpeedCtlr.cpp b/src/obj/NiPSysEmitterSpeedCtlr.cpp index e1d26bffb23473867feee53347931092cdf24007..c31ce1ed3eb63774c4a42bace8bb42d49c8dbcd0 100644 --- a/src/obj/NiPSysEmitterSpeedCtlr.cpp +++ b/src/obj/NiPSysEmitterSpeedCtlr.cpp @@ -23,7 +23,7 @@ string NiPSysEmitterSpeedCtlr::asString( bool verbose ) const { NI_P_SYS_EMITTER_SPEED_CTLR_STRING } -void NiPSysEmitterSpeedCtlr::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysEmitterSpeedCtlr::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_EMITTER_SPEED_CTLR_FIXLINKS } diff --git a/src/obj/NiPSysGravityModifier.cpp b/src/obj/NiPSysGravityModifier.cpp index 7635ecb9bdfe10d9cab071d5388669013a9b1b9f..64387a9fb98515f2f05340bab21bf420e7c5a613 100644 --- a/src/obj/NiPSysGravityModifier.cpp +++ b/src/obj/NiPSysGravityModifier.cpp @@ -24,7 +24,7 @@ string NiPSysGravityModifier::asString( bool verbose ) const { NI_P_SYS_GRAVITY_MODIFIER_STRING } -void NiPSysGravityModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysGravityModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_GRAVITY_MODIFIER_FIXLINKS } diff --git a/src/obj/NiPSysGravityStrengthCtlr.cpp b/src/obj/NiPSysGravityStrengthCtlr.cpp index 511d9c3f9f123ca9e54cb30d9143e61b417d784a..ece29bdac9dd153c1cf46344cd7adc0fa25bca98 100644 --- a/src/obj/NiPSysGravityStrengthCtlr.cpp +++ b/src/obj/NiPSysGravityStrengthCtlr.cpp @@ -23,7 +23,7 @@ string NiPSysGravityStrengthCtlr::asString( bool verbose ) const { NI_P_SYS_GRAVITY_STRENGTH_CTLR_STRING } -void NiPSysGravityStrengthCtlr::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysGravityStrengthCtlr::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_GRAVITY_STRENGTH_CTLR_FIXLINKS } diff --git a/src/obj/NiPSysGrowFadeModifier.cpp b/src/obj/NiPSysGrowFadeModifier.cpp index e621f94b31557c5a85914af1eb0bcc14ba0d46f3..31d2f48660f33889fbba40ed792bf0be33b44d1e 100644 --- a/src/obj/NiPSysGrowFadeModifier.cpp +++ b/src/obj/NiPSysGrowFadeModifier.cpp @@ -23,7 +23,7 @@ string NiPSysGrowFadeModifier::asString( bool verbose ) const { NI_P_SYS_GROW_FADE_MODIFIER_STRING } -void NiPSysGrowFadeModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysGrowFadeModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_GROW_FADE_MODIFIER_FIXLINKS } diff --git a/src/obj/NiPSysMeshEmitter.cpp b/src/obj/NiPSysMeshEmitter.cpp index b56f79083c42d1664e4cd736b6ce891168b639c8..186ba55fe4beb381517e8e1ff13326e611474493 100644 --- a/src/obj/NiPSysMeshEmitter.cpp +++ b/src/obj/NiPSysMeshEmitter.cpp @@ -24,7 +24,7 @@ string NiPSysMeshEmitter::asString( bool verbose ) const { NI_P_SYS_MESH_EMITTER_STRING } -void NiPSysMeshEmitter::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysMeshEmitter::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_MESH_EMITTER_FIXLINKS } diff --git a/src/obj/NiPSysMeshUpdateModifier.cpp b/src/obj/NiPSysMeshUpdateModifier.cpp index c5ed58cb54c06eccbb5e2fafeb9aaf2808f7d87a..51a0d563185a9aa50e59227bd99a7b6d73ffcd9d 100644 --- a/src/obj/NiPSysMeshUpdateModifier.cpp +++ b/src/obj/NiPSysMeshUpdateModifier.cpp @@ -24,7 +24,7 @@ string NiPSysMeshUpdateModifier::asString( bool verbose ) const { NI_P_SYS_MESH_UPDATE_MODIFIER_STRING } -void NiPSysMeshUpdateModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysMeshUpdateModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_MESH_UPDATE_MODIFIER_FIXLINKS } diff --git a/src/obj/NiPSysModifier.cpp b/src/obj/NiPSysModifier.cpp index 597d69e0a2516016c44be8ce93a76ab7958512c4..bf7ca9129f022e2e819e85eb7e5f97210a407a01 100644 --- a/src/obj/NiPSysModifier.cpp +++ b/src/obj/NiPSysModifier.cpp @@ -24,7 +24,7 @@ string NiPSysModifier::asString( bool verbose ) const { NI_P_SYS_MODIFIER_STRING } -void NiPSysModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_MODIFIER_FIXLINKS } diff --git a/src/obj/NiPSysModifierActiveCtlr.cpp b/src/obj/NiPSysModifierActiveCtlr.cpp index adda1c705f3a544a982e614882352a672fff0304..09ae38dc8b67c009e3cbb298d80d1428ec97f8df 100644 --- a/src/obj/NiPSysModifierActiveCtlr.cpp +++ b/src/obj/NiPSysModifierActiveCtlr.cpp @@ -23,7 +23,7 @@ string NiPSysModifierActiveCtlr::asString( bool verbose ) const { NI_P_SYS_MODIFIER_ACTIVE_CTLR_STRING } -void NiPSysModifierActiveCtlr::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysModifierActiveCtlr::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_MODIFIER_ACTIVE_CTLR_FIXLINKS } diff --git a/src/obj/NiPSysPlanarCollider.cpp b/src/obj/NiPSysPlanarCollider.cpp index 8ed804b5b63764b4de712b355dfdf313e21f72b4..a16a2b437f694b0ee40d0a2f66a3d1c72aa2a492 100644 --- a/src/obj/NiPSysPlanarCollider.cpp +++ b/src/obj/NiPSysPlanarCollider.cpp @@ -26,7 +26,7 @@ string NiPSysPlanarCollider::asString( bool verbose ) const { NI_P_SYS_PLANAR_COLLIDER_STRING } -void NiPSysPlanarCollider::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysPlanarCollider::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_PLANAR_COLLIDER_FIXLINKS } diff --git a/src/obj/NiPSysPositionModifier.cpp b/src/obj/NiPSysPositionModifier.cpp index a6d1d32b247ee27f33fcc304d6d1695a7ca5a2de..601bae363c665a4055865b93959263dc2f6b828c 100644 --- a/src/obj/NiPSysPositionModifier.cpp +++ b/src/obj/NiPSysPositionModifier.cpp @@ -23,7 +23,7 @@ string NiPSysPositionModifier::asString( bool verbose ) const { NI_P_SYS_POSITION_MODIFIER_STRING } -void NiPSysPositionModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysPositionModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_POSITION_MODIFIER_FIXLINKS } diff --git a/src/obj/NiPSysResetOnLoopCtlr.cpp b/src/obj/NiPSysResetOnLoopCtlr.cpp index 79c8b4a21e97388715d71fd606c8d26d9924cb38..952f01c23ffa248507d502595f70fb93223a2099 100644 --- a/src/obj/NiPSysResetOnLoopCtlr.cpp +++ b/src/obj/NiPSysResetOnLoopCtlr.cpp @@ -23,7 +23,7 @@ string NiPSysResetOnLoopCtlr::asString( bool verbose ) const { NI_P_SYS_RESET_ON_LOOP_CTLR_STRING } -void NiPSysResetOnLoopCtlr::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysResetOnLoopCtlr::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_RESET_ON_LOOP_CTLR_FIXLINKS } diff --git a/src/obj/NiPSysRotationModifier.cpp b/src/obj/NiPSysRotationModifier.cpp index 3803caf06c704358ebe02e68defd80d483c1b1d3..bce236e3cded0f74fa4acb85af5aa7f6715ec8f1 100644 --- a/src/obj/NiPSysRotationModifier.cpp +++ b/src/obj/NiPSysRotationModifier.cpp @@ -23,7 +23,7 @@ string NiPSysRotationModifier::asString( bool verbose ) const { NI_P_SYS_ROTATION_MODIFIER_STRING } -void NiPSysRotationModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysRotationModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_ROTATION_MODIFIER_FIXLINKS } diff --git a/src/obj/NiPSysSpawnModifier.cpp b/src/obj/NiPSysSpawnModifier.cpp index 983c1915d3ba31a6d21284ba089a931722919d22..04b5c5191461200d609bfeab4b902d40690420b6 100644 --- a/src/obj/NiPSysSpawnModifier.cpp +++ b/src/obj/NiPSysSpawnModifier.cpp @@ -23,7 +23,7 @@ string NiPSysSpawnModifier::asString( bool verbose ) const { NI_P_SYS_SPAWN_MODIFIER_STRING } -void NiPSysSpawnModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysSpawnModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_SPAWN_MODIFIER_FIXLINKS } diff --git a/src/obj/NiPSysSphereEmitter.cpp b/src/obj/NiPSysSphereEmitter.cpp index 7382f8452cc7bda2c40865c21690c2e0d4ce68b5..b5cf33d45ce673cda972df82d5ba640704c85347 100644 --- a/src/obj/NiPSysSphereEmitter.cpp +++ b/src/obj/NiPSysSphereEmitter.cpp @@ -23,7 +23,7 @@ string NiPSysSphereEmitter::asString( bool verbose ) const { NI_P_SYS_SPHERE_EMITTER_STRING } -void NiPSysSphereEmitter::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysSphereEmitter::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_SPHERE_EMITTER_FIXLINKS } diff --git a/src/obj/NiPSysUpdateCtlr.cpp b/src/obj/NiPSysUpdateCtlr.cpp index 22db770fa50d23c32ed6cb4c86b7ee25f23bf8f0..1a1e9f5df8b8ca66439342238ee2e748d3ac45bc 100644 --- a/src/obj/NiPSysUpdateCtlr.cpp +++ b/src/obj/NiPSysUpdateCtlr.cpp @@ -23,7 +23,7 @@ string NiPSysUpdateCtlr::asString( bool verbose ) const { NI_P_SYS_UPDATE_CTLR_STRING } -void NiPSysUpdateCtlr::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysUpdateCtlr::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_UPDATE_CTLR_FIXLINKS } diff --git a/src/obj/NiPSysVolumeEmitter.cpp b/src/obj/NiPSysVolumeEmitter.cpp index 4dd44345ecde81bc3e34a0049e423e5bb10bacf8..86dc1891ce3d00b4d17edec3ddd992f54b214637 100644 --- a/src/obj/NiPSysVolumeEmitter.cpp +++ b/src/obj/NiPSysVolumeEmitter.cpp @@ -24,7 +24,7 @@ string NiPSysVolumeEmitter::asString( bool verbose ) const { NI_P_SYS_VOLUME_EMITTER_STRING } -void NiPSysVolumeEmitter::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPSysVolumeEmitter::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_P_SYS_VOLUME_EMITTER_FIXLINKS } diff --git a/src/obj/NiPalette.cpp b/src/obj/NiPalette.cpp index 281d07301d07f7aadd6df8d4dc1f2da3058737cb..cc891588ec2c8a3b8d74b579456d2fe1b4fec315 100644 --- a/src/obj/NiPalette.cpp +++ b/src/obj/NiPalette.cpp @@ -23,7 +23,7 @@ string NiPalette::asString( bool verbose ) const { NI_PALETTE_STRING } -void NiPalette::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPalette::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PALETTE_FIXLINKS } diff --git a/src/obj/NiParticleBomb.cpp b/src/obj/NiParticleBomb.cpp index 7d478d15f8287f38732a3dd1be41796574bcc3cf..144488c6b8f453dc0a281a428f475682cd713c9e 100644 --- a/src/obj/NiParticleBomb.cpp +++ b/src/obj/NiParticleBomb.cpp @@ -23,7 +23,7 @@ string NiParticleBomb::asString( bool verbose ) const { NI_PARTICLE_BOMB_STRING } -void NiParticleBomb::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleBomb::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PARTICLE_BOMB_FIXLINKS } diff --git a/src/obj/NiParticleColorModifier.cpp b/src/obj/NiParticleColorModifier.cpp index 8e4ae0eaef94f30d5dce3d35b588bca9ebe6f4ea..7872c85c042c7846e1fb52173fefd5f555a86c56 100644 --- a/src/obj/NiParticleColorModifier.cpp +++ b/src/obj/NiParticleColorModifier.cpp @@ -24,7 +24,7 @@ string NiParticleColorModifier::asString( bool verbose ) const { NI_PARTICLE_COLOR_MODIFIER_STRING } -void NiParticleColorModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleColorModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PARTICLE_COLOR_MODIFIER_FIXLINKS } diff --git a/src/obj/NiParticleGrowFade.cpp b/src/obj/NiParticleGrowFade.cpp index a9f2a5fc31c1a9c85b59c78017ee5c371ee7f40f..08cdfa7eeb2d622a0c9d5f394a19b60a91f11613 100644 --- a/src/obj/NiParticleGrowFade.cpp +++ b/src/obj/NiParticleGrowFade.cpp @@ -23,7 +23,7 @@ string NiParticleGrowFade::asString( bool verbose ) const { NI_PARTICLE_GROW_FADE_STRING } -void NiParticleGrowFade::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleGrowFade::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PARTICLE_GROW_FADE_FIXLINKS } diff --git a/src/obj/NiParticleMeshModifier.cpp b/src/obj/NiParticleMeshModifier.cpp index 11648910adf080f4290c5933bfa1f914b5d1157f..b0a85bd3249477d329e6d9c509811f5a0e462de0 100644 --- a/src/obj/NiParticleMeshModifier.cpp +++ b/src/obj/NiParticleMeshModifier.cpp @@ -24,7 +24,7 @@ string NiParticleMeshModifier::asString( bool verbose ) const { NI_PARTICLE_MESH_MODIFIER_STRING } -void NiParticleMeshModifier::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleMeshModifier::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PARTICLE_MESH_MODIFIER_FIXLINKS } diff --git a/src/obj/NiParticleMeshes.cpp b/src/obj/NiParticleMeshes.cpp index ffac7443f3382b3da2292375ef0c720184e84161..f1676db8a6879a7fa9ecee83b57dd7de934ef38a 100644 --- a/src/obj/NiParticleMeshes.cpp +++ b/src/obj/NiParticleMeshes.cpp @@ -23,7 +23,7 @@ string NiParticleMeshes::asString( bool verbose ) const { NI_PARTICLE_MESHES_STRING } -void NiParticleMeshes::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleMeshes::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PARTICLE_MESHES_FIXLINKS } diff --git a/src/obj/NiParticleMeshesData.cpp b/src/obj/NiParticleMeshesData.cpp index a2c45fb31ffb6a402373d1046fd6c22e8cef7c03..62b1cdcf782bd0abc686668aaf6a0f60c91f49d4 100644 --- a/src/obj/NiParticleMeshesData.cpp +++ b/src/obj/NiParticleMeshesData.cpp @@ -24,7 +24,7 @@ string NiParticleMeshesData::asString( bool verbose ) const { NI_PARTICLE_MESHES_DATA_STRING } -void NiParticleMeshesData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleMeshesData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PARTICLE_MESHES_DATA_FIXLINKS } diff --git a/src/obj/NiParticleRotation.cpp b/src/obj/NiParticleRotation.cpp index 2bc7c7b00125fb6b482631b926ab24899852fc36..137b2f38937f615654cd30f1e933cd13a438eb16 100644 --- a/src/obj/NiParticleRotation.cpp +++ b/src/obj/NiParticleRotation.cpp @@ -23,7 +23,7 @@ string NiParticleRotation::asString( bool verbose ) const { NI_PARTICLE_ROTATION_STRING } -void NiParticleRotation::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleRotation::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PARTICLE_ROTATION_FIXLINKS } diff --git a/src/obj/NiParticleSystem.cpp b/src/obj/NiParticleSystem.cpp index 1513b329c0bb57d29dde99c34d345c6e5f177126..0c3e672d46e87b66fda37455cc889bd35c66f342 100644 --- a/src/obj/NiParticleSystem.cpp +++ b/src/obj/NiParticleSystem.cpp @@ -24,7 +24,7 @@ string NiParticleSystem::asString( bool verbose ) const { NI_PARTICLE_SYSTEM_STRING } -void NiParticleSystem::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleSystem::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PARTICLE_SYSTEM_FIXLINKS } diff --git a/src/obj/NiParticleSystemController.cpp b/src/obj/NiParticleSystemController.cpp index 47fb20716beadc450ff575e522a9f55d1865d2a1..90f1af976afce319e16f005e641af89f5a6b3589 100644 --- a/src/obj/NiParticleSystemController.cpp +++ b/src/obj/NiParticleSystemController.cpp @@ -26,7 +26,7 @@ string NiParticleSystemController::asString( bool verbose ) const { NI_PARTICLE_SYSTEM_CONTROLLER_STRING } -void NiParticleSystemController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticleSystemController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PARTICLE_SYSTEM_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiParticles.cpp b/src/obj/NiParticles.cpp index 7a2bae4c816c4715779ce80256cae09dcec10472..022988941fd4f7062d68d70835a70e53da8eba40 100644 --- a/src/obj/NiParticles.cpp +++ b/src/obj/NiParticles.cpp @@ -23,7 +23,7 @@ string NiParticles::asString( bool verbose ) const { NI_PARTICLES_STRING } -void NiParticles::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticles::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PARTICLES_FIXLINKS } diff --git a/src/obj/NiParticlesData.cpp b/src/obj/NiParticlesData.cpp index baea13ed32449470ba9efcba4929289437d730fe..a60cbf6f11f59559eca7ed62ca30ff8ed1b6ff37 100644 --- a/src/obj/NiParticlesData.cpp +++ b/src/obj/NiParticlesData.cpp @@ -23,7 +23,7 @@ string NiParticlesData::asString( bool verbose ) const { NI_PARTICLES_DATA_STRING } -void NiParticlesData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiParticlesData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PARTICLES_DATA_FIXLINKS } diff --git a/src/obj/NiPathController.cpp b/src/obj/NiPathController.cpp index 55424f12f49eab5bb523b1e54b877d5083b568cf..f702780980a92bfc870ff285c42c845510f644b1 100644 --- a/src/obj/NiPathController.cpp +++ b/src/obj/NiPathController.cpp @@ -25,7 +25,7 @@ string NiPathController::asString( bool verbose ) const { NI_PATH_CONTROLLER_STRING } -void NiPathController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPathController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PATH_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiPathInterpolator.cpp b/src/obj/NiPathInterpolator.cpp index 659258459a6dc966037b44e892b17fea8a2c5e70..31c6540b7724ac9c88031aa08d161d99eb832e3b 100644 --- a/src/obj/NiPathInterpolator.cpp +++ b/src/obj/NiPathInterpolator.cpp @@ -25,7 +25,7 @@ string NiPathInterpolator::asString( bool verbose ) const { NI_PATH_INTERPOLATOR_STRING } -void NiPathInterpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPathInterpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PATH_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiPixelData.cpp b/src/obj/NiPixelData.cpp index 5d35c9be1789f19abffa5ba56dfd1a82c0950126..687462a49ce98e7a8b107f7836023fcca054b6c1 100644 --- a/src/obj/NiPixelData.cpp +++ b/src/obj/NiPixelData.cpp @@ -26,7 +26,7 @@ string NiPixelData::asString( bool verbose ) const { NI_PIXEL_DATA_STRING } -void NiPixelData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPixelData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PIXEL_DATA_FIXLINKS } diff --git a/src/obj/NiPlanarCollider.cpp b/src/obj/NiPlanarCollider.cpp index f36292eb09f47eb7b56af76c6ad443dad586ef49..f699eb9537aa6f63015a5a1d550c299f7b429fbb 100644 --- a/src/obj/NiPlanarCollider.cpp +++ b/src/obj/NiPlanarCollider.cpp @@ -23,7 +23,7 @@ string NiPlanarCollider::asString( bool verbose ) const { NI_PLANAR_COLLIDER_STRING } -void NiPlanarCollider::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPlanarCollider::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PLANAR_COLLIDER_FIXLINKS } diff --git a/src/obj/NiPoint3Interpolator.cpp b/src/obj/NiPoint3Interpolator.cpp index 6a4c3eeb0cfcde16f0c3f39cce412b82fd58945e..5f9a339de6645c57c610e5fd2aaf63f6717b96c8 100644 --- a/src/obj/NiPoint3Interpolator.cpp +++ b/src/obj/NiPoint3Interpolator.cpp @@ -24,7 +24,7 @@ string NiPoint3Interpolator::asString( bool verbose ) const { NI_POINT3_INTERPOLATOR_STRING } -void NiPoint3Interpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPoint3Interpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_POINT3_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiPointLight.cpp b/src/obj/NiPointLight.cpp index 7cd51183c45b0749526831f292a24b8f5bc1947d..6cf50f0f979960bfd77561a5cc83dd8af49c1717 100644 --- a/src/obj/NiPointLight.cpp +++ b/src/obj/NiPointLight.cpp @@ -23,7 +23,7 @@ string NiPointLight::asString( bool verbose ) const { NI_POINT_LIGHT_STRING } -void NiPointLight::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPointLight::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_POINT_LIGHT_FIXLINKS } diff --git a/src/obj/NiPosData.cpp b/src/obj/NiPosData.cpp index 9bc3ea9b2e65e51210363a10e4b77c5b75014ef7..ce1fc531e5ca229ff9b2d0915886d42695ffc7db 100644 --- a/src/obj/NiPosData.cpp +++ b/src/obj/NiPosData.cpp @@ -24,7 +24,7 @@ string NiPosData::asString( bool verbose ) const { NI_POS_DATA_STRING } -void NiPosData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiPosData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_POS_DATA_FIXLINKS } diff --git a/src/obj/NiProperty.cpp b/src/obj/NiProperty.cpp index d2da921bfad5f4074ee531008e3fb1fdb98163c7..7a1cace6f7cfc1ed648603e58adf15c6a1ee00c6 100644 --- a/src/obj/NiProperty.cpp +++ b/src/obj/NiProperty.cpp @@ -23,7 +23,7 @@ string NiProperty::asString( bool verbose ) const { NI_PROPERTY_STRING } -void NiProperty::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiProperty::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_PROPERTY_FIXLINKS } diff --git a/src/obj/NiRangeLODData.cpp b/src/obj/NiRangeLODData.cpp index 1adf25079bf040258697b51ed542a681c4100fb3..cbffda0ca1f5c971967aa5f2b1aaa73e3d2dbe87 100644 --- a/src/obj/NiRangeLODData.cpp +++ b/src/obj/NiRangeLODData.cpp @@ -24,7 +24,7 @@ string NiRangeLODData::asString( bool verbose ) const { NI_RANGE_L_O_D_DATA_STRING } -void NiRangeLODData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiRangeLODData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_RANGE_L_O_D_DATA_FIXLINKS } diff --git a/src/obj/NiRotatingParticles.cpp b/src/obj/NiRotatingParticles.cpp index a67771fdffd5854d0d4ffe917530d75563c5b4c0..ccf0a689417db33be4c36f64132841a3ec3b94f2 100644 --- a/src/obj/NiRotatingParticles.cpp +++ b/src/obj/NiRotatingParticles.cpp @@ -23,7 +23,7 @@ string NiRotatingParticles::asString( bool verbose ) const { NI_ROTATING_PARTICLES_STRING } -void NiRotatingParticles::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiRotatingParticles::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_ROTATING_PARTICLES_FIXLINKS } diff --git a/src/obj/NiRotatingParticlesData.cpp b/src/obj/NiRotatingParticlesData.cpp index 9e2f4319fe4f2f72ae477a57f5613c99ed8d1b4b..8659ece2c046cae87373043298fb1d2c5b4f695a 100644 --- a/src/obj/NiRotatingParticlesData.cpp +++ b/src/obj/NiRotatingParticlesData.cpp @@ -23,7 +23,7 @@ string NiRotatingParticlesData::asString( bool verbose ) const { NI_ROTATING_PARTICLES_DATA_STRING } -void NiRotatingParticlesData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiRotatingParticlesData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_ROTATING_PARTICLES_DATA_FIXLINKS } diff --git a/src/obj/NiScreenLODData.cpp b/src/obj/NiScreenLODData.cpp index 7c777080eb431ea6890bc1412f901e512edfae4f..054021c265fef53ecb076091c5503187634382c5 100644 --- a/src/obj/NiScreenLODData.cpp +++ b/src/obj/NiScreenLODData.cpp @@ -23,7 +23,7 @@ string NiScreenLODData::asString( bool verbose ) const { NI_SCREEN_L_O_D_DATA_STRING } -void NiScreenLODData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiScreenLODData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_SCREEN_L_O_D_DATA_FIXLINKS } diff --git a/src/obj/NiSequenceStreamHelper.cpp b/src/obj/NiSequenceStreamHelper.cpp index 0bfb79f6fdb4355d370162c89aa3df25c50ef9a5..24ba3c11c14b829222a86f048020d56c3206bb5b 100644 --- a/src/obj/NiSequenceStreamHelper.cpp +++ b/src/obj/NiSequenceStreamHelper.cpp @@ -23,7 +23,7 @@ string NiSequenceStreamHelper::asString( bool verbose ) const { NI_SEQUENCE_STREAM_HELPER_STRING } -void NiSequenceStreamHelper::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSequenceStreamHelper::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_SEQUENCE_STREAM_HELPER_FIXLINKS } diff --git a/src/obj/NiShadeProperty.cpp b/src/obj/NiShadeProperty.cpp index 797faf4cc86adce2de3ba660f6788ace60cac9b2..e3146341bf93ed611c6b0b824f31aa07fb7ffd03 100644 --- a/src/obj/NiShadeProperty.cpp +++ b/src/obj/NiShadeProperty.cpp @@ -23,7 +23,7 @@ string NiShadeProperty::asString( bool verbose ) const { NI_SHADE_PROPERTY_STRING } -void NiShadeProperty::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiShadeProperty::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_SHADE_PROPERTY_FIXLINKS } diff --git a/src/obj/NiSingleInterpolatorController.cpp b/src/obj/NiSingleInterpolatorController.cpp index e87c0be4da5e9a60f80f72b83eb10a600bc8255b..e88c652154bbe2d219b4d71be1d1fabedf537954 100644 --- a/src/obj/NiSingleInterpolatorController.cpp +++ b/src/obj/NiSingleInterpolatorController.cpp @@ -24,7 +24,7 @@ string NiSingleInterpolatorController::asString( bool verbose ) const { NI_SINGLE_INTERPOLATOR_CONTROLLER_STRING } -void NiSingleInterpolatorController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSingleInterpolatorController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_SINGLE_INTERPOLATOR_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiSkinData.cpp b/src/obj/NiSkinData.cpp index 8bbdd96203f7b8fa93c091e1a2caf21a35cdb8d5..aad3cd244891c519973ccad8eaf02b1f7059fe81 100644 --- a/src/obj/NiSkinData.cpp +++ b/src/obj/NiSkinData.cpp @@ -29,7 +29,7 @@ string NiSkinData::asString( bool verbose ) const { NI_SKIN_DATA_STRING } -void NiSkinData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSkinData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_SKIN_DATA_FIXLINKS } diff --git a/src/obj/NiSkinInstance.cpp b/src/obj/NiSkinInstance.cpp index 282ad2521049a52962375e5d8c8f8f14e1792d0f..99b157336d1384394a76ee4cde989fba817691ef 100644 --- a/src/obj/NiSkinInstance.cpp +++ b/src/obj/NiSkinInstance.cpp @@ -63,7 +63,7 @@ string NiSkinInstance::asString( bool verbose ) const { NI_SKIN_INSTANCE_STRING } -void NiSkinInstance::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSkinInstance::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_SKIN_INSTANCE_FIXLINKS //Inform newly fixed skeleton root of attachment diff --git a/src/obj/NiSkinPartition.cpp b/src/obj/NiSkinPartition.cpp index b303faf28cac200f9b3ec7d5257a9412647da653..bd1c73991c2231caec196534eb70141fb7d7f159 100644 --- a/src/obj/NiSkinPartition.cpp +++ b/src/obj/NiSkinPartition.cpp @@ -43,7 +43,7 @@ string NiSkinPartition::asString( bool verbose ) const { NI_SKIN_PARTITION_STRING } -void NiSkinPartition::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSkinPartition::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_SKIN_PARTITION_FIXLINKS } diff --git a/src/obj/NiSourceTexture.cpp b/src/obj/NiSourceTexture.cpp index b817950276a0651a05f981696e8b37279540b6ee..db0d86793395bf3ec97e9ef0dfd55af7e226b0cb 100644 --- a/src/obj/NiSourceTexture.cpp +++ b/src/obj/NiSourceTexture.cpp @@ -25,7 +25,7 @@ string NiSourceTexture::asString( bool verbose ) const { NI_SOURCE_TEXTURE_STRING } -void NiSourceTexture::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSourceTexture::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_SOURCE_TEXTURE_FIXLINKS } diff --git a/src/obj/NiSpecularProperty.cpp b/src/obj/NiSpecularProperty.cpp index 23f1bf93d4ec84c0a9973a1b368977964c73c144..53611d364839daf589b1c741fff8da6a9e24674f 100644 --- a/src/obj/NiSpecularProperty.cpp +++ b/src/obj/NiSpecularProperty.cpp @@ -23,7 +23,7 @@ string NiSpecularProperty::asString( bool verbose ) const { NI_SPECULAR_PROPERTY_STRING } -void NiSpecularProperty::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSpecularProperty::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_SPECULAR_PROPERTY_FIXLINKS } diff --git a/src/obj/NiSphericalCollider.cpp b/src/obj/NiSphericalCollider.cpp index e29db3fdefc91c28a47ba6b6a837a510c785d96c..cc8b72c2e450dd353ed1c104a1239b49ebe99bfa 100644 --- a/src/obj/NiSphericalCollider.cpp +++ b/src/obj/NiSphericalCollider.cpp @@ -23,7 +23,7 @@ string NiSphericalCollider::asString( bool verbose ) const { NI_SPHERICAL_COLLIDER_STRING } -void NiSphericalCollider::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSphericalCollider::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_SPHERICAL_COLLIDER_FIXLINKS } diff --git a/src/obj/NiSpotLight.cpp b/src/obj/NiSpotLight.cpp index 4e11bbae9c6c7c1e93d34e1333ef5612eb114b46..c3bcc369e92d7fd4db7b01ce7867cad6d4360abb 100644 --- a/src/obj/NiSpotLight.cpp +++ b/src/obj/NiSpotLight.cpp @@ -23,7 +23,7 @@ string NiSpotLight::asString( bool verbose ) const { NI_SPOT_LIGHT_STRING } -void NiSpotLight::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiSpotLight::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_SPOT_LIGHT_FIXLINKS } diff --git a/src/obj/NiStencilProperty.cpp b/src/obj/NiStencilProperty.cpp index a9b2061115c74d210745289d039625bdcdfeac0a..ed93e9380a8bb3f491bb3f42331928ea4cd93f1b 100644 --- a/src/obj/NiStencilProperty.cpp +++ b/src/obj/NiStencilProperty.cpp @@ -23,7 +23,7 @@ string NiStencilProperty::asString( bool verbose ) const { NI_STENCIL_PROPERTY_STRING } -void NiStencilProperty::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiStencilProperty::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_STENCIL_PROPERTY_FIXLINKS } diff --git a/src/obj/NiStringExtraData.cpp b/src/obj/NiStringExtraData.cpp index ddefbe2056bdae8d7d247f733958418ed5c846c9..056d02af520563a39e1182a998c0002fbd9fe8cd 100644 --- a/src/obj/NiStringExtraData.cpp +++ b/src/obj/NiStringExtraData.cpp @@ -23,7 +23,7 @@ string NiStringExtraData::asString( bool verbose ) const { NI_STRING_EXTRA_DATA_STRING } -void NiStringExtraData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiStringExtraData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_STRING_EXTRA_DATA_FIXLINKS } diff --git a/src/obj/NiStringPalette.cpp b/src/obj/NiStringPalette.cpp index 52a833d161734bad2f9fcf7f86ea04dc7baeef71..8f9f4b9298c83a3666923da8e4e357662b2e7bd9 100644 --- a/src/obj/NiStringPalette.cpp +++ b/src/obj/NiStringPalette.cpp @@ -24,7 +24,7 @@ string NiStringPalette::asString( bool verbose ) const { NI_STRING_PALETTE_STRING } -void NiStringPalette::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiStringPalette::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_STRING_PALETTE_FIXLINKS } diff --git a/src/obj/NiStringsExtraData.cpp b/src/obj/NiStringsExtraData.cpp index a0ae5fd5cdd271853a0b2f30617bb725c4100078..8ca9d6d33e53f53382977f798d16a07ac14881c3 100644 --- a/src/obj/NiStringsExtraData.cpp +++ b/src/obj/NiStringsExtraData.cpp @@ -23,7 +23,7 @@ string NiStringsExtraData::asString( bool verbose ) const { NI_STRINGS_EXTRA_DATA_STRING } -void NiStringsExtraData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiStringsExtraData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_STRINGS_EXTRA_DATA_FIXLINKS } diff --git a/src/obj/NiTextKeyExtraData.cpp b/src/obj/NiTextKeyExtraData.cpp index 7eecc0e43b26cc758c31ae03e5989c1bbfded951..4447372ae2df12be697e676cda993c68ff592086 100644 --- a/src/obj/NiTextKeyExtraData.cpp +++ b/src/obj/NiTextKeyExtraData.cpp @@ -23,7 +23,7 @@ string NiTextKeyExtraData::asString( bool verbose ) const { NI_TEXT_KEY_EXTRA_DATA_STRING } -void NiTextKeyExtraData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTextKeyExtraData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_TEXT_KEY_EXTRA_DATA_FIXLINKS } diff --git a/src/obj/NiTextureEffect.cpp b/src/obj/NiTextureEffect.cpp index 0644dee7c1b081d097ef85a98f23db2aaa9fc7f8..ebbd6c55c9e5da80402e3866440e5a58ca7c5d1b 100644 --- a/src/obj/NiTextureEffect.cpp +++ b/src/obj/NiTextureEffect.cpp @@ -24,7 +24,7 @@ string NiTextureEffect::asString( bool verbose ) const { NI_TEXTURE_EFFECT_STRING } -void NiTextureEffect::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTextureEffect::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_TEXTURE_EFFECT_FIXLINKS } diff --git a/src/obj/NiTextureTransformController.cpp b/src/obj/NiTextureTransformController.cpp index d2cf04a61ffec8feca2332ae116b990144803abe..87e496535aae511f3c8dda9a756c49587f6fa577 100644 --- a/src/obj/NiTextureTransformController.cpp +++ b/src/obj/NiTextureTransformController.cpp @@ -24,7 +24,7 @@ string NiTextureTransformController::asString( bool verbose ) const { NI_TEXTURE_TRANSFORM_CONTROLLER_STRING } -void NiTextureTransformController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTextureTransformController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_TEXTURE_TRANSFORM_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiTexturingProperty.cpp b/src/obj/NiTexturingProperty.cpp index 7cc875a31dc88a37a10aaf665958921a3153c277..feb3a9c6b83bd5439732c07de7ec4d7455df1a61 100644 --- a/src/obj/NiTexturingProperty.cpp +++ b/src/obj/NiTexturingProperty.cpp @@ -25,7 +25,7 @@ string NiTexturingProperty::asString( bool verbose ) const { NI_TEXTURING_PROPERTY_STRING } -void NiTexturingProperty::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTexturingProperty::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_TEXTURING_PROPERTY_FIXLINKS } diff --git a/src/obj/NiTimeController.cpp b/src/obj/NiTimeController.cpp index bd76e052a72a1d87140f99a02e24f12abf9e0241..1e7e7b79254272ea0f66b36d668231e850c91a1d 100644 --- a/src/obj/NiTimeController.cpp +++ b/src/obj/NiTimeController.cpp @@ -24,7 +24,7 @@ string NiTimeController::asString( bool verbose ) const { NI_TIME_CONTROLLER_STRING } -void NiTimeController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTimeController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_TIME_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiTransformController.cpp b/src/obj/NiTransformController.cpp index 090a098c003cbc07d21ac22f1df3eb094187540b..0201f025410e7d8d3cfb4788bbaa8ce4844ff8a1 100644 --- a/src/obj/NiTransformController.cpp +++ b/src/obj/NiTransformController.cpp @@ -23,7 +23,7 @@ string NiTransformController::asString( bool verbose ) const { NI_TRANSFORM_CONTROLLER_STRING } -void NiTransformController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTransformController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_TRANSFORM_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiTransformData.cpp b/src/obj/NiTransformData.cpp index 7da3fb3c2c9f038a473351748aab94d86a68e885..b4e33ce5cb62c320dbf78d22cba9f3fa8b2b4ddc 100644 --- a/src/obj/NiTransformData.cpp +++ b/src/obj/NiTransformData.cpp @@ -23,7 +23,7 @@ string NiTransformData::asString( bool verbose ) const { NI_TRANSFORM_DATA_STRING } -void NiTransformData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTransformData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_TRANSFORM_DATA_FIXLINKS } diff --git a/src/obj/NiTransformInterpolator.cpp b/src/obj/NiTransformInterpolator.cpp index 9c6b388bdd233b5843ea154d72112d5224e5ca32..b42a809c1d6ac25977cd933ab32ddaa3f071b106 100644 --- a/src/obj/NiTransformInterpolator.cpp +++ b/src/obj/NiTransformInterpolator.cpp @@ -24,7 +24,7 @@ string NiTransformInterpolator::asString( bool verbose ) const { NI_TRANSFORM_INTERPOLATOR_STRING } -void NiTransformInterpolator::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTransformInterpolator::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_TRANSFORM_INTERPOLATOR_FIXLINKS } diff --git a/src/obj/NiTriBasedGeom.cpp b/src/obj/NiTriBasedGeom.cpp index 6cbc30a9d92f5d1f349f6bf9aab4aa93306ce301..34c7a9e012a9e89fc9ae1f042be1d3a131c62fcd 100644 --- a/src/obj/NiTriBasedGeom.cpp +++ b/src/obj/NiTriBasedGeom.cpp @@ -30,7 +30,7 @@ string NiTriBasedGeom::asString( bool verbose ) const { NI_TRI_BASED_GEOM_STRING } -void NiTriBasedGeom::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTriBasedGeom::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_TRI_BASED_GEOM_FIXLINKS } diff --git a/src/obj/NiTriBasedGeomData.cpp b/src/obj/NiTriBasedGeomData.cpp index ebcd114b4a48adc25496ead8c4454ed4a9e1f07f..1c44b0ef6741eab8cf0ee92164fcceabe076384b 100644 --- a/src/obj/NiTriBasedGeomData.cpp +++ b/src/obj/NiTriBasedGeomData.cpp @@ -24,7 +24,7 @@ string NiTriBasedGeomData::asString( bool verbose ) const { NI_TRI_BASED_GEOM_DATA_STRING } -void NiTriBasedGeomData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTriBasedGeomData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_TRI_BASED_GEOM_DATA_FIXLINKS } diff --git a/src/obj/NiTriShape.cpp b/src/obj/NiTriShape.cpp index 2210956fd60ea6e098869e5375aca5c2511a8360..eacc247dbb00497aa7a251821e21a6641a5cb41d 100644 --- a/src/obj/NiTriShape.cpp +++ b/src/obj/NiTriShape.cpp @@ -23,7 +23,7 @@ string NiTriShape::asString( bool verbose ) const { NI_TRI_SHAPE_STRING } -void NiTriShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTriShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_TRI_SHAPE_FIXLINKS } diff --git a/src/obj/NiTriShapeData.cpp b/src/obj/NiTriShapeData.cpp index 4da709e637ccb95af293eedcf339e19f500a86a4..c93f469142ee8bda0785b18007235292b01592a4 100644 --- a/src/obj/NiTriShapeData.cpp +++ b/src/obj/NiTriShapeData.cpp @@ -24,7 +24,7 @@ string NiTriShapeData::asString( bool verbose ) const { NI_TRI_SHAPE_DATA_STRING } -void NiTriShapeData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTriShapeData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_TRI_SHAPE_DATA_FIXLINKS } diff --git a/src/obj/NiTriStrips.cpp b/src/obj/NiTriStrips.cpp index 4a248b8d25535735c7fd80b0bd3a7839574c4583..4739e47f5e7fe9463441d60e8e496464d40cbbdb 100644 --- a/src/obj/NiTriStrips.cpp +++ b/src/obj/NiTriStrips.cpp @@ -23,7 +23,7 @@ string NiTriStrips::asString( bool verbose ) const { NI_TRI_STRIPS_STRING } -void NiTriStrips::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTriStrips::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_TRI_STRIPS_FIXLINKS } diff --git a/src/obj/NiTriStripsData.cpp b/src/obj/NiTriStripsData.cpp index f8dc1289a224166be7dbd6dbb2084a03f55df961..def72f7e1e0bb1818e60f26099fed9d51d06592d 100644 --- a/src/obj/NiTriStripsData.cpp +++ b/src/obj/NiTriStripsData.cpp @@ -32,7 +32,7 @@ string NiTriStripsData::asString( bool verbose ) const { NI_TRI_STRIPS_DATA_STRING } -void NiTriStripsData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiTriStripsData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_TRI_STRIPS_DATA_FIXLINKS } diff --git a/src/obj/NiUVController.cpp b/src/obj/NiUVController.cpp index e2219b6fd20cb5fce6ed063dd5f9916939c2e432..7bbcc90bb2e29176785fc6caed8612dd528fdd31 100644 --- a/src/obj/NiUVController.cpp +++ b/src/obj/NiUVController.cpp @@ -24,7 +24,7 @@ string NiUVController::asString( bool verbose ) const { NI_U_V_CONTROLLER_STRING } -void NiUVController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiUVController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_U_V_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiUVData.cpp b/src/obj/NiUVData.cpp index bcc144f48896416b202f00e08e0606b319581782..7231ac00db845beec9cb1d8ab1761f1f575db425 100644 --- a/src/obj/NiUVData.cpp +++ b/src/obj/NiUVData.cpp @@ -24,7 +24,7 @@ string NiUVData::asString( bool verbose ) const { NI_U_V_DATA_STRING } -void NiUVData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiUVData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_U_V_DATA_FIXLINKS } diff --git a/src/obj/NiVectorExtraData.cpp b/src/obj/NiVectorExtraData.cpp index ba8f3a234ca2367d8155fb4325c15e0a9e9f6b4b..8fd071266d1415bbe19f51f47304d5e084132943 100644 --- a/src/obj/NiVectorExtraData.cpp +++ b/src/obj/NiVectorExtraData.cpp @@ -23,7 +23,7 @@ string NiVectorExtraData::asString( bool verbose ) const { NI_VECTOR_EXTRA_DATA_STRING } -void NiVectorExtraData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiVectorExtraData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_VECTOR_EXTRA_DATA_FIXLINKS } diff --git a/src/obj/NiVertWeightsExtraData.cpp b/src/obj/NiVertWeightsExtraData.cpp index 6ed76fa2ba08abb7157a6ec4673510ddf76e40a6..712c7ff41f72b1c3d552e24b780673dcec05935f 100644 --- a/src/obj/NiVertWeightsExtraData.cpp +++ b/src/obj/NiVertWeightsExtraData.cpp @@ -23,7 +23,7 @@ string NiVertWeightsExtraData::asString( bool verbose ) const { NI_VERT_WEIGHTS_EXTRA_DATA_STRING } -void NiVertWeightsExtraData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiVertWeightsExtraData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_VERT_WEIGHTS_EXTRA_DATA_FIXLINKS } diff --git a/src/obj/NiVertexColorProperty.cpp b/src/obj/NiVertexColorProperty.cpp index 84588863373e38cfe5c846fffb19915a6a6e36b5..7e86e5bbf067585fb874dcddb43387c22146e3e3 100644 --- a/src/obj/NiVertexColorProperty.cpp +++ b/src/obj/NiVertexColorProperty.cpp @@ -23,7 +23,7 @@ string NiVertexColorProperty::asString( bool verbose ) const { NI_VERTEX_COLOR_PROPERTY_STRING } -void NiVertexColorProperty::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiVertexColorProperty::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_VERTEX_COLOR_PROPERTY_FIXLINKS } diff --git a/src/obj/NiVisController.cpp b/src/obj/NiVisController.cpp index 598bbcd49c3738d8fee25c6e0f1a488868ffc782..13816e0ccc117c752f75b5820026bc0fd544c578 100644 --- a/src/obj/NiVisController.cpp +++ b/src/obj/NiVisController.cpp @@ -24,7 +24,7 @@ string NiVisController::asString( bool verbose ) const { NI_VIS_CONTROLLER_STRING } -void NiVisController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiVisController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_VIS_CONTROLLER_FIXLINKS } diff --git a/src/obj/NiVisData.cpp b/src/obj/NiVisData.cpp index 12e83ea5e326297f5ed4b1319009fc12002232d4..0f133f48d22d6ada3fde61e679a4d103c042da47 100644 --- a/src/obj/NiVisData.cpp +++ b/src/obj/NiVisData.cpp @@ -23,7 +23,7 @@ string NiVisData::asString( bool verbose ) const { NI_VIS_DATA_STRING } -void NiVisData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiVisData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_VIS_DATA_FIXLINKS } diff --git a/src/obj/NiWireframeProperty.cpp b/src/obj/NiWireframeProperty.cpp index 2bbae782df9866d77ed22664e663a598dbeb4b6d..b49663555f0096e9098072864c7dffeb7c415fa7 100644 --- a/src/obj/NiWireframeProperty.cpp +++ b/src/obj/NiWireframeProperty.cpp @@ -23,7 +23,7 @@ string NiWireframeProperty::asString( bool verbose ) const { NI_WIREFRAME_PROPERTY_STRING } -void NiWireframeProperty::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiWireframeProperty::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_WIREFRAME_PROPERTY_FIXLINKS } diff --git a/src/obj/NiZBufferProperty.cpp b/src/obj/NiZBufferProperty.cpp index af1a0a0cca269ad131a773e107cc284d9253ce50..0e6b5ffff4a26a0a9ece80dcc97703c71d5e4fe4 100644 --- a/src/obj/NiZBufferProperty.cpp +++ b/src/obj/NiZBufferProperty.cpp @@ -23,7 +23,7 @@ string NiZBufferProperty::asString( bool verbose ) const { NI_Z_BUFFER_PROPERTY_STRING } -void NiZBufferProperty::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void NiZBufferProperty::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { NI_Z_BUFFER_PROPERTY_FIXLINKS } diff --git a/src/obj/RootCollisionNode.cpp b/src/obj/RootCollisionNode.cpp index 97cfea29f5a0f438abfeeef7e3040e20e7f4ff06..cb558a92f072fda52245dc162cd5291e67313b43 100644 --- a/src/obj/RootCollisionNode.cpp +++ b/src/obj/RootCollisionNode.cpp @@ -23,7 +23,7 @@ string RootCollisionNode::asString( bool verbose ) const { ROOT_COLLISION_NODE_STRING } -void RootCollisionNode::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void RootCollisionNode::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { ROOT_COLLISION_NODE_FIXLINKS } diff --git a/src/obj/bhkBlendCollisionObject.cpp b/src/obj/bhkBlendCollisionObject.cpp index 6657e2c3f7ad614bf51e32868d957edcb81b9073..f117fd80e672a13b5488a70657c1c38d2babcf30 100644 --- a/src/obj/bhkBlendCollisionObject.cpp +++ b/src/obj/bhkBlendCollisionObject.cpp @@ -23,7 +23,7 @@ string bhkBlendCollisionObject::asString( bool verbose ) const { BHK_BLEND_COLLISION_OBJECT_STRING } -void bhkBlendCollisionObject::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkBlendCollisionObject::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_BLEND_COLLISION_OBJECT_FIXLINKS } diff --git a/src/obj/bhkBlendController.cpp b/src/obj/bhkBlendController.cpp index 729c097b1e464fc5e46d41b9001f37281f2028e4..9edbf53d0d83b65492195780a772f15ebafffa42 100644 --- a/src/obj/bhkBlendController.cpp +++ b/src/obj/bhkBlendController.cpp @@ -23,7 +23,7 @@ string bhkBlendController::asString( bool verbose ) const { BHK_BLEND_CONTROLLER_STRING } -void bhkBlendController::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkBlendController::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_BLEND_CONTROLLER_FIXLINKS } diff --git a/src/obj/bhkBoxShape.cpp b/src/obj/bhkBoxShape.cpp index 1b63072a69287d0b13c2ef2bf5823057e7f056c3..5f9662fa54c5b3a8f6571524d8d7eff134dc2e41 100644 --- a/src/obj/bhkBoxShape.cpp +++ b/src/obj/bhkBoxShape.cpp @@ -23,7 +23,7 @@ string bhkBoxShape::asString( bool verbose ) const { BHK_BOX_SHAPE_STRING } -void bhkBoxShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkBoxShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_BOX_SHAPE_FIXLINKS } diff --git a/src/obj/bhkCapsuleShape.cpp b/src/obj/bhkCapsuleShape.cpp index 7939a8c89b9a1169b50b459d75ec42e471fd741d..044da8458d8f0a7d8e90e1cacddc5a08d7bae385 100644 --- a/src/obj/bhkCapsuleShape.cpp +++ b/src/obj/bhkCapsuleShape.cpp @@ -23,7 +23,7 @@ string bhkCapsuleShape::asString( bool verbose ) const { BHK_CAPSULE_SHAPE_STRING } -void bhkCapsuleShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkCapsuleShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_CAPSULE_SHAPE_FIXLINKS } diff --git a/src/obj/bhkCollisionObject.cpp b/src/obj/bhkCollisionObject.cpp index dcb89a538f8ccd7ee57d1dff5f44380010907e79..ece70244d6de74321a01c0d0dc7348fa3fa7aed4 100644 --- a/src/obj/bhkCollisionObject.cpp +++ b/src/obj/bhkCollisionObject.cpp @@ -23,7 +23,7 @@ string bhkCollisionObject::asString( bool verbose ) const { BHK_COLLISION_OBJECT_STRING } -void bhkCollisionObject::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkCollisionObject::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_COLLISION_OBJECT_FIXLINKS } diff --git a/src/obj/bhkConvexShape.cpp b/src/obj/bhkConvexShape.cpp index 9d3665d4c68b4ce92e39d46302d38e60b02c2993..d821141709467eb55a0c5109036c5718733912bc 100644 --- a/src/obj/bhkConvexShape.cpp +++ b/src/obj/bhkConvexShape.cpp @@ -23,7 +23,7 @@ string bhkConvexShape::asString( bool verbose ) const { BHK_CONVEX_SHAPE_STRING } -void bhkConvexShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkConvexShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_CONVEX_SHAPE_FIXLINKS } diff --git a/src/obj/bhkConvexTransformShape.cpp b/src/obj/bhkConvexTransformShape.cpp index 895b9ceeb73709e1e33398fdea0e76afe0374387..fa79033649ecc1cb9a83e0af05ce4a3fc6b0825c 100644 --- a/src/obj/bhkConvexTransformShape.cpp +++ b/src/obj/bhkConvexTransformShape.cpp @@ -23,7 +23,7 @@ string bhkConvexTransformShape::asString( bool verbose ) const { BHK_CONVEX_TRANSFORM_SHAPE_STRING } -void bhkConvexTransformShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkConvexTransformShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_CONVEX_TRANSFORM_SHAPE_FIXLINKS } diff --git a/src/obj/bhkConvexVerticesShape.cpp b/src/obj/bhkConvexVerticesShape.cpp index db0390264597e5f800a548faee39fc2a8521a400..93836ba835b0a90b8d4e1cacd1de367d5131bf7d 100644 --- a/src/obj/bhkConvexVerticesShape.cpp +++ b/src/obj/bhkConvexVerticesShape.cpp @@ -23,7 +23,7 @@ string bhkConvexVerticesShape::asString( bool verbose ) const { BHK_CONVEX_VERTICES_SHAPE_STRING } -void bhkConvexVerticesShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkConvexVerticesShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_CONVEX_VERTICES_SHAPE_FIXLINKS } diff --git a/src/obj/bhkEntity.cpp b/src/obj/bhkEntity.cpp index a6d859c1b2d47eaa686f455505ef48606192ef2d..6e8cf3bd33cf9fcb4c3e0b98365abc6a150b7309 100644 --- a/src/obj/bhkEntity.cpp +++ b/src/obj/bhkEntity.cpp @@ -24,7 +24,7 @@ string bhkEntity::asString( bool verbose ) const { BHK_ENTITY_STRING } -void bhkEntity::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkEntity::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_ENTITY_FIXLINKS } diff --git a/src/obj/bhkHingeConstraint.cpp b/src/obj/bhkHingeConstraint.cpp index 2a6cf72f0af6d0f36f1f266e9cfdf1d921686d37..62eaf61a4c71f18c0fe2420d885e54b4f80c6642 100644 --- a/src/obj/bhkHingeConstraint.cpp +++ b/src/obj/bhkHingeConstraint.cpp @@ -23,7 +23,7 @@ string bhkHingeConstraint::asString( bool verbose ) const { BHK_HINGE_CONSTRAINT_STRING } -void bhkHingeConstraint::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkHingeConstraint::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_HINGE_CONSTRAINT_FIXLINKS } diff --git a/src/obj/bhkLimitedHingeConstraint.cpp b/src/obj/bhkLimitedHingeConstraint.cpp index d815a8ae613b45668965780cbc0972630f870b1a..d15a620e007d450030fd9a3099603109a97c6c74 100644 --- a/src/obj/bhkLimitedHingeConstraint.cpp +++ b/src/obj/bhkLimitedHingeConstraint.cpp @@ -24,7 +24,7 @@ string bhkLimitedHingeConstraint::asString( bool verbose ) const { BHK_LIMITED_HINGE_CONSTRAINT_STRING } -void bhkLimitedHingeConstraint::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkLimitedHingeConstraint::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_LIMITED_HINGE_CONSTRAINT_FIXLINKS } diff --git a/src/obj/bhkListShape.cpp b/src/obj/bhkListShape.cpp index f21dd12b4d3a49a3e5083926a1f2ff2c79c3858d..0165a56944b5d681884840c7f6bb5d3ba3632e0c 100644 --- a/src/obj/bhkListShape.cpp +++ b/src/obj/bhkListShape.cpp @@ -24,7 +24,7 @@ string bhkListShape::asString( bool verbose ) const { BHK_LIST_SHAPE_STRING } -void bhkListShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkListShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_LIST_SHAPE_FIXLINKS } diff --git a/src/obj/bhkMalleableConstraint.cpp b/src/obj/bhkMalleableConstraint.cpp index 33f0df47b2266a3921688406ce9130b306224f91..1a146837865f1d2d256ea680a1fc1177d28b2587 100644 --- a/src/obj/bhkMalleableConstraint.cpp +++ b/src/obj/bhkMalleableConstraint.cpp @@ -26,7 +26,7 @@ string bhkMalleableConstraint::asString( bool verbose ) const { BHK_MALLEABLE_CONSTRAINT_STRING } -void bhkMalleableConstraint::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkMalleableConstraint::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_MALLEABLE_CONSTRAINT_FIXLINKS } diff --git a/src/obj/bhkMoppBvTreeShape.cpp b/src/obj/bhkMoppBvTreeShape.cpp index d2ad26d30fd2caa8d04b6278ac3deb1206b376ee..95555c674adcbccb5db5d546ad93a2f07e6e2702 100644 --- a/src/obj/bhkMoppBvTreeShape.cpp +++ b/src/obj/bhkMoppBvTreeShape.cpp @@ -24,7 +24,7 @@ string bhkMoppBvTreeShape::asString( bool verbose ) const { BHK_MOPP_BV_TREE_SHAPE_STRING } -void bhkMoppBvTreeShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkMoppBvTreeShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_MOPP_BV_TREE_SHAPE_FIXLINKS } diff --git a/src/obj/bhkMultiSphereShape.cpp b/src/obj/bhkMultiSphereShape.cpp index 754ed15515538fede21b564711549fac18a19513..c326402d2d2495491d2af63612c27b769bfdd270 100644 --- a/src/obj/bhkMultiSphereShape.cpp +++ b/src/obj/bhkMultiSphereShape.cpp @@ -24,7 +24,7 @@ string bhkMultiSphereShape::asString( bool verbose ) const { BHK_MULTI_SPHERE_SHAPE_STRING } -void bhkMultiSphereShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkMultiSphereShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_MULTI_SPHERE_SHAPE_FIXLINKS } diff --git a/src/obj/bhkNiTriStripsShape.cpp b/src/obj/bhkNiTriStripsShape.cpp index 763b96525cab4232847666aff7f68c1d27ce77a5..422d38df8cd65cbb9b218a27bf5a186dad8ee405 100644 --- a/src/obj/bhkNiTriStripsShape.cpp +++ b/src/obj/bhkNiTriStripsShape.cpp @@ -24,7 +24,7 @@ string bhkNiTriStripsShape::asString( bool verbose ) const { BHK_NI_TRI_STRIPS_SHAPE_STRING } -void bhkNiTriStripsShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkNiTriStripsShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_NI_TRI_STRIPS_SHAPE_FIXLINKS } diff --git a/src/obj/bhkPackedNiTriStripsShape.cpp b/src/obj/bhkPackedNiTriStripsShape.cpp index d56bba086fa67d0a3d36eaaab99d5012571b81c7..a85ae3ddfc6689b5548ca4300c62debface558bd 100644 --- a/src/obj/bhkPackedNiTriStripsShape.cpp +++ b/src/obj/bhkPackedNiTriStripsShape.cpp @@ -24,7 +24,7 @@ string bhkPackedNiTriStripsShape::asString( bool verbose ) const { BHK_PACKED_NI_TRI_STRIPS_SHAPE_STRING } -void bhkPackedNiTriStripsShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkPackedNiTriStripsShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_PACKED_NI_TRI_STRIPS_SHAPE_FIXLINKS } diff --git a/src/obj/bhkPrismaticConstraint.cpp b/src/obj/bhkPrismaticConstraint.cpp index 15fc5e3af4b60c4d5c48f763ca7f43f9b715f13b..d06a99b5a3da1bb8784aff7fac845872ca663071 100644 --- a/src/obj/bhkPrismaticConstraint.cpp +++ b/src/obj/bhkPrismaticConstraint.cpp @@ -23,7 +23,7 @@ string bhkPrismaticConstraint::asString( bool verbose ) const { BHK_PRISMATIC_CONSTRAINT_STRING } -void bhkPrismaticConstraint::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkPrismaticConstraint::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_PRISMATIC_CONSTRAINT_FIXLINKS } diff --git a/src/obj/bhkRagdollConstraint.cpp b/src/obj/bhkRagdollConstraint.cpp index 53280ea735d5aa7fd2421da5a5ac60dfd4e7fbb3..40a1327520ee97f44bf77e14f4ef1a2d69edbcc5 100644 --- a/src/obj/bhkRagdollConstraint.cpp +++ b/src/obj/bhkRagdollConstraint.cpp @@ -23,7 +23,7 @@ string bhkRagdollConstraint::asString( bool verbose ) const { BHK_RAGDOLL_CONSTRAINT_STRING } -void bhkRagdollConstraint::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkRagdollConstraint::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_RAGDOLL_CONSTRAINT_FIXLINKS } diff --git a/src/obj/bhkRefObject.cpp b/src/obj/bhkRefObject.cpp index 905a212d985072b479308a940773505eb5c056b7..f6d249e14d200ca58c616ee29c436c49e7317a03 100644 --- a/src/obj/bhkRefObject.cpp +++ b/src/obj/bhkRefObject.cpp @@ -23,7 +23,7 @@ string bhkRefObject::asString( bool verbose ) const { BHK_REF_OBJECT_STRING } -void bhkRefObject::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkRefObject::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_REF_OBJECT_FIXLINKS } diff --git a/src/obj/bhkRigidBody.cpp b/src/obj/bhkRigidBody.cpp index db553c20de3553b42a4b64afc432c2f43e29e613..5c231af807218b65a8371d1389debd8afb7a6ab1 100644 --- a/src/obj/bhkRigidBody.cpp +++ b/src/obj/bhkRigidBody.cpp @@ -25,7 +25,7 @@ string bhkRigidBody::asString( bool verbose ) const { BHK_RIGID_BODY_STRING } -void bhkRigidBody::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkRigidBody::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_RIGID_BODY_FIXLINKS } diff --git a/src/obj/bhkRigidBodyT.cpp b/src/obj/bhkRigidBodyT.cpp index 44fb735f5db97d9c6a2d6da32f3b9082a3a6c8f5..e8722ac648eb13fa7df995490e5204ff787faf42 100644 --- a/src/obj/bhkRigidBodyT.cpp +++ b/src/obj/bhkRigidBodyT.cpp @@ -23,7 +23,7 @@ string bhkRigidBodyT::asString( bool verbose ) const { BHK_RIGID_BODY_T_STRING } -void bhkRigidBodyT::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkRigidBodyT::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_RIGID_BODY_T_FIXLINKS } diff --git a/src/obj/bhkSPCollisionObject.cpp b/src/obj/bhkSPCollisionObject.cpp index 46829d6b50a7485067cd499060bb98b04db89e05..d7cd0ba20b03fc3ce230cdc136238c3bb81366ae 100644 --- a/src/obj/bhkSPCollisionObject.cpp +++ b/src/obj/bhkSPCollisionObject.cpp @@ -23,7 +23,7 @@ string bhkSPCollisionObject::asString( bool verbose ) const { BHK_S_P_COLLISION_OBJECT_STRING } -void bhkSPCollisionObject::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkSPCollisionObject::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_S_P_COLLISION_OBJECT_FIXLINKS } diff --git a/src/obj/bhkSerializable.cpp b/src/obj/bhkSerializable.cpp index 65ba8927aa75e8db9237edd3edf160203c15ebe9..e49e98eff9bef4f011ae1e9e96361eeb23cf9ecb 100644 --- a/src/obj/bhkSerializable.cpp +++ b/src/obj/bhkSerializable.cpp @@ -23,7 +23,7 @@ string bhkSerializable::asString( bool verbose ) const { BHK_SERIALIZABLE_STRING } -void bhkSerializable::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkSerializable::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_SERIALIZABLE_FIXLINKS } diff --git a/src/obj/bhkShape.cpp b/src/obj/bhkShape.cpp index f1dd46f89aea476269ac93f8dd197d18fb021889..0a23ff6fc5ec613f665eb921d8e47df9da058889 100644 --- a/src/obj/bhkShape.cpp +++ b/src/obj/bhkShape.cpp @@ -23,7 +23,7 @@ string bhkShape::asString( bool verbose ) const { BHK_SHAPE_STRING } -void bhkShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_SHAPE_FIXLINKS } diff --git a/src/obj/bhkSimpleShapePhantom.cpp b/src/obj/bhkSimpleShapePhantom.cpp index 586fabd8c4e6906761c4f302b36a1975b3ff80fb..17ed93c07359ff44513413e660231309ab559fe8 100644 --- a/src/obj/bhkSimpleShapePhantom.cpp +++ b/src/obj/bhkSimpleShapePhantom.cpp @@ -23,7 +23,7 @@ string bhkSimpleShapePhantom::asString( bool verbose ) const { BHK_SIMPLE_SHAPE_PHANTOM_STRING } -void bhkSimpleShapePhantom::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkSimpleShapePhantom::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_SIMPLE_SHAPE_PHANTOM_FIXLINKS } diff --git a/src/obj/bhkSphereRepShape.cpp b/src/obj/bhkSphereRepShape.cpp index 10dc2c9abf62a37ce7bd01ed5b280ab8f0195c44..3de723e0c5f5aca7f03156d262cc1a6a14da87eb 100644 --- a/src/obj/bhkSphereRepShape.cpp +++ b/src/obj/bhkSphereRepShape.cpp @@ -23,7 +23,7 @@ string bhkSphereRepShape::asString( bool verbose ) const { BHK_SPHERE_REP_SHAPE_STRING } -void bhkSphereRepShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkSphereRepShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_SPHERE_REP_SHAPE_FIXLINKS } diff --git a/src/obj/bhkSphereShape.cpp b/src/obj/bhkSphereShape.cpp index 773b06d96589888ab51af0416e54e5848f3e2f6b..3681512515fe562fd3f30952d576696dbbac2625 100644 --- a/src/obj/bhkSphereShape.cpp +++ b/src/obj/bhkSphereShape.cpp @@ -23,7 +23,7 @@ string bhkSphereShape::asString( bool verbose ) const { BHK_SPHERE_SHAPE_STRING } -void bhkSphereShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkSphereShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_SPHERE_SHAPE_FIXLINKS } diff --git a/src/obj/bhkStiffSpringConstraint.cpp b/src/obj/bhkStiffSpringConstraint.cpp index eaa7ea490a0e713d005d5aa828257353e14e1d95..c0dd81a394e9bbdbc5a5bc506b6b5a0e319fc672 100644 --- a/src/obj/bhkStiffSpringConstraint.cpp +++ b/src/obj/bhkStiffSpringConstraint.cpp @@ -23,7 +23,7 @@ string bhkStiffSpringConstraint::asString( bool verbose ) const { BHK_STIFF_SPRING_CONSTRAINT_STRING } -void bhkStiffSpringConstraint::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkStiffSpringConstraint::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_STIFF_SPRING_CONSTRAINT_FIXLINKS } diff --git a/src/obj/bhkTransformShape.cpp b/src/obj/bhkTransformShape.cpp index 2d9c6f0c4f92f952f37a7d3e35058a606b1d10a9..17f0ab6a14f768d55b14ca6fe382e74daa240452 100644 --- a/src/obj/bhkTransformShape.cpp +++ b/src/obj/bhkTransformShape.cpp @@ -23,7 +23,7 @@ string bhkTransformShape::asString( bool verbose ) const { BHK_TRANSFORM_SHAPE_STRING } -void bhkTransformShape::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkTransformShape::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_TRANSFORM_SHAPE_FIXLINKS } diff --git a/src/obj/bhkWorldObject.cpp b/src/obj/bhkWorldObject.cpp index e960609c71cc381d3dab6053c91a9b4f16ee7f20..6eabaae041613838734fde1b8844e377b1087513 100644 --- a/src/obj/bhkWorldObject.cpp +++ b/src/obj/bhkWorldObject.cpp @@ -23,7 +23,7 @@ string bhkWorldObject::asString( bool verbose ) const { BHK_WORLD_OBJECT_STRING } -void bhkWorldObject::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void bhkWorldObject::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { BHK_WORLD_OBJECT_FIXLINKS } diff --git a/src/obj/hkPackedNiTriStripsData.cpp b/src/obj/hkPackedNiTriStripsData.cpp index 11642ba8398f9e8ae2393d8f032fd8fc627c8a8a..d9adbddb9f0e729ab98eb85af5dffb18d340d2fc 100644 --- a/src/obj/hkPackedNiTriStripsData.cpp +++ b/src/obj/hkPackedNiTriStripsData.cpp @@ -24,7 +24,7 @@ string hkPackedNiTriStripsData::asString( bool verbose ) const { HK_PACKED_NI_TRI_STRIPS_DATA_STRING } -void hkPackedNiTriStripsData::FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { +void hkPackedNiTriStripsData::FixLinks( const map<unsigned,NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version ) { HK_PACKED_NI_TRI_STRIPS_DATA_FIXLINKS }