Skip to content

Commit a558428

Browse files
committed
* Fixed an issue where the 3D object rotation matrix wasn't always being updated
when a 3D object is rotated.
1 parent e23811b commit a558428

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

TheForceEngine/TFE_Editor/LevelEditor/editTransforms.cpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1173,7 +1173,7 @@ namespace LevelEditor
11731173
obj->pos.x = (srcData[v].x - s_center.x) * mtx[0].x + (srcData[v].y - s_center.z) * mtx[0].y + mtx[0].z;
11741174
obj->pos.z = (srcData[v].x - s_center.x) * mtx[1].x + (srcData[v].y - s_center.z) * mtx[1].y + mtx[1].z;
11751175
obj->angle = srcData[v].z + angle;
1176-
1176+
11771177
if (s_level.entities[obj->entityId].type == ETYPE_3D)
11781178
{
11791179
compute3x3Rotation(&obj->transform, obj->angle, obj->pitch, obj->roll);
@@ -1221,6 +1221,12 @@ namespace LevelEditor
12211221
obj->pos.x = srcObjData[o].x;
12221222
obj->pos.z = srcObjData[o].y;
12231223
obj->angle = srcObjData[o].z;
1224+
1225+
if (s_level.entities[obj->entityId].type == ETYPE_3D)
1226+
{
1227+
compute3x3Rotation(&obj->transform, obj->angle, obj->pitch, obj->roll);
1228+
}
1229+
12241230
if (sector->searchKey != s_searchKey)
12251231
{
12261232
s_sectorChangeList.push_back(sector);
@@ -1237,6 +1243,12 @@ namespace LevelEditor
12371243
obj->pos.x = (srcObjData[o].x - s_center.x) * mtx[0].x + (srcObjData[o].y - s_center.z) * mtx[0].y + mtx[0].z;
12381244
obj->pos.z = (srcObjData[o].x - s_center.x) * mtx[1].x + (srcObjData[o].y - s_center.z) * mtx[1].y + mtx[1].z;
12391245
obj->angle = srcObjData[o].z + angle;
1246+
1247+
if (s_level.entities[obj->entityId].type == ETYPE_3D)
1248+
{
1249+
compute3x3Rotation(&obj->transform, obj->angle, obj->pitch, obj->roll);
1250+
}
1251+
12401252
if (sector->searchKey != s_searchKey)
12411253
{
12421254
s_sectorChangeList.push_back(sector);

0 commit comments

Comments
 (0)