Changes in R17

Changes in R17.032

Removed Legacy Defines

The __LEGACY_API define is no longer available. This means that all plugins must be transitioned to the API changes introduced in R15.

Most of the needed changes can be done with simple search & replace operations. Only very few changes need attention and manual adjustment of source code.

See Transition to Cinema 4D R15 API for more information.

Development Environment Requirements

  • Minimum OS requirement are Windows 7 (or newer) and OS X 10.9 (or newer).
  • On Windows, Microsoft Visual Studio 2013 (with latest SP & patches) is required.
  • On OS X, Xcode 6 is required.

Take System Support

The API provides access and support for the newly added Take System feature in R17. For more information see Take System Overview overview article.

Token System Support

The API supports the newly added Token System feature in R17. For more information see Token System Overview overview article.

UTF-32 Unicode Strings

Starting with R17 Cinema 4D now internally supports and is based on UTF-32 unicode. UInt16* String functions parameters type have been replaced by Utf32Char.

String::GetUcBlock(), String::GetUcBlockNull() and String::SetUcBlock() have been removed. Instead call String::GetUtf32() and String::SetUtf32() to support full UTF-32 Unicode handling.

See changes in c4d_string.h for more information.

Note plugins that were compiled with any previous API version will still run, but not be able to handle UTF-32 unicode characters that are larger than 0xffff correctly.

Sculpting Additions

A SculptBrush can now receive mouse messages in the new method SculptBrushToolData::MouseData().

Other methods have been added to the Sculpting API. See these additions in lib_sculpt.h and lib_sculptbrush.h.

Miscellaneous

GitHub Repository

  • The SDK examples can be found online on the PluginCafe GitHub repository at this page.
  • ResEdit source code has also been released there.

API Changes in R17.032

See API Changes in R17.032 for the detailed list.

Changes in R17.048

Cinema 4D R17.048 brings minor changes and additions to the C++ API.

The most important additions are the definition of the file format IDs for OBJ importer/exporter and Sketchup importer.

API Changes in R17.048

See API Changes in R17.048 for the detailed list.

Changes in R17.053

Cinema 4D R17.053 changes how the names of custom menus are handled. Instead of setting the string content directly the string ID should be passed:

menu.InsData(MENURESOURCE_SUBTITLE, "IDS_MY_MENU");

Also since R17.053 DrawViews() cannot be used while a modal dialog is open.

API Changes in R17.053

See API Changes in R17.053 for the detailed list.