Skip to content
Snippets Groups Projects
Commit 2155d689 authored by skyfox69's avatar skyfox69
Browse files

added some copy constructors

parent 4ad2d0a0
No related branches found
No related tags found
No related merge requests found
Showing
with 151 additions and 0 deletions
......@@ -29,6 +29,9 @@ public:
/*! Constructor */
NIFLIB_API RefObject();
/*! Copy Constructor */
NIFLIB_API RefObject(const RefObject& src);
/*! Destructor */
NIFLIB_API virtual ~RefObject();
......
......@@ -19,6 +19,7 @@ class NiObject;
class Type {
public:
NIFLIB_API Type (const string & type_name, const Type * par_type );
NIFLIB_API Type (const Type& src);
NIFLIB_API ~Type();
NIFLIB_API string GetTypeName() const;
......
......@@ -45,6 +45,9 @@ struct TexCoord {
/*! Default constructor */
NIFLIB_API TexCoord() : u(0.0f), v(0.0f) {}
/*! Copy constructor */
NIFLIB_API TexCoord(const TexCoord& src) : u(src.u), v(src.v) {}
NIFLIB_API TexCoord operator+(const TexCoord& rhs) const
{
TexCoord ret;
......@@ -603,6 +606,9 @@ struct Matrix33 {
/*! Default constructor. Initializes matrix to identity. */
NIFLIB_API Matrix33();
/*! Copy constructor. */
NIFLIB_API Matrix33(const Matrix33& src);
/*! This constructor can be used to set all values in this matrix during initialization
* \param[in] m11 The value to set at row 1, column 1.
* \param[in] m12 The value to set at row 1, column 2.
......@@ -955,6 +961,13 @@ struct Color3 {
/*! Default constructor */
NIFLIB_API Color3() {}
/*! Copy constructor */
NIFLIB_API Color3(const Color3& src) {
this->r = src.r;
this->g = src.g;
this->b = src.b;
}
/*! This constructor can be used to set all values in this structure during initialization
* \param[in] r The value to set the red component of this color to. Should be between 0.0f and 1.0f.
* \param[in] g The value to set the green component of this color to. Should be between 0.0f and 1.0f.
......@@ -1010,6 +1023,9 @@ struct Color4 {
/*! Default constructor */
NIFLIB_API Color4() : r(0.0f), g(0.0f), b(0.0f), a(0.0f) {}
/*! Copy constructor */
NIFLIB_API Color4(const Color4& src) : r(src.r), g(src.g), b(src.b), a(src.a) {}
/*! This constructor can be used to set all values in this structure during initialization
* \param[in] r The value to set the red component of this color to. Should be between 0.0f and 1.0f.
* \param[in] g The value to set the green component of this color to. Should be between 0.0f and 1.0f.
......
......@@ -34,6 +34,9 @@ public:
/*! Constructor */
NIFLIB_API BSLightingShaderProperty();
/*! Copy constructor */
NIFLIB_API BSLightingShaderProperty(const BSLightingShaderProperty& src);
/*! Destructor */
NIFLIB_API virtual ~BSLightingShaderProperty();
......
......@@ -35,6 +35,9 @@ public:
/*! Constructor */
NIFLIB_API NiAVObject();
/*! Copy constructor */
NIFLIB_API NiAVObject(const NiAVObject& src);
/*! Destructor */
NIFLIB_API virtual ~NiAVObject();
......
......@@ -34,6 +34,9 @@ public:
/*! Constructor */
NIFLIB_API NiNode();
/*! Copy constructor */
NIFLIB_API NiNode(const NiNode& src);
/*! Destructor */
NIFLIB_API virtual ~NiNode();
......
......@@ -38,6 +38,9 @@ public:
/*! Constructor */
NIFLIB_API NiObject();
/*! Copy constructor */
NIFLIB_API NiObject(const NiObject& src);
/*! Destructor */
NIFLIB_API virtual ~NiObject();
......
......@@ -31,6 +31,9 @@ public:
/*! Constructor */
NIFLIB_API NiObjectNET();
/*! Copy constructor */
NIFLIB_API NiObjectNET(const NiObjectNET& src);
/*! Destructor */
NIFLIB_API virtual ~NiObjectNET();
......
......@@ -32,6 +32,9 @@ public:
/*! Constructor */
NIFLIB_API bhkCompressedMeshShape();
/*! Copy constructor */
NIFLIB_API bhkCompressedMeshShape(const bhkCompressedMeshShape& src);
/*! Destructor */
NIFLIB_API virtual ~bhkCompressedMeshShape();
......
......@@ -30,6 +30,9 @@ public:
/*! Constructor */
NIFLIB_API bhkMoppBvTreeShape();
/*! Copy constructor */
NIFLIB_API bhkMoppBvTreeShape(const bhkMoppBvTreeShape& src);
/*! Destructor */
NIFLIB_API virtual ~bhkMoppBvTreeShape();
......
......@@ -39,6 +39,9 @@ public:
/*! Constructor */
NIFLIB_API bhkRigidBody();
/*! Copy constructor */
NIFLIB_API bhkRigidBody(const bhkRigidBody& src);
/*! Destructor */
NIFLIB_API virtual ~bhkRigidBody();
......
......@@ -12,6 +12,11 @@ RefObject::RefObject() {
objectsInMemory++;
}
RefObject::RefObject(const RefObject& src) {
_ref_count = 0;
objectsInMemory++;
}
RefObject::~RefObject() {
objectsInMemory--;
}
......
......@@ -9,6 +9,8 @@ int Type::num_types = 0;
Type::Type (const string & type_name, const Type * par_type ) : name(type_name), base_type(par_type), internal_type_number(num_types++) {}
Type::Type(const Type& src) : name(src.name), base_type(src.base_type), internal_type_number(src.internal_type_number) {}
Type::~Type() {}
bool Type::operator<( const Type & compare_to ) const {
......
......@@ -298,6 +298,10 @@ Matrix33::Matrix33() {
*this = Matrix33::IDENTITY;
}
Matrix33::Matrix33(const Matrix33& src) {
*this = src;
}
Quaternion Matrix33::AsQuaternion() const {
Quaternion quat;
float tr, s, q[4];
......
......@@ -27,6 +27,36 @@ BSLightingShaderProperty::BSLightingShaderProperty() : shaderFlags1((unsigned in
//--END CUSTOM CODE--//
}
BSLightingShaderProperty::BSLightingShaderProperty(const BSLightingShaderProperty& src)
: shaderFlags1(src.shaderFlags1),
shaderFlags2(src.shaderFlags2),
textureSet(NULL),
emissiveSaturation(src.emissiveSaturation),
unknownInt7(src.unknownInt7),
alpha(src.alpha),
unknownFloat2(src.unknownFloat2),
glossiness(src.glossiness),
specularStrength(src.specularStrength),
lightingEffect1(src.lightingEffect1),
lightingEffect2(src.lightingEffect2),
environmentMapStrength(src.environmentMapStrength),
unknownFloat9(src.unknownFloat9),
eyeCubemapScale(src.eyeCubemapScale),
emissiveColor(src.emissiveColor),
specularColor(src.specularColor),
unknownColor1(src.unknownColor1),
unknownColor2(src.unknownColor2),
unknownFloatSet1(src.unknownFloatSet1),
unknownFloatSet5(src.unknownFloatSet5),
leftEyeReflectionCenter(src.leftEyeReflectionCenter),
rightEyeReflectionCenter(src.rightEyeReflectionCenter),
textureTranslation1(src.textureTranslation1),
textureRepeat(src.textureRepeat)
{
//--BEGIN CONSTRUCTOR CUSTOM CODE--//
//--END CUSTOM CODE--//
}
BSLightingShaderProperty::~BSLightingShaderProperty() {
//--BEGIN DESTRUCTOR CUSTOM CODE--//
......
......@@ -31,6 +31,27 @@ NiAVObject::NiAVObject() : flags((unsigned short)0), unknownShort1((unsigned sho
//--END CUSTOM CODE--//
}
NiAVObject::NiAVObject(const NiAVObject& src)
: NiObjectNET(src),
flags(src.flags),
unknownShort1(src.unknownShort1),
scale(src.scale),
numProperties((unsigned int)0),
unknown2(src.unknown2),
hasBoundingBox(src.hasBoundingBox),
collisionObject(NULL),
translation(src.translation),
velocity(src.velocity),
rotation(src.rotation),
boundingBox(src.boundingBox)
{
//--BEGIN CONSTRUCTOR CUSTOM CODE--//
parent = NULL;
//--END CUSTOM CODE--//
}
NiAVObject::~NiAVObject() {
//--BEGIN DESTRUCTOR CUSTOM CODE--//
......
......@@ -33,6 +33,13 @@ NiNode::NiNode() : numChildren((unsigned int)0), numEffects((unsigned int)0) {
//--END CUSTOM CODE--//
}
NiNode::NiNode(const NiNode& src)
: NiAVObject(src),
numChildren((unsigned int)0),
numEffects((unsigned int)0)
{
}
NiNode::~NiNode() {
//--BEGIN DESTRUCTOR CUSTOM CODE--//
......
......@@ -25,6 +25,14 @@ NiObject::NiObject() {
//--END CUSTOM CODE--//
}
NiObject::NiObject(const NiObject& src)
: RefObject(src),
internal_block_number(src.internal_block_number)
{
//--BEGIN CONSTRUCTOR CUSTOM CODE--//
//--END CUSTOM CODE--//
}
NiObject::~NiObject() {
//--BEGIN DESTRUCTOR CUSTOM CODE--//
//--END CUSTOM CODE--//
......
......@@ -27,6 +27,23 @@ NiObjectNET::NiObjectNET() : skyrimShaderType((unsigned int)0), hasOldExtraData(
//--END CUSTOM CODE--//
}
NiObjectNET::NiObjectNET(const NiObjectNET& src)
: NiObject(src),
skyrimShaderType(src.skyrimShaderType),
name(src.name),
hasOldExtraData (src.hasOldExtraData),
oldExtraPropName(src.oldExtraPropName),
oldExtraInternalId(src.oldExtraInternalId),
oldExtraString(src.oldExtraString),
unknownByte(src.unknownByte),
extraData(NULL),
numExtraDataList((unsigned int)0),
controller(NULL)
{
//--BEGIN CONSTRUCTOR CUSTOM CODE--//
//--END CUSTOM CODE--//
}
NiObjectNET::~NiObjectNET() {
//--BEGIN DESTRUCTOR CUSTOM CODE--//
......
......@@ -28,6 +28,19 @@ bhkCompressedMeshShape::bhkCompressedMeshShape() : target(NULL), material((Havok
//--END CUSTOM CODE--//
}
bhkCompressedMeshShape::bhkCompressedMeshShape(const bhkCompressedMeshShape& src)
: target(NULL),
material(src.material),
unknownFloat1(src.unknownFloat1),
data(NULL)
{
for (short i(0); i < 8; ++i)
{
unknown8Bytes[i] = src.unknown8Bytes[i];
unknownFloats[i] = src.unknownFloats[i];
}
}
bhkCompressedMeshShape::~bhkCompressedMeshShape() {
//--BEGIN DESTRUCTOR CUSTOM CODE--//
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment