Non-trivial copiable object fixes, limited to the engine's itself
not the third parties parts.
This commit is contained in:
@@ -132,7 +132,7 @@ void Blueprint::create(Object* obj, const Design* design) {
|
||||
data[i] = new CScriptAny(devices.scripts.server->engine);
|
||||
|
||||
memset(effectorStates, 0, design->effectorStateCount * sizeof(double));
|
||||
memset(effectorTargets, 0, design->effectorCount * sizeof(EffectorTarget));
|
||||
memset(reinterpret_cast<void *>(effectorTargets), 0, design->effectorCount * sizeof(EffectorTarget));
|
||||
|
||||
for(unsigned i = 0; i < cnt; ++i) {
|
||||
auto& sys = design->subsystems[i];
|
||||
|
||||
@@ -913,7 +913,7 @@ public:
|
||||
type.grab();
|
||||
states = new double[type.type.stateCount]();
|
||||
|
||||
memset(&target, 0, sizeof(EffectorTarget));
|
||||
memset(reinterpret_cast<void *>(&target), 0, sizeof(EffectorTarget));
|
||||
target.tracking = vec3d::front();
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ struct frustum {
|
||||
}
|
||||
|
||||
void operator=(const frustum& other) {
|
||||
memcpy(this, &other, sizeof(frustum));
|
||||
memcpy(reinterpret_cast<void *>(this), &other, sizeof(frustum));
|
||||
}
|
||||
|
||||
bool overlaps(const vec3d& center, double radius) const {
|
||||
@@ -34,4 +34,4 @@ struct frustum {
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user