Editor: Fix some entities getting their 'angles' reset when moved.
This commit is contained in:
parent
9cda1adcd4
commit
e7606f6c78
|
@ -59,6 +59,7 @@ inline void read_angles(Vector3 &angles, const char *value)
|
||||||
{
|
{
|
||||||
if (!string_parse_vector3(value, angles)) {
|
if (!string_parse_vector3(value, angles)) {
|
||||||
default_angles(angles);
|
default_angles(angles);
|
||||||
|
printf("Failed to read angles!\n");
|
||||||
} else {
|
} else {
|
||||||
angles = Vector3(angles[2], angles[0], angles[1]);
|
angles = Vector3(angles[2], angles[0], angles[1]);
|
||||||
normalise_angles(angles);
|
normalise_angles(angles);
|
||||||
|
@ -70,19 +71,11 @@ inline void write_angles(const Vector3 &angles, Entity *entity)
|
||||||
if (angles[0] == 0
|
if (angles[0] == 0
|
||||||
&& angles[1] == 0
|
&& angles[1] == 0
|
||||||
&& angles[2] == 0) {
|
&& angles[2] == 0) {
|
||||||
entity->setKeyValue("angle", "");
|
|
||||||
entity->setKeyValue("angles", "");
|
entity->setKeyValue("angles", "");
|
||||||
} else {
|
} else {
|
||||||
char value[64];
|
char value[64];
|
||||||
|
sprintf(value, "%f %f %f", angles[1], angles[2], angles[0]);
|
||||||
if (angles[0] == 0 && angles[1] == 0) {
|
entity->setKeyValue("angles", value);
|
||||||
entity->setKeyValue("angles", "");
|
|
||||||
write_angle(angles[2], entity);
|
|
||||||
} else {
|
|
||||||
sprintf(value, "%f %f %f", angles[1], angles[2], angles[0]);
|
|
||||||
entity->setKeyValue("angle", "");
|
|
||||||
entity->setKeyValue("angles", value);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue