Cleanup: comments (long lines) in makesdna
This commit is contained in:
parent
e9a01c1d2f
commit
66c3a7c550
|
@ -113,13 +113,20 @@ enum {
|
|||
|
||||
/* IDP_GROUP */
|
||||
enum {
|
||||
IDP_GROUP_SUB_NONE = 0, /* default */
|
||||
IDP_GROUP_SUB_MODE_OBJECT = 1, /* object mode settings */
|
||||
IDP_GROUP_SUB_MODE_EDIT = 2, /* mesh edit mode settings */
|
||||
IDP_GROUP_SUB_ENGINE_RENDER = 3, /* render engine settings */
|
||||
IDP_GROUP_SUB_OVERRIDE = 4, /* data override */
|
||||
IDP_GROUP_SUB_MODE_PAINT_WEIGHT = 5, /* weight paint mode settings */
|
||||
IDP_GROUP_SUB_MODE_PAINT_VERTEX = 6, /* vertex paint mode settings */
|
||||
/** Default. */
|
||||
IDP_GROUP_SUB_NONE = 0,
|
||||
/** Object mode settings. */
|
||||
IDP_GROUP_SUB_MODE_OBJECT = 1,
|
||||
/** Mesh edit mode settings. */
|
||||
IDP_GROUP_SUB_MODE_EDIT = 2,
|
||||
/** Render engine settings. */
|
||||
IDP_GROUP_SUB_ENGINE_RENDER = 3,
|
||||
/** Data override. */
|
||||
IDP_GROUP_SUB_OVERRIDE = 4,
|
||||
/** Weight paint mode settings. */
|
||||
IDP_GROUP_SUB_MODE_PAINT_WEIGHT = 5,
|
||||
/** Vertex paint mode settings. */
|
||||
IDP_GROUP_SUB_MODE_PAINT_VERTEX = 6,
|
||||
};
|
||||
|
||||
/*->flag*/
|
||||
|
@ -146,7 +153,8 @@ typedef struct IDOverrideStaticPropertyOperation {
|
|||
char _pad0[4];
|
||||
|
||||
/* Sub-item references, if needed (for arrays or collections only).
|
||||
* We need both reference and local values to allow e.g. insertion into collections (constraints, modifiers...).
|
||||
* We need both reference and local values to allow e.g. insertion into collections
|
||||
* (constraints, modifiers...).
|
||||
* In collection case, if names are defined, they are used in priority.
|
||||
* Names are pointers (instead of char[64]) to save some space, NULL when unset.
|
||||
* Indices are -1 when unset. */
|
||||
|
@ -465,7 +473,8 @@ enum {
|
|||
/**
|
||||
* id->tag (runtime-only).
|
||||
*
|
||||
* Those flags belong to three different categories, which have different expected handling in code:
|
||||
* Those flags belong to three different categories,
|
||||
* which have different expected handling in code:
|
||||
*
|
||||
* - RESET_BEFORE_USE: piece of code that wants to use such flag
|
||||
* has to ensure they are properly 'reset' first.
|
||||
|
|
|
@ -574,8 +574,8 @@ typedef enum eItasc_Solver {
|
|||
* ensure that action-groups never end up being the sole 'owner' of a channel.
|
||||
*
|
||||
* This is also exploited for bone-groups. Bone-Groups are stored per bPose, and are used
|
||||
* primarily to color bones in the 3d-view. There are other benefits too, but those are mostly related
|
||||
* to Action-Groups.
|
||||
* primarily to color bones in the 3d-view. There are other benefits too, but those are mostly
|
||||
* related to Action-Groups.
|
||||
*
|
||||
* Note that these two uses each have their own RNA 'ActionGroup' and 'BoneGroup'.
|
||||
*/
|
||||
|
@ -630,13 +630,13 @@ typedef enum eActionGroup_Flag {
|
|||
|
||||
/* Action - reusable F-Curve 'bag' (act)
|
||||
*
|
||||
* This contains F-Curves that may affect settings from more than one ID blocktype and/or
|
||||
* datablock (i.e. sub-data linked/used directly to the ID block that the animation data is linked to),
|
||||
* but with the restriction that the other unrelated data (i.e. data that is not directly used or linked to
|
||||
* by the source ID block).
|
||||
* This contains F-Curves that may affect settings from more than one ID blocktype and/or datablock
|
||||
* (i.e. sub-data linked/used directly to the ID block that the animation data is linked to),
|
||||
* but with the restriction that the other unrelated data (i.e. data that is not directly used or
|
||||
* linked to by the source ID block).
|
||||
*
|
||||
* It serves as a 'unit' of reusable animation information (i.e. keyframes/motion data), that
|
||||
* affects a group of related settings (as defined by the user).
|
||||
* It serves as a 'unit' of reusable animation information (i.e. keyframes/motion data),
|
||||
* that affects a group of related settings (as defined by the user).
|
||||
*/
|
||||
typedef struct bAction {
|
||||
/** ID-serialisation for relinking. */
|
||||
|
|
|
@ -456,8 +456,8 @@ typedef enum eDriverVar_Flags {
|
|||
* the value of some setting semi-procedurally.
|
||||
*
|
||||
* Drivers are stored as part of F-Curve data, so that the F-Curve's RNA-path settings (for storing
|
||||
* what setting the driver will affect). The order in which they are stored defines the order that they're
|
||||
* evaluated in. This order is set by the Depsgraph's sorting stuff.
|
||||
* what setting the driver will affect). The order in which they are stored defines the order that
|
||||
* they're evaluated in. This order is set by the Depsgraph's sorting stuff.
|
||||
*/
|
||||
typedef struct ChannelDriver {
|
||||
/** Targets for this driver (i.e. list of DriverVar). */
|
||||
|
|
|
@ -20,9 +20,10 @@
|
|||
/** \file
|
||||
* \ingroup DNA
|
||||
* \deprecated
|
||||
* The contents of this file are now officially deprecated. They were used for the 'old' animation system,
|
||||
* which has (as of 2.50) been replaced with a completely new system by Joshua Leung (aligorith). All defines,
|
||||
* etc. are only still maintained to provide backwards compatibility for old files.
|
||||
* The contents of this file are now officially deprecated.
|
||||
* They were used for the 'old' animation system,
|
||||
* which has (as of 2.50) been replaced with a completely new system by Joshua Leung (aligorith).
|
||||
* All defines, etc. are only still maintained to provide backwards compatibility for old files.
|
||||
*/
|
||||
|
||||
#ifndef __DNA_IPO_TYPES_H__
|
||||
|
|
|
@ -61,7 +61,8 @@ typedef struct EditMeshData {
|
|||
} EditMeshData;
|
||||
|
||||
/**
|
||||
* \warning Typical access is done via #BKE_mesh_runtime_looptri_ensure, #BKE_mesh_runtime_looptri_len.
|
||||
* \warning Typical access is done via
|
||||
* #BKE_mesh_runtime_looptri_ensure, #BKE_mesh_runtime_looptri_len.
|
||||
*/
|
||||
struct MLoopTri_Store {
|
||||
/* WARNING! swapping between array (ready-to-be-used data) and array_wip
|
||||
|
|
|
@ -61,8 +61,9 @@ typedef struct MVert {
|
|||
char flag, bweight;
|
||||
} MVert;
|
||||
|
||||
/* tessellation vertex color data.
|
||||
* at the moment alpha is abused for vertex painting and not used for transparency, note that red and blue are swapped
|
||||
/** Tessellation vertex color data.
|
||||
* at the moment alpha is abused for vertex painting and not used for transparency,
|
||||
* note that red and blue are swapped
|
||||
*/
|
||||
typedef struct MCol {
|
||||
unsigned char a, r, g, b;
|
||||
|
@ -87,10 +88,12 @@ typedef struct MLoop {
|
|||
} MLoop;
|
||||
|
||||
/**
|
||||
* #MLoopTri's are lightweight triangulation data, for functionality that doesn't support ngons (#MPoly).
|
||||
* #MLoopTri's are lightweight triangulation data,
|
||||
* for functionality that doesn't support ngons (#MPoly).
|
||||
* This is cache data created from (#MPoly, #MLoop & #MVert arrays).
|
||||
* There is no attempt to maintain this data's validity over time, any changes to the underlying mesh
|
||||
* invalidate the #MLoopTri array, which will need to be re-calculated.
|
||||
* There is no attempt to maintain this data's validity over time,
|
||||
* any changes to the underlying mesh invalidate the #MLoopTri array,
|
||||
* which will need to be re-calculated.
|
||||
*
|
||||
* Users normally access this via #BKE_mesh_runtime_looptri_ensure.
|
||||
* In rare cases its calculated directly, with #BKE_mesh_recalc_looptri.
|
||||
|
@ -102,7 +105,8 @@ typedef struct MLoop {
|
|||
*
|
||||
* Storing loop indices (instead of vertex indices) allows us to
|
||||
* directly access UV's, vertex-colors as well as vertices.
|
||||
* The index of the source polygon is stored as well, giving access to materials and polygon normals.
|
||||
* The index of the source polygon is stored as well,
|
||||
* giving access to materials and polygon normals.
|
||||
*
|
||||
* \note This data is runtime only, never written to disk.
|
||||
*
|
||||
|
@ -148,7 +152,8 @@ typedef struct MLoop {
|
|||
* };
|
||||
* \endcode
|
||||
*
|
||||
* It may also be useful to check whether or not two vertices of a triangle form an edge in the underlying mesh.
|
||||
* It may also be useful to check whether or not two vertices of a triangle
|
||||
* form an edge in the underlying mesh.
|
||||
*
|
||||
* This can be done by checking the edge of the referenced loop (#MLoop.e),
|
||||
* the winding of the #MLoopTri and the #MLoop's will always match,
|
||||
|
|
|
@ -264,13 +264,14 @@ typedef struct bNode {
|
|||
rctf butr;
|
||||
/** Optional preview area. */
|
||||
rctf prvr;
|
||||
/* XXX TODO
|
||||
/**
|
||||
* XXX TODO
|
||||
* Node totr size depends on the prvr size, which in turn is determined from preview size.
|
||||
* In earlier versions bNodePreview was stored directly in nodes, but since now there can be
|
||||
* multiple instances using different preview images it is possible that required node size varies between instances.
|
||||
* preview_xsize, preview_ysize defines a common reserved size for preview rect for now,
|
||||
* could be replaced by more accurate node instance drawing, but that requires removing totr from DNA
|
||||
* and replacing all uses with per-instance data.
|
||||
* multiple instances using different preview images it is possible that required node size
|
||||
* varies between instances. preview_xsize, preview_ysize defines a common reserved size for
|
||||
* preview rect for now, could be replaced by more accurate node instance drawing,
|
||||
* but that requires removing totr from DNA and replacing all uses with per-instance data.
|
||||
*/
|
||||
/** Reserved size of the preview rect. */
|
||||
short preview_xsize, preview_ysize;
|
||||
|
@ -466,10 +467,12 @@ typedef struct bNodeTree {
|
|||
bNodeInstanceKey active_viewer_key;
|
||||
char _pad[4];
|
||||
|
||||
/* execution data */
|
||||
/* XXX It would be preferable to completely move this data out of the underlying node tree,
|
||||
* so node tree execution could finally run independent of the tree itself. This would allow node trees
|
||||
* to be merely linked by other data (materials, textures, etc.), as ID data is supposed to.
|
||||
/** Execution data.
|
||||
*
|
||||
* XXX It would be preferable to completely move this data out of the underlying node tree,
|
||||
* so node tree execution could finally run independent of the tree itself.
|
||||
* This would allow node trees to be merely linked by other data (materials, textures, etc.),
|
||||
* as ID data is supposed to.
|
||||
* Execution data is generated from the tree once at execution start and can then be used
|
||||
* as long as necessary, even while the tree is being modified.
|
||||
*/
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#ifndef __DNA_OBJECT_ENUMS_H__
|
||||
#define __DNA_OBJECT_ENUMS_H__
|
||||
|
||||
/* Object.mode */
|
||||
/** #Object.mode */
|
||||
typedef enum eObjectMode {
|
||||
OB_MODE_OBJECT = 0,
|
||||
OB_MODE_EDIT = 1 << 0,
|
||||
|
@ -39,17 +39,18 @@ typedef enum eObjectMode {
|
|||
OB_MODE_WEIGHT_GPENCIL = 1 << 10,
|
||||
} eObjectMode;
|
||||
|
||||
/* Any mode where the brush system is used. */
|
||||
/** Any mode where the brush system is used. */
|
||||
#define OB_MODE_ALL_PAINT \
|
||||
(OB_MODE_SCULPT | OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT | OB_MODE_TEXTURE_PAINT)
|
||||
|
||||
#define OB_MODE_ALL_PAINT_GPENCIL \
|
||||
(OB_MODE_PAINT_GPENCIL | OB_MODE_SCULPT_GPENCIL | OB_MODE_WEIGHT_GPENCIL)
|
||||
|
||||
/* Any mode that uses Object.sculpt. */
|
||||
/** Any mode that uses Object.sculpt. */
|
||||
#define OB_MODE_ALL_SCULPT (OB_MODE_SCULPT | OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT)
|
||||
|
||||
/* Any mode that has data we need to free when switching modes, see: #ED_object_mode_generic_exit */
|
||||
/** Any mode that has data we need to free when switching modes,
|
||||
* see: #ED_object_mode_generic_exit */
|
||||
#define OB_MODE_ALL_MODE_DATA \
|
||||
(OB_MODE_EDIT | OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT | OB_MODE_SCULPT | OB_MODE_POSE)
|
||||
|
||||
|
|
|
@ -239,11 +239,12 @@ typedef struct PointCache {
|
|||
* buf for now it's the same for all points. Without adaptivity this can effect the perceived
|
||||
* simulation quite a bit though. If for example particles are colliding with a horizontal
|
||||
* plane (with high damping) they quickly come to a stop on the plane, however there are still
|
||||
* forces acting on the particle (gravity and collisions), so the particle velocity isn't necessarily
|
||||
* zero for the whole duration of the frame even if the particle seems stationary. If all simulation
|
||||
* frames aren't cached (step > 1) these velocities are interpolated into movement for the non-cached
|
||||
* frames. The result will look like the point is oscillating around the collision location. So for
|
||||
* now cache step should be set to 1 for accurate reproduction of collisions.
|
||||
* forces acting on the particle (gravity and collisions), so the particle velocity isn't
|
||||
* necessarily zero for the whole duration of the frame even if the particle seems stationary.
|
||||
* If all simulation frames aren't cached (step > 1) these velocities are interpolated into
|
||||
* movement for the non-cached frames.
|
||||
* The result will look like the point is oscillating around the collision location.
|
||||
* So for now cache step should be set to 1 for accurate reproduction of collisions.
|
||||
*/
|
||||
int step;
|
||||
|
||||
|
|
|
@ -166,9 +166,11 @@ typedef struct Panel {
|
|||
/**
|
||||
* Notes on Panel Categories:
|
||||
*
|
||||
* - #ARegion.panels_category (#PanelCategoryDyn) is a runtime only list of categories collected during draw.
|
||||
* - #ARegion.panels_category (#PanelCategoryDyn)
|
||||
* is a runtime only list of categories collected during draw.
|
||||
*
|
||||
* - #ARegion.panels_category_active (#PanelCategoryStack) is basically a list of strings (category id's).
|
||||
* - #ARegion.panels_category_active (#PanelCategoryStack)
|
||||
* is basically a list of strings (category id's).
|
||||
*
|
||||
* Clicking on a tab moves it to the front of ar->panels_category_active,
|
||||
* If the context changes so this tab is no longer displayed,
|
||||
|
@ -544,7 +546,7 @@ enum {
|
|||
#define UI_LIST_AUTO_SIZE_THRESHOLD 1
|
||||
|
||||
/* uiList filter flags (dyn_data) */
|
||||
/* WARNING! Those values are used by integer RNA too, which does not handle well values > INT_MAX...
|
||||
/* WARNING! Those values are used by integer RNA too, which does not handle well values > INT_MAX.
|
||||
* So please do not use 32nd bit here. */
|
||||
enum {
|
||||
UILST_FLT_ITEM = 1 << 30, /* This item has passed the filter process successfully. */
|
||||
|
|
|
@ -774,11 +774,12 @@ typedef enum eFileSel_Params_Flag {
|
|||
/* sfile->params->rename_flag */
|
||||
/* Note: short flag. Defined as bitflags, but currently only used as exclusive status markers... */
|
||||
typedef enum eFileSel_Params_RenameFlag {
|
||||
/* Used when we only have the name of the entry we want to rename, but not yet access to its matching file entry. */
|
||||
/** Used when we only have the name of the entry we want to rename,
|
||||
* but not yet access to its matching file entry. */
|
||||
FILE_PARAMS_RENAME_PENDING = 1 << 0,
|
||||
/* We are actually renaming an entry. */
|
||||
/** We are actually renaming an entry. */
|
||||
FILE_PARAMS_RENAME_ACTIVE = 1 << 1,
|
||||
/* Used to scroll to newly renamed entry. */
|
||||
/** Used to scroll to newly renamed entry. */
|
||||
FILE_PARAMS_RENAME_POSTSCROLL_PENDING = 1 << 2,
|
||||
FILE_PARAMS_RENAME_POSTSCROLL_ACTIVE = 1 << 3,
|
||||
} eFileSel_Params_RenameFlag;
|
||||
|
@ -821,10 +822,12 @@ typedef enum eDirEntry_SelectFlag {
|
|||
|
||||
/* ***** Related to file browser, but never saved in DNA, only here to help with RNA. ***** */
|
||||
|
||||
/* About Unique identifier.
|
||||
/**
|
||||
* About Unique identifier.
|
||||
*
|
||||
* Stored in a CustomProps once imported.
|
||||
* Each engine is free to use it as it likes - it will be the only thing passed to it by blender to identify
|
||||
* asset/variant/version (concatenating the three into a single 48 bytes one).
|
||||
* Each engine is free to use it as it likes - it will be the only thing passed to it by blender to
|
||||
* identify asset/variant/version (concatenating the three into a single 48 bytes one).
|
||||
* Assumed to be 128bits, handled as four integers due to lack of real bytes proptype in RNA :|.
|
||||
*/
|
||||
#define ASSET_UUID_LENGTH 16
|
||||
|
@ -918,12 +921,17 @@ typedef struct FileDirEntry {
|
|||
int act_variant;
|
||||
} FileDirEntry;
|
||||
|
||||
/* Array of direntries. */
|
||||
/* This struct is used in various, different contexts.
|
||||
* In Filebrowser UI, it stores the total number of available entries, the number of visible (filtered) entries,
|
||||
* and a subset of those in 'entries' ListBase, from idx_start (included) to idx_end (excluded).
|
||||
* In AssetEngine context (i.e. outside of 'browsing' context), entries contain all needed data, there is no filtering,
|
||||
* so nbr_entries_filtered, entry_idx_start and entry_idx_end should all be set to -1.
|
||||
/** Array of direntries.
|
||||
*
|
||||
* This struct is used in various, different contexts.
|
||||
*
|
||||
* In Filebrowser UI, it stores the total number of available entries, the number of visible
|
||||
* (filtered) entries, and a subset of those in 'entries' ListBase, from idx_start (included)
|
||||
* to idx_end (excluded).
|
||||
*
|
||||
* In AssetEngine context (i.e. outside of 'browsing' context), entries contain all needed data,
|
||||
* there is no filtering, so nbr_entries_filtered, entry_idx_start and entry_idx_end
|
||||
* should all be set to -1.
|
||||
*/
|
||||
#
|
||||
#
|
||||
|
@ -1278,10 +1286,12 @@ typedef struct SpaceNode {
|
|||
/** Mouse pos for drawing socketless link and adding nodes. */
|
||||
float cursor[2];
|
||||
|
||||
/* XXX nodetree pointer info is all in the path stack now,
|
||||
* remove later on and use bNodeTreePath instead. For now these variables are set when pushing/popping
|
||||
* from path stack, to avoid having to update all the functions and operators. Can be done when
|
||||
* design is accepted and everything is properly tested.
|
||||
/**
|
||||
* XXX nodetree pointer info is all in the path stack now,
|
||||
* remove later on and use bNodeTreePath instead.
|
||||
* For now these variables are set when pushing/popping
|
||||
* from path stack, to avoid having to update all the functions and operators.
|
||||
* Can be done when design is accepted and everything is properly tested.
|
||||
*/
|
||||
ListBase treepath;
|
||||
|
||||
|
|
|
@ -949,7 +949,8 @@ typedef enum eZoomFrame_Mode {
|
|||
} eZoomFrame_Mode;
|
||||
|
||||
/** Auto-Keying flag
|
||||
* #UserDef.autokey_flag (not strictly used when autokeying only - is also used when keyframing these days)
|
||||
* #UserDef.autokey_flag (not strictly used when autokeying only -
|
||||
* is also used when keyframing these days).
|
||||
* \note #eAutokey_Flag is used with a macro, search for lines like IS_AUTOKEY_FLAG(INSERTAVAIL).
|
||||
*/
|
||||
typedef enum eAutokey_Flag {
|
||||
|
|
|
@ -77,8 +77,10 @@ typedef struct bToolRef {
|
|||
/**
|
||||
* \brief Wrapper for bScreen.
|
||||
*
|
||||
* bScreens are IDs and thus stored in a main list-base. We also want to store a list-base of them within the
|
||||
* workspace (so each workspace can have its own set of screen-layouts) which would mess with the next/prev pointers.
|
||||
* #bScreens are IDs and thus stored in a main list-base.
|
||||
* We also want to store a list-base of them within the workspace
|
||||
* (so each workspace can have its own set of screen-layouts)
|
||||
* which would mess with the next/prev pointers.
|
||||
* So we use this struct to wrap a bScreen pointer with another pair of next/prev pointers.
|
||||
*/
|
||||
typedef struct WorkSpaceLayout {
|
||||
|
|
|
@ -94,37 +94,38 @@
|
|||
* structs. Only needed to keep a file short though...
|
||||
*
|
||||
* ALLOWED AND TESTED CHANGES IN STRUCTS:
|
||||
* - type change (a char to float will be divided by 255)
|
||||
* - location within a struct (everything can be randomly mixed up)
|
||||
* - struct within struct (within struct etc), this is recursive
|
||||
* - adding new elements, will be default initialized zero
|
||||
* - removing elements
|
||||
* - change of array sizes
|
||||
* - change of a pointer type: when the name doesn't change the contents is copied
|
||||
* - Type change (a char to float will be divided by 255).
|
||||
* - Location within a struct (everything can be randomly mixed up).
|
||||
* - Struct within struct (within struct etc), this is recursive.
|
||||
* - Adding new elements, will be default initialized zero.
|
||||
* - Removing elements.
|
||||
* - Change of array sizes.
|
||||
* - Change of a pointer type: when the name doesn't change the contents is copied.
|
||||
*
|
||||
* NOT YET:
|
||||
* - array (``vec[3]``) to float struct (``vec3f``)
|
||||
* - array (``vec[3]``) to float struct (``vec3f``).
|
||||
*
|
||||
* DONE:
|
||||
* - endian compatibility
|
||||
* - pointer conversion (32-64 bits)
|
||||
* - Endian compatibility.
|
||||
* - Pointer conversion (32-64 bits).
|
||||
*
|
||||
* IMPORTANT:
|
||||
* - do not use #defines in structs for array lengths, this cannot be read by the dna functions
|
||||
* - do not use uint, but unsigned int instead, ushort and ulong are allowed
|
||||
* - only use a long in Blender if you want this to be the size of a pointer. so it is
|
||||
* 32 bits or 64 bits, dependent at the cpu architecture
|
||||
* - chars are always unsigned
|
||||
* - alignment of variables has to be done in such a way, that any system does
|
||||
* - Do not use #defines in structs for array lengths, this cannot be read by the dna functions.
|
||||
* - Do not use uint, but unsigned int instead, ushort and ulong are allowed.
|
||||
* - Only use a long in Blender if you want this to be the size of a pointer. so it is
|
||||
* 32 bits or 64 bits, dependent at the cpu architecture.
|
||||
* - Chars are always unsigned
|
||||
* - Alignment of variables has to be done in such a way, that any system does
|
||||
* not create 'padding' (gaps) in structures. So make sure that:
|
||||
* - short: 2 aligned
|
||||
* - int: 4 aligned
|
||||
* - float: 4 aligned
|
||||
* - double: 8 aligned
|
||||
* - long: 8 aligned
|
||||
* - int64: 8 aligned
|
||||
* - struct: 8 aligned
|
||||
* - the sdna functions have several error prints builtin, always check blender running from a console.
|
||||
* - short: 2 aligned.
|
||||
* - int: 4 aligned.
|
||||
* - float: 4 aligned.
|
||||
* - double: 8 aligned.
|
||||
* - long: 8 aligned.
|
||||
* - int64: 8 aligned.
|
||||
* - struct: 8 aligned.
|
||||
* - the sdna functions have several error prints builtin,
|
||||
* always check blender running from a console.
|
||||
*/
|
||||
|
||||
#ifdef __BIG_ENDIAN__
|
||||
|
@ -543,7 +544,8 @@ SDNA *DNA_sdna_from_data(const void *data,
|
|||
}
|
||||
|
||||
/**
|
||||
* Using globals is acceptable here, the data is read-only and only changes between Blender versions.
|
||||
* Using globals is acceptable here,
|
||||
* the data is read-only and only changes between Blender versions.
|
||||
*
|
||||
* So it is safe to create once and reuse.
|
||||
*/
|
||||
|
@ -1499,7 +1501,8 @@ static bool DNA_sdna_patch_struct_member_nr(SDNA *sdna,
|
|||
}
|
||||
/**
|
||||
* Replace \a elem_old with \a elem_new for struct \a struct_name
|
||||
* handles search & replace, maintaining surrounding non-identifier characters such as pointer & array size.
|
||||
* handles search & replace, maintaining surrounding non-identifier characters
|
||||
* such as pointer & array size.
|
||||
*/
|
||||
bool DNA_sdna_patch_struct_member(SDNA *sdna,
|
||||
const char *struct_name,
|
||||
|
|
|
@ -30,7 +30,8 @@
|
|||
* - Changes here only change generated code for `makesdna.c` and `makesrna.c`
|
||||
* without impacting Blender's run-time, besides allowing us to use the new names.
|
||||
*
|
||||
* - Renaming something that has already been renamed can be done by editing the existing rename macro.
|
||||
* - Renaming something that has already been renamed can be done
|
||||
* by editing the existing rename macro.
|
||||
* All references to the previous destination name can be removed since they're
|
||||
* never written to disk.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue