Changes in S22

Changes in S22.016

Development Environment

Cinema 4D S22 is supported on Windows 10 and at least MacOS 10.13.6 while MacOS 10.15 is the recommended version. Building C++ plugins requires Visual Studio 2019 or Xcode 11.

S22 Compatibility with R21

Almost all plugins from R21 should be compatible with S22.

However any implemented or usage of viewport and especially OpenGL specific features may not work ans will need adaptation and recompilation. See Viewport.

If HierarchyObjectInterface is implemented a recompilation will be needed. Usage is fine, no recompilation needed.

Extra Headers

Some refactoration have been done in S22 so here and there you may need to include a few additional things:

  • #include “maxon/errortypes.h” -> contains rarely used errors (not part of errorbase.h).
  • #include "maxon/threadservices.h" contains thread errors (not part of errorbase.h).
  • #include "maxon/iostreams.h" contains iostreams handling.
  • #include "maxon/global.h" is sometimes required if maxon::Global is used.
  • #include <stdio.h> <stdarg.h> are sometimes required if you use old style code.

Viewport

A new Cinema 4D viewport technology has been introduced during this release. A lot of OpenGL related stuff is removed, if you make use of them, please contact us.

Note
All tags that draw something in the viewport implementing the TagData::Draw should be registered with TAG_IMPLEMENTS_DRAW_FUNCTION flag.

Finally, a lot of enum values are renamed from OPENGL_SOMETHING to DRAWPORT_SOMETHING.

UV

The UV workflow as been improved. New mode exist, Muvedges and Muvon finally IsUvToolMode can be used to determine if the operation should be done on the UV context or on the 3D space.

Then new functions are provided:

See Pin.

And new UV Commands are presents:

  • MCOMMAND_MIRRORSELECTION. Mirror the current selection.
  • MCOMMAND_UVUNWRAP. Unwrap the current UV.
  • MCOMMAND_UVWELDRELAX. Weld and relax the current UV.

Modeling

Few modeling tools as been re-written, providing new scripting controls for:

  • Loop Selection (ID_MODELING_LOOP_TOOL).
  • Ring Selection (ID_MODELING_RING_TOOL).
  • Outline Selection (ID_MODELING_OUTLINE_SELECTION_TOOL).
  • Fill Selection (ID_MODELING_FILL_SELECTION_TOOL).

Various Changes

API Changes in S22.011

See API Changes in S22.016 for the detailed list.

Changes in S22.114

_HAS_EXCEPTIONS value shouldn't be overridden anymore.

See API Changes in S22.114 for the detailed list.