1114 {
1115 if ( angle_deg != 0 )
1116 {
1117
1118 orientation[0] = orientation[0] - angle_deg;
1119
1120
1121 vector rotate_axis;
1122 if ( MemoryPointExists( "rotate_axis" ) )
1123 {
1124 rotate_axis = ModelToWorld( GetMemoryPointPos( "rotate_axis" ) );
1125 }
1126 float r_center_x = ( Math.Cos( angle_deg * Math.DEG2RAD ) * ( center[0] - rotate_axis[0] ) ) - ( Math.Sin( angle_deg * Math.DEG2RAD ) * ( center[2] - rotate_axis[2] ) ) + rotate_axis[0];
1127 float r_center_z = ( Math.Sin( angle_deg * Math.DEG2RAD ) * ( center[0] - rotate_axis[0] ) ) + ( Math.Cos( angle_deg * Math.DEG2RAD ) * ( center[2] - rotate_axis[2] ) ) + rotate_axis[2];
1128 center[0] = r_center_x;
1129 center[2] = r_center_z;
1130 }
1131 }