API Change List in R20

Table of Contents

API Changes in R20.011

For the sake of simplicity, changes due to the enumeration refactoring and the maxon::String class are not listed in this document.

For information on how to adapt existing code see API Transition.

New MAXON API Frameworks

The new frameworks beside the cinema.framework contain the new MAXON API. For an overview see MAXON API Frameworks.

c4d_preview and c4d_scaling

The folders "c4d_preview" and "c4d_scaling" have been removed.

c4d_coffee

The files c4d_coffee.cpp and c4d_coffee.h were removed.

c4d_memory_mp.h

c4d_memory_mp.h was removed.

c4d_misc.h

c4d_misc.h was removed.

ge_dynamicarray.h

ge_dynamicarray.h was removed.

ge_lmatrix.h, ge_lvector.h, ge_matrix.h, ge_vector.h

The files ge_lmatrix.h, ge_lvector.h, ge_matrix.h andge_vector.h were removed.

ge_sort.h

The files ge_sort.h and ge_sort.cpp were removed.

lib_big_integer.h

The files lib_big_integer.h and lib_big_integer.cpp were removed.

lib_secure_random.h

The files lib_secure_random.h and lib_secure_random.cpp were removed.

datastructures

The following files in the "c4d_misc/datastructures" folder were removed: autoiterator.h, basearray.h, baselist.h, blockarray.h, collection.h, delegate.h, hashcode.h, hashmap.h, pointerarray.h, sort.h and sortedarray.h.

memory

The following files in the "c4d_misc/memory" folder were removed: debugglobals.h, debugglobals.cpp, defaultallocator.h and defaultallocator.cpp.

utilities

The following files in the "c4d_misc/utilities" folder were removed: compilerdetection.h and enumflags.h.

general.h

The file c4d_misc/general.h was removed.

c4d_basedocument.h

{
// Changed to
};
{
BaseObject* SearchObjectInc(const String& str); // Removed
BaseMaterial* SearchMaterialInc(const String& str); // Removed
void FlushUndoBuffer(void);
// Changed to
void FlushUndoBuffer(Bool lastEntryOnly = false);
void SetTemporaryManipulatorObject(BaseObject* temp); // Private
};
Bool GetAllAssets(BaseDocument* doc, Bool allowDialogs, maxon::BaseArray<AssetEntry>& assets, Filename& lastPath);
// Changed to
enum
{
}

c4d_basedraw.h

class BaseDraw
{
BaseObject* GetEnv() const;
// Changed to
BaseObject* GetSky() const;
// Changed to
void DrawPoly(Vector* vp, Vector* vf, Vector* vn, Int32 anz, Int32 flags);
// Changed to
void DrawPoly(const Vector* vp, const Vector* vf, const Vector* vn, Int32 anz, Int32 flags);
void DrawTexture(const BaseBitmap* bmp, Vector* padr4, Vector* cadr, Vector* vnadr, Vector* uvadr, Int32 pntcnt, DRAW_ALPHA alphamode, DRAW_TEXTUREFLAGS flags);
// Changed to
void DrawTexture(const BaseBitmap* bmp, const Vector* padr4, const Vector* cadr, const Vector* vnadr, const Vector* uvadr, Int32 pntcnt, DRAW_ALPHA alphamode, DRAW_TEXTUREFLAGS flags);
void DrawBoundingBox(BaseObject* op, const Matrix& mg, BaseDrawHelp* bh, Bool shading, Vector* colorOverride = nullptr)
void DrawPolygon(Vector* p, Vector* f, Bool quad);
// Changed to
void DrawPolygon(const Vector* p, const Vector* f, Bool quad);
// Changed to
void SetViewportRender(const String& id);
// Changed to
void SetViewportRender(const maxon::Id& id);
};

c4d_baseeffectordata.h

class MDArray
{
operator const TYPE* () const;
const TYPE* GetPointer(void) const;
// Changed to
Bool operator!() const;
// Changed to
const TYPE& operator[] (Int32 i) const
const TYPE& operator[] (Int64 i) const
};
class MoData
{
UInt32 GetDirty(DIRTYFLAGS mask = DIRTYFLAGS_0);
// Changed to
void SetDirty(DIRTYFLAGS mask = DIRTYFLAGS_0);
// Changed to
};
{
FieldOutput* CalcFields(BaseDocument* doc, BaseObject* generatorObject, MoData* md, FIELDSAMPLE_FLAG flags);
};

c4d_baselist.h

#define MSG_DESCRIPTION_IMPEXPORT_CANCEL
#define MSG_DESCRIPTION_RESET_CHANGE
#define MSG_RETRIEVE_NIMBUS_NODESYSTEM // Private
#define MSG_DOCUMENTINFO_TYPE_NODE_ASSETS_CHANGED // Private
#define MSG_DOCUMENTINFO_TYPE_MODE_CHANGED
#define MSG_COPYDIRTYPRIVATE // Private
{
AssetEntry(const Filename& filename, const String& assetname, Int32 channelId, Bool netRequestOnDemand) : _filename(filename), _assetname(assetname), _channelId(channelId), _netRequestOnDemand(netRequestOnDemand);
// Changed to
AssetEntry(const Filename& filename, const maxon::String& assetname, Int32 channelId, Bool netRequestOnDemand) : _filename(filename), _assetname(assetname), _channelId(channelId), _netRequestOnDemand(netRequestOnDemand), _owner(nullptr), _exists(false), _paramId(NOTOK), _nodePath(maxon::String());
AssetEntry(const Filename& filename, const maxon::String& assetname, Int32 channelId, Bool netRequestOnDemand, BaseList2D* owner, Bool exists, Int32 paramId, const maxon::String& nodePath) : _filename(filename), _assetname(assetname), _channelId(channelId), _netRequestOnDemand(netRequestOnDemand), _owner(owner), _exists(exists), _paramId(paramId), _nodePath(nodePath) { }
};
struct AssetData
{
Bool Add(const Filename& fn, BaseList2D* bl, Bool netRequestOnDemand = false);
// Changed to
Bool Add(const Filename& fn, BaseList2D* bl, Int32 parameterId = NOTOK, Bool netRequestOnDemand = false, Int32 channelIndex = NOTOK, const maxon::String& nodePath = maxon::String());
};
struct BranchInfo
{
const String* name;
// Changed to
};
class GeMarker
{
Bool Content(void) const;
// Changed to
Bool IsPopulated() const;
};
{
UInt32 GetNBitMask(Int32 index) const; // Private
};
{
const String& GetName(void) const;
// Changed to
String GetName(void) const ;
const String& GetTypeName(void);
// Changed to
};

c4d_basematerial.h

{
void DisplaceEx(VolumeData* sd); // Removed
maxon::NimbusInterface* GetNimbusRef() const; // Private
};

c4d_baseobject.h

{
const BaseSelect* GetPointS(void) const;
const BaseSelect* GetPointH(void) const;
};
{
const BaseSelect* GetPolygonS(void) const;
const BaseSelect* GetPolygonH(void) const;
// Changed to
const EdgeBaseSelect* GetEdgeS(void) const;
// Changed to
const EdgeBaseSelect* GetEdgeH(void) const;
// Changed to
const EdgeBaseSelect* GetPhongBreak(void) const;
};
// Changed to

c4d_baseplugin.h

#define PLUGINFLAG_COFFEE // Removed

c4d_baseselect.h

c4d_basetag.h

{
// Changed to
Int32 GetDataCount(void) const;
// Changed to
Int32 GetDataSize(void) const;
const void* GetLowlevelDataAddressR(void);
// Changed to
const void* GetLowlevelDataAddressR(void) const;
};
class PointTag
{
const Vector* GetDataAddressR(void);
// Changed to
const Vector* GetDataAddressR(void) const;
};
{
const Float32* GetDataAddressR(void);
// Changed to
const Float32* GetDataAddressR(void) const;
};
{
const Segment* GetDataAddressR(void);
// Changed to
const Segment* GetDataAddressR(void) const;
};
{
const Tangent* GetDataAddressR(void);
// Changed to
const Tangent* GetDataAddressR(void) const;
};
{
const CPolygon* GetDataAddressR(void);
// Changed to
const CPolygon* GetDataAddressR(void) const;
};
class UVWTag
{
// Changed to
};
class NormalTag
{
// Changed to
};
{
const Vector* GetDataAddressR(void);
// Changed to
const Vector* GetDataAddressR(void) const;
};
{
// Changed to
static Vector4d32 Get(ConstVertexColorHandle dataptr, Neighbor* nb, const CPolygon* vadr, Int32 pIndex);
// Changed to
static maxon::ColorA32 Get(ConstVertexColorHandle dataptr, Neighbor* nb, const CPolygon* vadr, Int32 pIndex);
static void Set(VertexColorHandle dataptr, Neighbor* nb, const CPolygon* vadr, Int32 pIndex, const Vector4d32& color);
// Changed to
static void Set(VertexColorHandle dataptr, Neighbor* nb, const CPolygon* vadr, Int32 pIndex, const maxon::ColorA32& color);
static Vector32 GetColor(ConstVertexColorHandle dataptr, Neighbor* nb, const CPolygon* vadr, Int32 pIndex);
// Changed to
static maxon::Color32 GetColor(ConstVertexColorHandle dataptr, Neighbor* nb, const CPolygon* vadr, Int32 pIndex);
static void SetColor(VertexColorHandle dataptr, Neighbor* nb, const CPolygon* vadr, Int32 pIndex, const Vector32& color);
// Changed to
static void SetColor(VertexColorHandle dataptr, Neighbor* nb, const CPolygon* vadr, Int32 pIndex, const maxon::Color32& color);
};
{
const Float32* GetDataAddressR(void);
// Changed to
const Float32* GetDataAddressR(void) const;
};

c4d_canimation.h

class CKey
{
ROTATIONINTERPOLATION GetQuatInterpolation(void) const;
// Changed to
void SetQuatInterpolation(CCurve* seq, ROTATIONINTERPOLATION inter, Bool bUndo = true);
// Changed to
};
class CTrack
{
Bool AnimateTrack(BaseDocument* doc, BaseList2D* op, const BaseTime& tt, const Int32 flags, Bool* chg, void* data = nullptr);
// Changed to
Bool AnimateTrack(BaseDocument* doc, BaseList2D* op, const BaseTime& tt, ANIMATEFLAGS flags, Bool* chg, void* data = nullptr);
};

c4d_colors.h

c4d_falloffdata.h

#define ID_BASE_FALLOFF
#define ID_STANDARD_FALLOFF
{
static C4D_Falloff* Alloc(void);
// Changed to
static C4D_Falloff* Alloc(Int cType = 0);
Int32 GetDirty(BaseContainer* bc = nullptr);
// Changed to
Int32 GetDirty(BaseDocument* doc, BaseContainer* bc = nullptr);
void Sample(const Vector& p, Float* result, Bool usespline = true, Float weight = 0.0);
// Changed to
void Sample(const Vector& p, Float* result, Bool usespline = true, Float weight = 0.0, BaseList2D* op = nullptr, Int index = NOTOK);
void MultiSample(const Vector* p, Float* result, Int32 count, Bool usespline = true, Float weight = 0.0);
// Changed to
void MultiSample(const Vector* p, Float* result, Int count, Bool usespline = true, Float weight = 0.0_f, BaseList2D* op = nullptr);
// Changed to
Bool CopyTo(C4D_Falloff* dest) const;
Bool IsFields() const;
};

c4d_fielddata.h

static const Int32 Fspherical;
static const Int32 Flinear;
static const Int32 Fbox;
static const Int32 Fcylinder;
static const Int32 Fcone;
static const Int32 Ftorus;
static const Int32 Fcapsule;
static const Int32 Fstep_DEPRECATED;
static const Int32 Ftime_DEPRECATED;
static const Int32 Fformula;
static const Int32 Frandom;
static const Int32 Fshader;
static const Int32 Fsound;
static const Int32 Fdelay_DEPRECATED;
static const Int32 Fdecay_DEPRECATED;
static const Int32 Fradial;
static const Int32 Fgroup;
static const Int32 Fpython;
static const Int32 FLbase;
static const Int32 FLplugin;
static const Int32 FLfolder;
static const Int32 FLfield;
static const Int32 FLsolid;
static const Int32 FLdescid;
static const Int32 FLclamp;
static const Int32 FLremap;
static const Int32 FLcurve;
static const Int32 FLgradient;
static const Int32 FLquantize;
static const Int32 FLinvert;
static const Int32 FLcolorize;
static const Int32 FLrangemap;
static const Int32 FLnoise;
static const Int32 FLspline;
static const Int32 FLdelay;
static const Int32 FLdecay;
static const Int32 FLstep;
static const Int32 FLweight;
static const Int32 FLproximity;
static const Int32 FLformula;
static const Int32 FLtime;
static const Int32 FLpython;
static const Int32 FLmograph;
static const Int32 FLpolygonobject;
static const Int32 FLvolumeobject;
static const Int32 FLparticleobject;
struct FieldOutput;
struct FieldShared;
struct FieldInput;
struct FieldInfo;
class FieldLayer;

c4d_fieldplugin.h

c4d_file.h

class Filename
{
C4D_RESERVE_PRIVATE_TYPE(String, dummy1);
// Changed to
C4D_RESERVE_PRIVATE_TYPE(maxon::Url, dummy1);
Bool Content(void) const;
// Changed to
Bool IsPopulated() const;
const MemoryFileStruct* GetMemoryModeI() const; // Removed
};
class FileMonitor; // Removed
class HyperFile
{
Bool ReadChannel(BaseChannel* bc); // Removed
Bool WriteChannel(BaseChannel* bc); // Removed
};
typedef Int32 (*GeExecuteProgramExCallback)(Int32 cmd, void* userdata, const Filename& logfile); // Removed
Bool GeExecuteProgramEx(); // Removed

c4d_gedata.h

enum DA
{
};
class GeData
{
void SetTristate();
};

c4d_general.h

#define POPUPEDITTEXTCALLBACK_TEXTCHANGED // Removed
#define POPUPEDITTEXTCALLBACK_CLOSED // Removed
#define POPUPEDITTEXTCALLBACK_CANCELED // Removed
#define POPUPEDITTEXTCALLBACK_CURSOR_UP // Removed
#define POPUPEDITTEXTCALLBACK_CURSOR_DOWN // Removed
Bool PopupEditText(Int32 screenx, Int32 screeny, Int32 width, Int32 height, const String& changeme, Int32 flags, PopupEditTextCallback* func, void* userdata);
// Changed to
Bool PopupEditText(Int32 screenx, Int32 screeny, Int32 width, Int32 height, const maxon::String& changeme, maxon::Delegate<void(POPUPEDITTEXTCALLBACK, maxon::String&)>&& func);
enum Result; // Removed
void GeGetGuiFont();
void vlSwap(); // Removed
void vlMotor(); // Removed
// Changed to
void GeProcessBackgroundThreads(); // Removed
Filename GetGlobalTexturePath(Int32 i);
// Changed to
void SetGlobalTexturePath(Int32 i, const Filename& fn);
// Changed to
Int32 GeDebugSetFloatingPointChecks(Int32 on); // Removed
class GeDebugDisableFPExceptions; // Removed
Bool SendMailAvailable(); // Removed
Bool SendMail(); // Removed

c4d_gui.h

#define MENU_ALLOWSUBMENUCOMMAND
{
// Changed to
};
class TriState
{
void SetTri(Bool state);
};
class GeDialog
{
// Changed to
Bool SendParentMessage(const BaseContainer& msg, Bool receiveSelf = false);
C4DGadget* AddComboBox(Int32 id, Int32 flags, Int32 initw = 0, Int32 inith = 0, Bool specialalign = false);
// Changed to
C4DGadget* AddComboBox(Int32 id, Int32 flags, Int32 initw = 0, Int32 inith = 0, Bool specialalign = false, Bool allowFiltering = false);
C4DGadget* AddComboButton(Int32 id, Int32 flags, Int32 initw = 0, Int32 inith = 0, Bool specialalign = false);
// Changed to
C4DGadget* AddComboButton(Int32 id, Int32 flags, Int32 initw = 0, Int32 inith = 0, Bool specialalign = false, Bool allowFiltering = false);
C4DGadget* AddPopupButton(Int32 id, Int32 flags, Int32 initw = 0, Int32 inith = 0);
// Changed to
C4DGadget* AddPopupButton(Int32 id, Int32 flags, Int32 initw = 0, Int32 inith = 0, Bool allowFiltering = false);
Bool GetItemDim(const GadgetPtr& id, Int32* x, Int32* y, Int32* w, Int32* h);
// Changed to
Bool GetItemDim(const GadgetPtr& id, Int32* x, Int32* y, Int32* w, Int32* h) const;
UpdateDialogHelper BeginLayoutChange(const GadgetPtr& gadget, Bool disableRedraws);
};

c4d_memory.h

void* GeNewMem(); // Removed
void GeDeleteMem(); // Removed
void _GeCheck(); // Removed
void _GeCheckAllMemory(); // Removed
void _GeFree(); // Removed
Bool GeGetAllocSize(); // Removed
Bool IsAlienMem(void* p); // Removed
Bool GeGetAllocatorStatistics(); // Removed
// Changed to
#define _GeAlloc(s, l, f) // Removed
#define _GeAllocNC(s, l, f) // Removed
#define _GeReallocNC(p, s, l, f) // Removed
T* bNewDeprecatedUseArraysInstead(); // Removed
void bDelete(); // Removed
class DeprecatedMemoryPool; // Removed

c4d_network.h

class NetworkIpAddr; // Removed
class NetworkIpAddrPort; // Removed
class NetworkInterface; // Removed
class ZeroConfService; // Removed
{
// Changed to
void GetRemoteAddr(NetworkIpAddrPort& ipaddr) const;
// Changed to
void GetHostAddr(NetworkIpAddrPort& ipaddr) const;
Int64 GetTransferedBytes() const; // Removed
};
Bool WakeOnLan(); // Removed
Bool GetMacAddress(); // Removed
NetworkInterface* GetBestNetworkInterface(); // Removed
Bool GetAllNetworkInterfaces(); // Removed
String GetHostname(); // Removed
String GetHostname(); // Removed
Int GetInterfaceIndex(); // Removed
RESOLVERESULT ResolveHostname(); // Removed
Bool GetIpAddress(); // Removed
Bool SplitAddress(); // Removed
Bool GetBonjourVersion(); // Removed
ZeroConfBrowser* StartZeroConfBrowser(); // Removed
void StopZeroConfBrowser(); // Removed
ZeroConfService* RegisterZeroConfService(); // Removed
void DeregisterZeroConfService(); // Removed

c4d_nodedata.h

void FillNodePlugin(NODEPLUGIN* np, Int32 info, DataAllocator* g, BaseBitmap* icon, Int32 disklevel, void* emulation = nullptr);
// Changed to
void FillNodePlugin(NODEPLUGIN* np, Int32 info, DataAllocator* g, BaseBitmap* icon, Int32 disklevel);

c4d_painter.h

#define UVCOMMAND_MOVE_DOWN_SEQUENCE // Removed
#define UVCOMMAND_MOVE_UP_SEQUENCE // Removed
{
void ApplyAlphaMask(Int32 x, Int32 y, Int32 cnt, PIX* bits, Int32 mode, Bool inverted, Int32 flags);
// Changed to
void ApplyAlphaMask(Int32 x, Int32 y, Int32 cnt, PIX* bits, COLORMODE mode, Bool inverted, Int32 flags);
// Changed to
// Changed to
UInt32 GetDirty(DIRTYFLAGS flags) const;
};

c4d_plugin.h

#define C4DPL_ERROR_TYPE // Removed
#define C4DPL_ERROR_OS // Removed
#define C4DPL_ERROR_MEM // Removed

c4d_raytrace.h

{
};
struct RayObject
{
};
struct RayLight
{
Bool areanoiselock_ex; // Removed
};
{
Float unused1; // Removed
};
struct RayCamera
{
Bool infinite_ex; // Removed
};
struct SurfaceDataEx; // Removed
{
RayHemiSample* samplesEx; // Removed
};

c4d_reflection.h

#define REFLECTION_FRESNEL_METAL_CUSTOM_NBM
#define REFLECTION_LAYER_FRESNEL_VALUE_ETA2
#define REFLECTION_LAYER_FRESNEL_VALUE_ABSORP2
#define REFLECTION_LAYER_SAMPLING_SAMPLE_COUNT_EX // Removed

c4d_resource.h

extern GeResource resource;
// Changed to

c4d_shader.h

extern maxon::Color TransformColor(const maxon::Color& input, COLORSPACETRANSFORMATION colortransformation);
struct TexData
{
Bool parallaxUVW; // Removed
};
struct RayHitID
{
inline Bool Content() const;
// Changed to
inline Bool IsPopulated() const;
};
struct Multipass
{
};
{
Int32 unused[5]; // Removed
};
#define MSG_SHADERV5TOV6 // Removed
#define MSG_SHADERV6TOV7 // Removed
#define MSG_SHADERREAD // Removed
struct ShaderReadData; // Removed

c4d_string.h

maxon::String ToString(const String& val, const maxon::FormatStatement* formatStatement, maxon::Bool checkDatatype = false);
const maxon::String& MaxonConvert(const String& val);
class String
{
String(const maxon::String& cs);
String(const Char* cstr, const maxon::StringDecodingRef& stringDecoding = maxon::GetUtf8DefaultDecoder());
void CopyTo(String* str) const; // Removed
Int32 GetLength() const; // Removed
Bool Content() const; // Removed
Bool operator < (const String& str) const; // Removed
Bool operator > (const String& str) const; // Removed
Bool operator <= (const String& str) const; // Removed
Bool operator >= (const String& str) const; // Removed
Bool operator == (const String& str) const; // Removed
Bool operator != (const String& str) const; // Removed
Bool operator == (const Char* str) const; // Removed
Bool operator != (const Char* str) const; // Removed
Int Compare(const String& cs) const;
// Changed to
Int CompareDeprecated(const String& cs) const
Int RelCompare(const String& cs) const; // Removed
void Insert(Int pos, Utf32Char ch);
// Changed to
void Insert(Int pos, const String& cs, Int start = -1, Int end = -1);
// Changed to
void InsertDeprecated(Int pos, const String& cs, Int start = -1, Int end = -1);
// Changed to
Bool SetUtf16(const Utf16Char* ubc, Int count); // Removed
Bool SetUtf32(const Utf32Char* ubc, Int count); // Removed
Bool GetUtf16(maxon::BaseArray<Utf16Char>& dst); // Removed
Bool GetUtf32(maxon::BaseArray<Utf32Char>& dst); // Removed
class PChar; // Removed
};

c4d_thread.h

struct GeSpinlock; // Removed
class MPThreadPool; // Removed
class Semaphore; // Removed
class GeSignal; // Removed
class AutoSpinLock; // Removed
class AutoLocker; // Removed
class AutoRWLock; // Removed
class AutoRWLocker; // Removed

c4d_tooldata.h

c4d_tools.h

#define COLORTOINT_MULTIPLIER
// Changed to
#define PERCENT 100.00
// Changed to
static const Float PERCENT
#define THIRD
// Changed to
static const Float THIRD
#define SIXTH
// Changed to
static const Float SIXTH
class LMinMax
{
inline Bool Content(void) const;
// Changed to
inline Bool IsPopulated(void) const;
};
class SMinMax
{
inline Bool Content(void) const;
// Changed to
inline Bool IsPopulated(void) const;
};
struct VolumeData
{
void CalcArea(const RayLight* light, Bool nodiffuse, Bool nospecular, Float specular_exponent, const Vector64& ray_vector, const Vector64& p, const Vector64& bumpn, const Vector64& orign, RAYBIT raybits, Vector* diffuse, Vector* specular);
// Changed to
void CalcArea(const RayLight* light, Bool nodiffuse, Bool nospecular, Float specular_exponent, const Vector64& ray_vector, const Vector64& p, const Vector64& bumpn, const Vector64& orign, RAYBIT raybits, Bool ignoreLightColor, Vector* diffuse, Vector* specular);
void GetDUDV(const TexData* tex, const Vector64& p, const Vector64& phongn, const Vector64& orign, const RayHitID& hit, Bool forceuvw, Vector* ddu, Vector* ddv, Bool usetangents) const;
// Changed to
void GetDUDV(const TexData* tex, const Vector64& p, const Vector64& phongn, const Vector64& orign, const RayHitID& hit, Bool forceuvw, Vector* ddu, Vector* ddv, Bool usetangents, const RayPolyWeight* weight) const;
Float CalcAmbientOcclusionEx(); // Removed
};
{
BaseDraw* GetBaseDraw() const;
};

c4d_uuid.h

class C4DUuid
{
UInt32 GetHashCode() const;
// Changed to
Bool Content() const;
// Changed to
Bool IsPopulated() const;
void CopyFrom(UChar* buf);
// Changed to
Bool CopyFrom(const String& uuid);
// Changed to
};

c4d_videopostdata.h

#define VPBUFFER_DIRECT_DIFFUSE // Private
#define VPBUFFER_INDIRECT_DIFFUSE // Private
#define VPBUFFER_DIRECT_SPECULAR // Private
#define VPBUFFER_INDIRECT_SPECULAR // Private
#define VPBUFFER_DIRECT_DIFFUSE_RAW // Private
#define VPBUFFER_INDIRECT_DIFFUSE_RAW // Private
#define VPBUFFER_DIRECT_SPECULAR_RAW // Private
#define VPBUFFER_INDIRECT_SPECULAR_RAW // Private
#define VPBUFFER_DIFFUSE_MATERIAL // Private
#define VPBUFFER_SPECULAR_MATERIAL // Private

ge_autoptr.h

class AutoNew; // Removed
class AutoPtr; // Removed
class AutoGeFree; // Removed

ge_math.h

inline Float32 Float16ToFloat32(const UInt16 val); // Removed
inline UInt16 Float32ToFloat16(const Float32 val); // Removed

ge_prepass.h

enum class HOTKEYFLAGS;
#define DEPRECATED_FILTER_QTVRSAVER_PANORAMA // Removed
#define DEPRECATED_FILTER_QTVRSAVER_OBJECT // Removed
enum RLAFLAGS; // Removed
static const Int32 PRIVATE_NBITMASK_INDEX1 // Private
static const Int32 PRIVATE_NBITMASK_INDEX2 // Private
static const Int32 PRIVATE_NBITMASK_INDEX3 // Private
static const Int32 PRIVATE_NBITMASK_INDEX4 // Private
#define OBJECT_NOCHILDEXPRESSIONS
#define OBJECT_FIELDOBJECT
#define FIELDLAYER_DIRECT
#define FIELDLAYER_CHILDREN
#define FIELDLAYER_NOVALUEOUT
#define FIELDLAYER_NOCOLOROUT
#define FIELDLAYER_NODIRECTIONOUT
#define FIELDLAYER_AGGREGATE
#define FIELDLAYER_HASREMAP
#define FIELDLAYER_PREMULTIPLIED
static const Int Mnimbus; // Private
#define Obone_EX // Removed
#define Oobjecttracker
#define Ofield
#define Fieldremapper
#define Ovolume
#define Ovolumegroup
#define Ovolumebuilder
#define Ovolumeloader
#define Ovolumemesher
#define Ovolumefilter
static const Int Xnbm; // Private
#define Tanchor_EX // Removed
#define Tkinematic_EX // Removed
#define Tcoffeeexpression // Removed
#define Tfixexpression_EX // Removed
#define Tikexpression_EX // Removed
#define Tclaudebonet_EX // Removed
#define Tmeshattribute
static const Int XnodeEmulation; // Private
static const Int32 ID_SHOWSUBCHANNELS; // Private
#define MDATA_CURRENTSTATETOOBJECT_LOD
#define MDATA_CURRENTSTATETOOBJECT_BUILDFLAGS
#define MDATA_VOLUMEREMESH_SIZE
#define MDATA_VOLUMEREMESH_PRESUBDIVIDE
#define MDATA_VOLUMEREMESH_SMOOTH_STRENGTH
#define MDATA_VOLUMEREMESH_CREATESETUP
enum class VOLUMECOMMANDTYPE;
enum class GRIDTYPE;
enum class GRIDCLASS;
enum class FILTERSETTINGS;
enum class SDFFILTERSETTINGS;
enum class BOOLESETTINGS;
enum class BOOLTYPE;
enum class MIXSETTINGS;
enum class MIXTYPE;
enum class SDFTOFOGSETTINGS;
enum class FOGTOSDFSETTINGS;
enum class RESAMPLESETTINGS;
#define MDATA_DELETECOMPONENTS_ALTERNATE_BEHAVIOR
#define WPREF_CAMERAROTATION_CAMERA_2D
#define WPREF_NAV_POI_CAMERA_2D
#define WPREF_GLOBAL_SCRIPTMODE // Removed
#define WPREF_COLOR_SYSTEM_C4D // Removed
#define WPREF_COLOR_SYSTEM_BP // Removed
#define COLORSYSTEM_HSVTAB // Removed
#define COLORSYSTEM_TABLE // Removed
#define COLORSYSTEM_RGB_COLOR // Removed
#define COLORSYSTEM_HSV_COLOR // Removed
#define WPREF_COLOR_HRANGE // Removed
#define WPREF_COLOR_SVRANGE // Removed
#define WPREF_GRADIENT_SIZE
#define WPREF_DISCONNECTED_POINTS_ON_DELETE
#define WPREF_GRADIENT_SELECTION_HANDLES
#define WPREF_COLOR_MODE_ALPHA
#define WPREF_ALPHA_GRID_COLOR
#define WPREF_MATPREVIEW_NODEPREVIEW
#define WPREF_MATPREVIEW_PREVIEWNAME
#define WPREF_MATPREVIEW_NODE_DEFAULTSIZE
#define WPREF_MATPREVIEW_NODE_DEFAULTOBJECT_MAT
#define WPREF_COLOR_MODE_LINEAR
#define WPREF_HIDEFIELDGRAPH
#define WPREF_SIMPLEFIELDGUI
#define WPREF_HIDEFIELDGRAPH_OFF
#define WPREF_HIDEFIELDGRAPH_ON
#define WPREF_HIDEFIELDGRAPH_INFIELDS
#define WPREF_SHOWFULLMATERIALUI // Private
#define WPREF_SUPPRESSPREVIEWS // Private
#define WPREF_UTILIZECOLORCHANNEL // Private
#define WPREF_COLOR_QUICK_C4D // Removed
#define WPREF_COLOR_QUICK_BP // Removed
#define WPREF_COLOR_MIX_C4D // Removed
#define WPREF_COLOR_MIX_BP // Removed
#define WPREF_COLOR_SETUPS // Removed
#define WPREF_COLOR_QUICKPRESET // Removed
#define WPREF_COLOR_QUICKPRESET_LAST // Removed
#define WPREF_COLOR_MIXING_1 // Removed
#define WPREF_COLOR_MIXING_2 // Removed
#define WPREF_COLOR_MIXING_3 // Removed
#define WPREF_COLOR_MIXING_4 // Removed
#define WPREF_COLOR_SYSTEM_COLORCHOOSER // Removed
#define WPREF_GRADIENT_SIZE_SMALL
#define WPREF_GRADIENT_SIZE_MEDIUM
#define WPREF_GRADIENT_SIZE_LARGE
#define WPREF_ALPHA_GRID_COLOR_LIGHT
#define WPREF_ALPHA_GRID_COLOR_MEDIUM
#define WPREF_ALPHA_GRID_COLOR_DARK
#define WPREF_FONT_BIG // Private
#define WPREF_MOUSE_TOUCHDEVICES
enum
{
};
#define EVMSG_CHANGEDSCRIPTMODE // Removed
#define EVMSG_2DTRACKCHANGED
#define VIEWCOLOR_FIELDGIZMO_COLOR1
#define VIEWCOLOR_FIELDGIZMO_COLOR2
#define VIEWCOLOR_FIELDGIZMO_FALLOFF1
#define VIEWCOLOR_FIELDGIZMO_FALLOFF2
#define FORMAT_XMLIMPORT // Removed
#define FORMAT_XMLEXPORT // Removed
#define FORMAT_C4D4IMPORT // Removed
#define FORMAT_C4D5IMPORT // Removed
#define FORMAT_STEPIMPORT
#define FORMAT_CATIAIMPORT
#define FORMAT_IGESIMPORT
#define FORMAT_JTIMPORT
#define FORMAT_SOLIDWORKSIMPORT
enum class REGISTRYTYPE
{
REGISTRYTYPE_TRACK_EX, // Removed
REGISTRYTYPE_SEQUENCE_EX, // Removed
REGISTRYTYPE_KEY_EX, // Removed
REGISTRYTYPE_COFFEE_EXT, // Removed
};
enum class FIELDLAYER_FLAG;
#define ID_COFFEESCRIPT; // Removed
#define MSG_2DCAMERASETTINGSCACHE
#define MSG_PH_2DTRACK_MODE_MCOMMAND_EXECUTE
#define MSG_PH_2DTRACK_MODE_MCOMMAND_IS_ENABLED
enum
{
};
#define EDITTEXT_IGNORELEFTRIGHTIFEMPTY;
enum class FIELDSAMPLE_FLAG;
enum class FIELDOBJECT_FLAG;

ge_sys_math.h

static const Float EPSILON2;
static const Float EPSILON3;

gui.h

enum
{
};
enum
{
}
enum
{
};
enum
{
BFM_COLORCHOOSER_SYSTEM // Removed
BFM_COLORCHOOSER_H_RANGE // Removed
BFM_COLORCHOOSER_SV_RANGE // Removed
BFM_COLORCHOOSER_QUICKSTORE // Removed
BFM_COLORCHOOSER_MIXINGPANEL // Removed
DRAGTYPE_BROWSER_SCENE // Removed
DRAGTYPE_BROWSER_MATERIAL // Removed
DRAGTYPE_BROWSER_SOUND // Removed
DRAGTYPE_BROWSER_FCV // Removed
DRAGTYPE_BROWSER_COFFEE // Removed
}

matrix4.h

class _Matrix4; // Removed
inline Matrix4d32 RMtoSM4(const Matrix4d& m); // Removed
inline Matrix4d SMtoRM4(const Matrix4d32& m) // Removed

vector4.h

class _Vector4; // Removed

customgui_bitmapbutton.h

#define BITMAPBUTTON_STRING
{
Int32 GetMaxWidth() const;
};

customgui_datetime.h

#define DATETIME_COMPACT_MODE // Removed
#define DATETIME_COLUMN // Removed
#define DATETIME_TIME_NOW // Removed
#define DATETIME_DATE_TODAY // Removed
#define DATETIME_CLOCK_OPEN // Removed
#define DATETIME_CALENDAR_OPEN // Removed
#define DATETIME_NO_DATE_COLLAPSE // Removed
#define DATETIME_NO_TIME_COLLAPSE // Removed
String GetMonthName(const Int32 &month);
// Changed to

customgui_descproperty.h

customgui_description.h

#define DESCRIPTION_FORCEGETOBJECT
#define DESCRIPTION_MANAGER_TYPE // Private
{
Bool (*FilterID)(const Description *desc, const DescID &id, const BaseContainer &bc, Bool &subfilter, Bool &hide);
// Changed to
};
{
// Changed to
DescID HighlightDescID(const DescID& id, Bool check);
};

customgui_field.h

#define CUSTOMGUI_FIELDLIST
#define CUSTOMDATATYPE_FIELDLIST
enum class FIELDLIST_FLAGS;
class FieldList;

customgui_filename_breadcrumb.h

#define FILENAME_DIRECTORY
// Changed to
#define BREADCRUMB_DIRECTORY
#define FILENAME_TEXTURE
// Changed to
#define BREADCRUMB_TEXTURE
#define FILENAME_SAVE
// Changed to
#define BREADCRUMB_SAVE
#define FILENAME_READONLY
// Changed to
#define BREADCRUMB_READONLY
#define FILENAME_NOSELECT
// Changed to
#define BREADCRUMB_NOSELECT
#define BREADCRUMB_NOEDITFIELD
#define BREADCRUMB_BORDERLESS

customgui_gradient.h

#define GRADIENTPROPERTY_COLOR // Removed
#define GRADIENTPROPERTY_ALPHA_WITH_COLOR
#define GRADIENTPROPERTY_NOINTERPOLATION
#define GRADIENTPROPERTY_NOKNOTPOSITION
#define GRADIENTPROPERTY_NOBIASPOSITION
#define GRADIENTPROPERTY_NOBRIGHTNESS
enum
{
GRADIENT_INTERPOLATION_CUBICBIAS, // Removed
GRADIENT_INTERPOLATION_LINEAR, // Removed
};
#define GRADIENT_INTERPOLATION // Removed
#define GRADIENTKNOT_INTERPOLATION
{
};
class Gradient
{
// Changed to
// Changed to
// Changed to
const GradientKnot *GetRenderKnot(Int32 index) const;
// Changed to
void GetGradient(maxon::Gradient& gradient) const;
void SetGradient(maxon::Gradient& gradient);
};
{
};

customgui_itemtree.h

#define ITEMTREE_ID_SHOW_BL_DEBUG_NAME
#define ITEMTREE_ID_RESIZABLE
#define ITEMTREE_USER_COL_TYPES
#define ITEMTREE_USER_COL_ACTIVE
#define ITEMTREE_CHECKBOX_FRONT
#define ITEMTREE_CALLBACK_HEADERCLICK
#define ITEMTREE_CALLBACK_GETDROPDOWNMENU
#define ITEMTREE_SELECTIONCHG_SELECTIONID
#define ITEMTREE_SELECTIONCHG_FOCUSID
#define ITEMTREE_INSERT_INSERTLAST
#define ITEMTREE_SETDROPDOWNMENU_COLUMN
#define ITEMTREE_SETDROPDOWNMENU_ENTRY

customgui_layerset.h

class LayerSet
{
Bool Content() const;
// Changed to
Bool IsPopulated() const;
};

customgui_linkbox.h

enum
{
LINKBOX_NODE_MODE // Private
};

customgui_listview.h

#define TREEVIEW_NO_DELETE
#define TREEVIEW_NO_VERTICALSCROLL
#define TREEVIEW_ADDROW
#define TREEVIEW_RESIZABLE
#define LV_CHECKBOXUSER
#define LV_SLIDER
#define LV_DROPDOWN
{
};
{
};
#define INSERT_REPLACE (1 << 3)
{
virtual Bool HeaderClick(void *root, void *userdata, Int32 lColID, Int32 lChannel, Bool bDblClk);
// Changed to
virtual Bool HeaderClick(void *root, void *userdata, Int32 lColID, Int32 lChannel, Bool bDblClk, Int32 mouseX, Int32 mouseY, GeUserArea* ua);
virtual void GetDropDownMenu(void *root, void *userdata, void *obj, Int32 lColumn, TreeViewDropDownMenuInfo* menuInfo);
virtual void SetDropDownMenu(void *root, void *userdata, void *obj, Int32 lColumn, Int32 entry);
virtual void GetFloatValue(void *root, void *userdata, void *obj, Int32 lColumn, TreeViewFloatSliderInfo* sliderInfo);
virtual void SetFloatValue(void *root, void *userdata, void *obj, Int32 lColumn, Float value);
virtual Bool AddRow(void* root, void* userdata);
virtual String EmptyText(void* root, void* userdata);
};

customgui_matpreview.h

customgui_previewimage.h

#define CUSTOMGUI_PREVIEWIMAGE
#define CUSTOMDATATYPE_PREVIEWIMAGE

customgui_soundeffector.h

{
Bool SampleArray(Int offset, Int count, Int totalCount, Float* values, Vector* colors) const;
};

customgui_splinecontrol.h

enum
{
SPLINECONTROL_VALUE_LABELS_H,
// Changed to
SPLINECONTROL_VALUE_LABELS_V,
// Changed to
SPLINECONTROL_PRESET_BTN,
// Changed to
SPLINECONTROL_ROUND_SLIDER,
// Changed to
SPLINECONTROL_GRIDLINES_H,
// Changed to
SPLINECONTROL_GRIDLINES_V,
// Changed to
SPLINECONTROL_X_MIN_TEXT,
// Changed to
SPLINECONTROL_X_MAX_TEXT,
// Changed to
SPLINECONTROL_Y_MIN_TEXT,
// Changed to
SPLINECONTROL_Y_MAX_TEXT,
// Changed to
SPLINECONTROL_NEW_NO_HORIZ,
// Changed to
SPLINECONTROL_NEW_NO_VERT,
// Changed to
SPLINECONTROL_HIDE_GRID_H,
// Changed to
SPLINECONTROL_HIDE_GRID_V,
// Changed to
SPLINECONTROL_HIDE_PRESET_BTN,
// Changed to
SPLINECONTROL_HIDE_ROUND_SLIDER,
// Changed to
SPLINECONTROL_HIDE_VALUE_EDIT_H,
// Changed to
SPLINECONTROL_HIDE_VALUE_EDIT_V,
// Changed to
SPLINECONTROL_HIDE_VALUE_LABELS_H,
// Changed to
SPLINECONTROL_HIDE_VALUE_LABELS_V,
// Changed to
};
{
void SetGridLineCountH(Int32 l); // Removed
void SetGridLineCountV(Int32 l); // Removed
Int32 GetGridLineCountH() const; // Removed
Int32 GetGridLineCountV() const; // Removed
};

c4d_graphview.h

void GvFreeValuesTable(GvNode *bn, GvValue **&ports, Int32 &nr_of_ports);
// Changed to
Bool GvBuildInValuesTable(GvNode *bn, GvValue **&ports, Int32 &nr_of_ports, GvCalc *c, GvRun *r, Int32 *ids);
// Changed to
Bool GvBuildValuesTable(GvNode *bn, GvValue **&in_ports, Int32 &nr_of_in_ports, GvPort **&out_ports, Int32 &nr_of_out_ports);
// Changed to

c4d_graphview_def.h

#define VERSION_OPERATOR_COFFEE // Removed
#define VERSION_OPERATOR_NEARESTPOINT
#define VERSION_OPERATOR_NEARESTPOINTONSPLINE
#define ID_OPERATOR_NEARESTPOINT
#define ID_OPERATOR_NEARESTPOINTONSPLINE
{
GV_MESSAGE_ADD_PORT_EX, // Removed
GV_MESSAGE_REMOVE_PORT_EX, // Removed
GV_MESSAGE_RENAME_PORT_EX, // Removed
};
{
const String* (*GetName)(void *userdata);
// Changed to
String (*GetName)(void *userdata);
}
{
const String* (*GetName)(void *userdata);
// Changed to
String (*GetName)(void *userdata);
}
{
struct PortInfo;
};
{
GvValue** in_values; // Removed
GvPort** out_ports; // Removed
Int32 nr_of_in_values; // Removed
Int32 nr_of_out_ports; // Removed
};
struct GvDrawHook
{
// Changed to
};

c4d_operatordata.h

{
virtual Bool SceneDraw(GvNode *bn, BaseDraw *bd, BaseDrawHelp *bh, BaseThread *bt, Int32 flags, void *data, UInt32 counter);
// Changed to
virtual Bool SceneDraw(GvNode *bn, BaseDraw *bd, BaseDrawHelp *bh, BaseThread *bt, SCENEHOOKDRAW flags, void *data, UInt32 counter);
};

c4d_particles.h

{
Bool Content() const;
// Changed to
Bool IsPopulated() const;
};
enum
{
TP_MSG_OBJECT_GETPARTICLES_EX // Removed
};

lib_activeobjectmanager.h

#define ID_AOM_SETOBJECT_PARENTMESSAGE

lib_browser.h

{
Bool Content(void) const;
// Changed to
Bool IsPopulated() const;
};
{
String *GetTypeNames(Int32 mode, Int32 *no_strings);
// Changed to
};
{
virtual String *GetTypeNames(Int32 mode, Int32 *no_strings) = 0;
// Changed to
virtual void GetTypeNames(Int32 mode, maxon::BaseArray<String>& strings) = 0;
};
Result<BaseArray<Url>> BrowserReceiveUrls(void* dat);

lib_colorchooser.h

enum class SWATCH_CATEGORY;
{
static ColorSwatchGroup* Alloc(const String& name = String(), Bool selected = false, const maxon::BaseArray<Vector>& colors = maxon::BaseArray<Vector>());
// Changed to
static ColorSwatchGroup* Alloc(const String& name = String(), Bool selected = false, const ColorAlphaArray& colors = ColorAlphaArray());
Bool GetColor(Int index, Vector& color, Bool* selected = nullptr) const;
// Changed to
Bool GetColor(Int index, maxon::ColorA& color, Bool* selected = nullptr) const;
Vector* GetColorEditable(Int index, Bool* selected = nullptr);
// Changed to
maxon::ColorA* GetColorEditable(Int index, Bool* selected = nullptr);
Bool GetColors(maxon::BaseArray<Vector>& colors, Bool selectedOnly = false) const;
// Changed to
Bool GetColors(ColorAlphaArray& colors, Bool selectedOnly = false) const;
Bool SetColor(Int index, const Vector& color, Int selected = -1);
// Changed to
Bool SetColor(Int index, const maxon::ColorA& color, Int selected = -1);
Int AddColor(const Vector& color, Bool selected = false, Int insertAt = -1);
// Changed to
Int AddColor(const maxon::ColorA& color, Bool selected = false, Int insertAt = -1);
Int AddColors(const maxon::BaseArray<Vector>& colors, Bool selected = false, Bool merge = true, Int insertAt = -1);
// Changed to
Int AddColors(const ColorAlphaArray& colors, Bool selected = false, Bool merge = true, Int insertAt = -1);
// Changed to
// Changed to
};
{
Bool LoadGlobalGroup(); // Removed
Bool SaveGlobalGroup(); // Removed
Bool LoadDefaultGlobalGroup(Bool ignoreFile = false); // Removed
Bool SaveDefaultGlobalGroup(); // Removed
ColorSwatchGroup* GetGlobalGroup(); // Removed
Bool SetGlobalGroup(ColorSwatchGroup* group); // Removed
Bool Load(BaseDocument* doc, Bool merge = false);
// Changed to
Bool Load(BaseDocument* doc, Bool merge = false, Bool loadGlobalColors = false);
Int GetGroupCount() const;
// Changed to
// Changed to
// Changed to
ColorSwatchGroup* AddGroup(const String& name = String(), Bool selected = false, Int insertAt = -1, const maxon::BaseArray<Vector>& colors = maxon::BaseArray<Vector>());
// Changed to
ColorSwatchGroup* AddGroup(SWATCH_CATEGORY category = SWATCH_CATEGORY::DOCUMENT, const String& name = String(), Bool selected = false, Int insertAt = -1, const ColorAlphaArray& colors = ColorAlphaArray());
Bool InsertGroup(ColorSwatchGroup* group, Int insertAt = -1);
// Changed to
// Changed to
// Changed to
};

lib_customdatatag.h

lib_description.h

lib_hair.h

class HairRenderObjectEx; // Removed

lib_instanceobject.h

struct InstanceObjectList; // Private

lib_net.h

namespace maxon
{
#define TeamRenderOutput()
enum class OUTPUTLOCATION;
}
{
GeRWSpinlock& GetMachineLock();
// Changed to
GeRWSpinlock& GetClientRenderJobLock();
// Changed to
void NetConsoleOutput(maxon::OUTPUT flags, const String& value);
// Changed to
Bool Message(const C4DUuid& remoteUuid, const NetworkIpAddrPort& remoteAddr, Bool isPrivate, const BaseContainer& msg, BaseContainer& result);
// Changed to
Bool Message(const C4DUuid& remoteUuid, const NetworkIpAddrPort* remoteAddr, Bool isPrivate, const BaseContainer& msg, BaseContainer& result);
};
{
GeSpinlock _missingFilesLock;
// Changed to
};

lib_prefs.h

#define PREFS_PRI_PLUGINS

lib_sculptbrush.h

lib_splinehelp.h

{
// Changed to
UInt32 GetDirty() const;
};

lib_volumebuilder.h

lib_volumeobject.h

lib_zipfile.h

class ZipFile
{
Bool ExtractToDirectory(const Filename& fnZip, const Filename& fnDir, Int32 lFlags = ZIP_EXTRACT_CREATE_SUBDIR, ExtractDirectoryCallback fn = nullptr, void* pData = nullptr, const char* pChPassword = nullptr);
// Changed to
Bool ExtractToDirectoryEx(const Filename& fnZip, const Filename& fnDir, Int32 lFlags = ZIP_EXTRACT_CREATE_SUBDIR, ExtractDirectoryCallbackEx fn = nullptr, void* pData = nullptr, const char* pChPassword = nullptr); // Removed
};

apibasemath.h

inline Float32 Blend(Float32 value1, Float32 value2, Float32 blendValue);
inline Float64 Blend(Float64 value1, Float64 value2, Float64 blendValue);
template <typename X> inline Float Sqr(X a, X b)
// Changed to
template <typename X> inline X Sqr(X a, X b)
template <typename X> inline Float Sqr(X a)
// Changed to
template <typename X> inline X Sqr(X a)

API Changes in R20.026

cinema.framework

c4d_basebitmap.h

c4d_baselist.h

struct AssetData
{
Bool Find(const Filename &fn, BaseList2D* bl);
};

c4d_falloffdata.h

{
// Changed to
Bool AddFalloffToDescription(Description* description, BaseContainer* bc, DESCFLAGS_DESC flags, Bool showValue = true, Bool showColor = false, Bool showDirection = false, Bool showRotation = false);
};

c4d_fielddata.h

{
// Changed to
// Changed to
void ClearMemory(Bool deactivatedOnly = true, Bool deactivatedState = false) const;
// Changed to
void ClearMemory(Bool deactivatedOnly = true, Bool deactivatedState = false);
void ClearMemory(Int startIdx, Int count, Bool deactivatedOnly, Bool deactivatedState) const;
// Changed to
void ClearMemory(Int startIdx, Int count, Bool deactivatedOnly, Bool deactivatedState);
};
{
// Changed to
void ClearMemory(Bool deactivatedOnly = true, Bool deactivatedState = false) const;
// Changed to
void ClearMemory(Bool deactivatedOnly = true, Bool deactivatedState = false);
void ClearMemory(Int startIdx, Int count, Bool deactivatedOnly, Bool deactivatedState) const;
// Changed to
void ClearMemory(Int startIdx, Int count, Bool deactivatedOnly, Bool deactivatedState);
};
struct FieldInput
{
FieldInput(const Vector* pos, const Matrix& transform, Int usableCount, Int fullCount = -1);
// Changed to
FieldInput(const Vector* pos, Int allocatedCount, Matrix transform = Matrix(), Int fullCount = 0);
FieldInput(const Vector* pos, const Vector* dir, const Matrix& transform, Int usableCount, Int fullCount = 0);
// Changed to
FieldInput(const Vector* pos, const Vector* dir, Int allocatedCount, Matrix transform = Matrix(), Int fullCount = 0);
FieldInput(const Vector& pos, const Vector& dir, const Vector& uvw, const Matrix& transform);
// Changed to
FieldInput(const Vector& pos, const Vector& dir, const Vector& uvw, Matrix transform = Matrix());
FieldInput(const Vector* pos, const Vector* dir, const Vector* uvw, const Matrix transform, Int usableCount, Int fullCount = 0);
// Changed to
FieldInput(const Vector* pos, const Vector* dir, const Vector* uvw, Int allocatedCount, Matrix transform = Matrix(), Int fullCount = 0);
FieldInput(const Vector* pos, const maxon::Block<const Vector>& dir, const maxon::Block<const Vector>& uvw, const Matrix transform, Int usableCount, Int fullCount = 0);
// Changed to
FieldInput(const Vector* pos, const maxon::Block<const Vector>& dir, const maxon::Block<const Vector>& uvw, Int allocatedCount, Matrix transform = Matrix(), Int fullCount = 0);
FieldInput(const maxon::Block<const Vector>& pos, const maxon::Block<const Vector>& dir, const maxon::Block<const Vector>& uvw, const Matrix transform, Int usableCount, Int fullCount = 0);
// Changed to
FieldInput(const maxon::Block<const Vector>& pos, const maxon::Block<const Vector>& dir, const maxon::Block<const Vector>& uvw, Int allocatedCount, Matrix transform = Matrix(), Int fullCount = 0);
};
struct FieldInfo
{
static maxon::Result<FieldInfo> Create(BaseList2D* caller, const FieldInput& inputs, FIELDSAMPLE_FLAG callingFlags = FIELDSAMPLE_FLAG::VALUE, Int threadIndex = 0, Int threadCount = 0);
static maxon::Result<FieldInfo> Create(BaseList2D* caller, BaseDocument* doc, FIELDSAMPLE_FLAG callingFlags, const FieldInput& inputs);
static maxon::Result<FieldInfo> Create(const FieldCallerStack& caller, BaseDocument* doc, FIELDSAMPLE_FLAG callingFlags, const FieldInput& inputs);
static maxon::Result<FieldInfo> Create(FIELDSAMPLE_FLAG callingFlags, BaseThread* thread, BaseDocument* document, Int currentThreadIndex, Int threadCount, const FieldInput& inputs, BaseList2D* caller) // Removed
};

c4d_general.h

// Changed to
Bool CodeEditor_Open(BaseList2D* obj, const maxon::Delegate<GeData(BaseList2D* obj, const BaseContainer& msg)>& callback, const BaseContainer& bc = BaseContainer());

c4d_gl.h

#define GL_PROGRAM_FACTORY_GEOMETRY_IN_POINTS

c4d_gui.h

#define C4DGUISCROLLPARENT

c4d_thread.h

c4d_videopostdata.h

#define VPBUFFER_DIRECT_DIFFUSE_RAW // Removed
#define VPBUFFER_INDIRECT_DIFFUSE_RAW // Removed
#define VPBUFFER_DIRECT_SPECULAR_RAW // Removed
#define VPBUFFER_INDIRECT_SPECULAR_RAW // Removed
#define VPBUFFER_DIFFUSE_MATERIAL // Removed
#define VPBUFFER_SPECULAR_MATERIAL // Removed

ge_prepass.h

operatingsystem.h

customgui_field.h

#define DESC_FIELDLIST_MULTISELECT // Private
#define DESC_FIELDLIST_HIERARCHICAL // Private
#define DESC_FIELDLIST_DRAGTYPE
#define DESC_FIELDLIST_NOCOLOR
#define DESC_FIELDLIST_NODIRECTION
#define DESC_FIELDLIST_NOROTATION
#define DESC_FIELDLIST_NOVALUE
#define DESC_FIELDLIST_NOHEADER
enum class FIELDLIST_FLAGS
{
HIDEVALUECHANNEL, // Removed
HIDECOLORCHANNEL, // Removed
HIDEDIRECTIONCHANNEL, // Removed
HIDEROTATIONCHANNEL, // Removed
};
class FieldList
{
// Changed to
maxon::Result<void> Sample(const FieldInfo& info, const FieldInput& inputs, FieldOutput& outputs);
// Changed to
maxon::Result<void> SampleList(const FieldInfo& info, const FieldInput& inputs, FieldOutput& outputs);
maxon::Result<void> Sample(BaseDocument* doc, const FieldCallerStack& caller, Bool multithread, const FieldInput& inputs, FieldOutput& outputs); // Removed
maxon::Result<void> Sample(Int count, const FieldInfo& info, Bool multithread, const FieldLambdaInput&& inputFunc, const FieldLambdaOutput&& outputFunc);
// Changed to
maxon::Result<void> SampleListWithLambda(const FieldInfo& info, const FieldLambdaInput&& inputFunc, const FieldLambdaOutput&& outputFunc);
};

customgui_unitscale.h

{
KM,
M,
CM,
MM,
NM,
};

lib_description.h

command.framework

commandbase.h

enum class COMMANDFLAGS // Removed
class CommandContextRef;
// Changed to
class CommandDataRef;
class LegacyCommandContextRef;
// Changed to
class LegacyCommandDataRef;
class CommandContextInterface;
// Changed to
class CommandDataInterface;
class LegacyCommandContextInterface;
// Changed to
class LegacyCommandDataInterface;
namespace COMMAND
{
MAXON_ATTRIBUTE(Bool, NOSYNC, "net.maxon.command.nosync", RESOURCE_DEFAULT(false)); // Removed
}
namespace CommandContextClasses;
// Changed to
namespace CommandDataClasses;

core.framework

apibase.h

class EntityBase
{
enum class FLAGS : UInt32
{
PUBLIC
}
}

basearray.h

class BaseArray
{
BaseArray(const Block<T>& block, Int capacity = 0) // Removed
operator StridedBlock<const T>() const
// Changed to
operator const Block<const T>&() const
operator StridedBlock<T>()
// Changed to
operator const Block<T>&()
operator const Block<const T>&() const
// Changed to
operator StridedBlock<const T>() const
operator const Block<T>&()
// Changed to
operator StridedBlock<T>()
template <typename DUMMY = T, typename = typename std::enable_if<std::is_scalar<DUMMY>::value>::type> operator const Block<const Byte>() const
// Changed to
template <typename DUMMY = T, typename = typename std::enable_if<std::is_scalar<DUMMY>::value>::type> operator Block<const Byte>() const
template <typename DUMMY = T, typename = typename std::enable_if<std::is_scalar<DUMMY>::value>::type> operator const Block<Byte>()
// Changed to
template <typename DUMMY = T, typename = typename std::enable_if<std::is_scalar<DUMMY>::value>::type> operator Block<Byte>()
Result<void> CopyFromImpl(BLOCKARRAY&& src, COLLECTION_RESIZE_FLAGS resizeFlags, OverloadRank3)
// Changed to
Result<void> CopyFromImpl(BLOCK&& src, COLLECTION_RESIZE_FLAGS resizeFlags, OverloadRank3)
};

datadescriptiondatabase.h

class DataDescriptionDatabaseInterface
{
static MAXON_METHOD Result<BaseArray<Tuple<Id, Data, String>>> GetEffectiveEnumList(const DataDictionary& dataEntry, const DataDictionary& guiEntry, const DataDescription& stringDescription, Bool resolveExtensionPointsAndGui);
// Changed to
static MAXON_METHOD Result<BaseArray<Tuple<Id, Data, String>>> GetEffectiveEnumList(const DataDictionary& dataEntry, const DataDictionary& guiEntry, const DataDescription& stringDescription, Bool resolveExtensionPointsAndGui, const AssetRepositoryRef& repository);
}

datatype.h

datatypebase.h

class Data
{
static const Object* CheckInstanceOf(const Object* obj, const DataType* type); // Moved to private
static const ObjectRef* CheckInstanceOf(const ObjectRef* obj, const DataType* type); // Moved to private
};

iostreams.h

class IoErrorInterface
{
void Create(MAXON_SOURCE_LOCATION_DECLARATION, const Url& url, const String& msg)
// Changed to
void Create(MAXON_SOURCE_LOCATION_DECLARATION, const Url& url, const String& msg, const Error& cause = GetPtrSizedZeroRef<Error>())
void Create(MAXON_SOURCE_LOCATION_DECLARATION, const Url& url, const String& msg, const Error& causeError)
};

machineinfo.h

namespace MACHINEINFO
{
MAXON_ATTRIBUTE(Int, OSBUILDNUMBER, "net.maxon.machineinfo.osbuildnumber");
}

system.h

class System
{
static MAXON_METHOD const Block<const Binary* const>& GetBinaries();
}

thread.h

template <typename FN> inline auto ExecuteOnMainThreadWithCancellation(FN&& fn) // Removed

defaultdoc.h

class DefaultDoc;

resultbase.h

template <typename T> class MAXON_WARN_UNUSED_CLASS Result
{
template <typename E> PRIVATE_MAXON_ENABLE_IF_ERROR(const E&) GetError() const;
template <typename E> ENABLE_IF_ERROR(Bool) Has() const // Removed
template <typename E> ENABLE_IF_ERROR(const E&) Get() const // Removed
}

image.framework

gfx_image.h

namespace IMAGE
{
MAXON_ATTRIBUTE(Int, SUBIMAGEINDEX, "net.maxon.image.subimageindex");
}
class ImageBaseInterface
{
MAXON_METHOD Result<GetPixelHandlerStruct> GetPixelHandler(const PixelFormat& dstFormat, const ChannelOffsets& channelOffsets, const ColorProfile& dstColorProfile, GETPIXELHANDLERFLAGS flags) const;
// Changed to
MAXON_METHOD Result<GetPixelHandlerStruct> GetPixelHandler(const PixelFormat& dstFormat, const ChannelOffsets& channelOffsets, const ColorProfile& dstColorProfile, GETPIXELHANDLERFLAGS flags, const LayerSetInterface* layerSet) const;
};
class ImageTextureInterface
{
static MAXON_METHOD Result<ImageTextureRef> LoadTexture(const Url& name, const TimeValue& targetTime = TimeValue(), MEDIASESSIONFLAGS flags = MEDIASESSIONFLAGS::NONE, const LayerSetInterface* layerSet = nullptr);
// Changed to
static MAXON_METHOD Result<ImageTextureRef> LoadTexture(const Url& name, const TimeValue& targetTime = TimeValue(), MEDIASESSIONFLAGS flags = MEDIASESSIONFLAGS::NONE, const Class<ImagePixelStorage>& pixelStorageClass = ImagePixelStorageClasses::Normal(), const LayerSetInterface* layerSet = nullptr);
MAXON_METHOD Result<MediaSessionRef> Load(const Url& url, const TimeValue& targetTime, MEDIASESSIONFLAGS flags, const LayerSetInterface* layerSet = nullptr);
// Changed to
MAXON_METHOD Result<MediaSessionRef> Load(const Url& url, const TimeValue& targetTime, MEDIASESSIONFLAGS flags, const Class<ImagePixelStorage>& pixelStorageClass = ImagePixelStorageClasses::Normal(), const LayerSetInterface* layerSet = nullptr);
MAXON_METHOD Result<void> Init(Int width, Int height, const Class<ImagePixelStorage>& storageFormat, const PixelFormat& pixelFormat);
// Changed to
MAXON_METHOD Result<void> Init(Int width, Int height, const Class<ImagePixelStorage>& storageFormat, const PixelFormat& pixelFormat, const Block<Pix>* defaultColor = nullptr);
};

gfx_image_storage.h

class ImagePixelStorageInterface
{
MAXON_METHOD Result<void> Init(Int width, Int height, const PixelFormat& format);
// Changed to
MAXON_METHOD Result<void> Init(Int width, Int height, const PixelFormat& format, const Block<Pix>* defaultColor);
MAXON_METHOD Result<GetPixelHandlerStruct> GetPixelHandler(const PixelFormat& dstFormat, const ChannelOffsets& channelOffsets, const ColorProfile& srcColorProfile, const ColorProfile& dstColorProfile, GETPIXELHANDLERFLAGS flags) const;
// Changed to
MAXON_METHOD Result<GetPixelHandlerStruct> GetPixelHandler(const PixelFormat& dstFormat, const ChannelOffsets& channelOffsets, const ColorProfile& srcColorProfile, const ColorProfile& dstColorProfile, GETPIXELHANDLERFLAGS flags, const LayerSetInterface* layerSet) const;
};

mediasession_output.h

using MediaOutputSelectionHandler = Delegate<Result<Bool>(const MediaStreamRef& stream, const MediaStreamFormat& props)>;
// Changed to
using MediaOutputSelectionHandler = Delegate<Result<SELECTIONHANDLERRESULT>(const MediaStreamRef& stream, const MediaStreamFormat& props)>;
class MediaOutputInterface
{
MAXON_METHOD Result<Bool> CallSelectionHandler(const MediaStreamRef& stream, const MediaStreamFormat& props);
// Changed to
MAXON_METHOD Result<SELECTIONHANDLERRESULT> CallSelectionHandler(const MediaStreamRef& stream, const MediaStreamFormat& props);
};

mediasession_stream.h

class MediaStreamImageDataImportInterface
{
using GetPixelHandler = Delegate<Result<GetPixelHandlerStruct>(const MediaStreamImageDataExportRef& stream, const MediaStreamProperties& props, const PixelFormat& dstFormat, const ChannelOffsets& channelOffsets, const ColorProfile& dstColorProfile, GETPIXELHANDLERFLAGS flags)>;
// Changed to
using GetPixelHandler = Delegate<Result<GetPixelHandlerStruct>(const MediaStreamImageDataExportRef& stream, const MediaStreamProperties& props, const PixelFormat& dstFormat, const ChannelOffsets& channelOffsets, const ColorProfile& dstColorProfile, GETPIXELHANDLERFLAGS flags, const LayerSetInterface* layerSet)>;
};

math.framework

complex.h

template <typename T> class Complex
{
Result<void> GetDivision(const Complex& divisor) const;
// Changed to
Result<Complex> GetDivision(const Complex& divisor) const;
template <typename T> Result<void> Complex<T>::GetDivision(const Complex& c) const
// Changed to
template <typename T> Result<Complex<T>> Complex<T>::GetDivision(const Complex& c) const
};

python.framework

cpython.h

using DelegatePyObject_AsData = Delegate<Result<void>(const DataType* expected, const CPyRef& src, Data* dst)>;
// Changed to
using DelegatePyObject_AsData = Delegate<Result<Bool>(const DataType* expected, const CPyRef& src, Data* dst)>;
class CPythonLibraryInterface
{
MAXON_METHOD CPyConstRef CPyExc_NotImplementedError();
MAXON_METHOD CPyTypeConstRef CPyCapsule_Type();
MAXON_FUNCTION Result<T> ParseRef(py::NativePyObject* args, Int32 argIndex, Bool isOptional = false);
// Changed to
MAXON_FUNCTION Result<T> ParseRef(const CPyRef& args, Int32 argIndex, Bool isOptional = false);
MAXON_FUNCTION typename std::enable_if<std::is_reference<T>::value, Result<T>>::type ParseArgument(py::NativePyObject* args, BlockArray<Data>& tempStack, Int32 argIndex, Bool isOptional = false);
// Changed to
MAXON_FUNCTION typename std::enable_if<std::is_reference<T>::value || std::is_pointer<T>::value, Result<T>>::type ParseArgument(const CPyRef& args, BlockArray<Data>& tempStack, Int32 argIndex, Bool isOptional = false);
MAXON_FUNCTION typename std::enable_if<!std::is_reference<T>::value && !std::is_pointer<T>::value, Result<T>>::type ParseArgument(py::NativePyObject* args, BlockArray<Data>& tempStack, Int32 argIndex, Bool isOptional = false)
// Changed to
MAXON_FUNCTION typename std::enable_if<!std::is_reference<T>::value && !std::is_pointer<T>::value, Result<T>>::type ParseArgument(const CPyRef& args, BlockArray<Data>& tempStack, Int32 argIndex, Bool isOptional = false);
MAXON_METHOD Result<const DataType*> ParseDataType(py::NativePyObject* args, Int32 argIndex, Bool canBeNone=false);
// Changed to
MAXON_METHOD Result<const DataType*> ParseDataType(const CPyRef& args, Int32 argIndex, Bool canBeNone=false);
MAXON_METHOD CPyRef CPyObject_FromGeneric(const DataType* origDt, const Generic* object, OWNERSHIP ownership, const CPyTypeRef* expected = nullptr);
// Changed to
MAXON_METHOD CPyRef CPyObject_FromGeneric(const DataType* origDt, const Generic* object, OWNERSHIP ownership, const CPyTypeRef* expected = nullptr, Int* count = nullptr);
};
#define MAXON_CPYTHON_FUNCTION_SUBTYPE_REGISTER(funcname, SUPERTYPE) PRIVATE_MAXON_CPYTHON_FUNCTION_REGISTER(funcname, SUPERTYPE::)

cpython27_raw.h

struct NativePyReflectionFunction
{
BaseArray<NativePyReflectionFunction_Entry> _parameters;
const DataType* _returnType = nullptr;
};
struct NativePyData
{
const Data& GetData() const;
};

volume.framework

volume.h

class VolumeInterface
{
MAXON_METHOD void DrawGrid(const Matrix& objectMat, BaseDraw* bd, BaseDrawHelp* bh, const Vector& color = Vector(1.0)) const; // Removed
};

volumeaccessors.h

class GridAccessorInterface
{
MAXON_METHOD void SetValue(const IntVector32& coords, const TYPE val);
// Changed to
MAXON_METHOD Result<void> SetValue(const IntVector32& coords, const TYPE val);
MAXON_METHOD void SetValueOnly(const IntVector32& coords, const TYPE val);
// Changed to
MAXON_METHOD Result<void> SetValueOnly(const IntVector32& coords, const TYPE val);
MAXON_METHOD void SetActiveState(const IntVector32& coords, Bool state);
// Changed to
MAXON_METHOD Result<void> SetActiveState(const IntVector32& coords, Bool state);
};
MAXON_DATATYPE(GridAccessorBase, "net.maxon.volume.datatype.gridaccessorbaseref");

volumecommands.h

struct VolumeCommandData
{
BaseList2D* caller; // Removed
Matrix* referenceMatrix;
// Changed to
Matrix* targetGridMatrix:
};
namespace LegacyCommandContextClasses
// Changed to
namespace LegacyCommandDataClasses

volumetools.h

MAXON_DATATYPE(SDFFilterSettings, "net.maxon.datatype.sdffiltersettings");
struct GridSettings // Removed
MAXON_DATATYPE(FilterSettings, "net.maxon.datatype.filtersettings");
MAXON_DATATYPE(FieldSampleData, "net.maxon.datatype.fieldsampledata");
class VolumeToolsInterface
{
static MAXON_METHOD VolumeToolsInterface* Alloc(MAXON_SOURCE_LOCATION_DECLARATION); // Removed
}