This commit extends limit of ID and objects to 64 (it means 63 meaning characters and 1 for zero-terminator). CustomData layers names are also extended. Changed DNA structures and all places where length constants were hardcoded. All names which are "generating" from ID block should be limited by MAX_ID_NAME-2, all non-id names now has got own define called MAX_NAME which should be used all over for non-id names to make further name migration stuff easier. All name fields in DNA now have comment with constant which corresponds to hardcoded numeric value which should make it easier to further update this limits or even switch to non-hardcoded values in DNA. Special thanks to Campbell who helped figuring out some issues and helped a lot in finding all cases where hardcoded valued were still used in code. Both of forwards and backwards compatibility is stored with blender versions newer than January 5, 2011. Older versions had issue with placing null-terminator to DNA strings on file load which will lead to some unpredictable behavior or even crashes.
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/*
 | 
						|
 * ***** BEGIN GPL LICENSE BLOCK *****
 | 
						|
 *
 | 
						|
 * This program is free software; you can redistribute it and/or
 | 
						|
 * modify it under the terms of the GNU General Public License
 | 
						|
 * as published by the Free Software Foundation; either version 2
 | 
						|
 * of the License, or (at your option) any later version.
 | 
						|
 *
 | 
						|
 * This program is distributed in the hope that it will be useful,
 | 
						|
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
						|
 * GNU General Public License for more details.
 | 
						|
 *
 | 
						|
 * You should have received a copy of the GNU General Public License
 | 
						|
 * along with this program; if not, write to the Free Software Foundation,
 | 
						|
 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 | 
						|
 *
 | 
						|
 * Contributor(s): Campbell Barton
 | 
						|
 *
 | 
						|
 * ***** END GPL LICENSE BLOCK *****
 | 
						|
 */
 | 
						|
 | 
						|
/** \file DNA_defs.h
 | 
						|
 *  \ingroup DNA
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef DNA_DEFS_H
 | 
						|
#define DNA_DEFS_H
 | 
						|
 | 
						|
/* makesdna ignores */
 | 
						|
#ifdef DNA_DEPRECATED_ALLOW
 | 
						|
   /* allow use of deprecated items */
 | 
						|
#  define DNA_DEPRECATED
 | 
						|
#else
 | 
						|
#  ifndef DNA_DEPRECATED
 | 
						|
#    ifdef __GNUC__
 | 
						|
#      define DNA_DEPRECATED __attribute__ ((deprecated))
 | 
						|
#    else
 | 
						|
       /* TODO, msvc & others */
 | 
						|
#      define DNA_DEPRECATED
 | 
						|
#    endif
 | 
						|
#  endif
 | 
						|
#endif
 | 
						|
 | 
						|
/* hrmf, we need a better include then this */
 | 
						|
#include "../blenloader/BLO_sys_types.h" /* needed for int64_t only! */
 | 
						|
 | 
						|
#define USE_BMESH_FORWARD_COMPAT
 | 
						|
 | 
						|
/* non-id name variables should use this length */
 | 
						|
#define MAX_NAME 64
 | 
						|
 | 
						|
#endif /* DNA_DEFS_H */
 |