ResetAndCollapse.ms 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. --
  2. -- Command & Conquer Renegade(tm)
  3. -- Copyright 2025 Electronic Arts Inc.
  4. --
  5. -- This program is free software: you can redistribute it and/or modify
  6. -- it under the terms of the GNU General Public License as published by
  7. -- the Free Software Foundation, either version 3 of the License, or
  8. -- (at your option) any later version.
  9. --
  10. -- This program is distributed in the hope that it will be useful,
  11. -- but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. -- GNU General Public License for more details.
  14. --
  15. -- You should have received a copy of the GNU General Public License
  16. -- along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. --
  18. ------------------------------------------------------------------------
  19. --
  20. -- ResetAndCollapse.ms - Effectively applies the "Reset XForm" utility
  21. -- to each selected object and collapses their stacks.
  22. --
  23. ------------------------------------------------------------------------
  24. -- A scripted function that does the same as the Reset Transform
  25. -- Utility.
  26. -- John Wainwright
  27. --
  28. -- Andre Arsenault: Maintain the pivot point so that it is not reset
  29. -- to the origin.
  30. function RAC_reset_transform obj =
  31. (
  32. -- grab current transform, reset it, add a new xform
  33. -- modifier & set the xform's tm to the object's original tm
  34. local ftm = obj.transform
  35. local p = obj.pivot
  36. obj.transform = matrix3 1
  37. obj.pivot = p
  38. local xf = xform ()
  39. addModifier obj xf
  40. xf.gizmo.transform = ftm
  41. )
  42. function resetAndCollapse
  43. = (
  44. for obj in selection do
  45. (
  46. RAC_reset_transform obj
  47. collapseStack obj
  48. )
  49. )
  50. macroScript Reset_XForm_And_Collapse
  51. category:"Westwood Scripts"
  52. buttonText:"Reset XForm And Collapse Stack"
  53. toolTip:"Apply a Reset XForm and Collapse Stack to all selected objects"
  54. icon:#("PolyTools",16)
  55. (
  56. resetAndCollapse()
  57. )