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.
The API provides access and support for the newly added Take System feature in R17. For more information see Take System Overview overview article.
The API supports the newly added Token System feature in R17. For more information see Token System Overview overview article.
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.
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.
See API Changes in R17.032 for the detailed list.
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.
See API Changes in R17.048 for the detailed list.
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:
Also since R17.053 DrawViews() cannot be used while a modal dialog is open.
See API Changes in R17.053 for the detailed list.