1029 {
1030 if ( angle_deg != 0 )
1031 {
1032
1034
1035
1036 vector rotate_axis;
1037 if ( MemoryPointExists( "rotate_axis" ) )
1038 {
1039 rotate_axis = ModelToWorld( GetMemoryPointPos( "rotate_axis" ) );
1040 }
1041 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];
1042 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];
1043 center[0] = r_center_x;
1044 center[2] = r_center_z;
1045 }
1046 }