Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/makesdna/intern/dna_genfile.c')
-rw-r--r--source/blender/makesdna/intern/dna_genfile.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/blender/makesdna/intern/dna_genfile.c b/source/blender/makesdna/intern/dna_genfile.c
index 432205b1b5d..9c2289b2edd 100644
--- a/source/blender/makesdna/intern/dna_genfile.c
+++ b/source/blender/makesdna/intern/dna_genfile.c
@@ -668,6 +668,7 @@ static eSDNA_Type sdna_type_nr(const char *dna_type)
else if( strcmp(dna_type, "float")==0) return SDNA_TYPE_FLOAT;
else if( strcmp(dna_type, "double")==0) return SDNA_TYPE_DOUBLE;
else if( strcmp(dna_type, "int64_t")==0) return SDNA_TYPE_INT64;
+ else if( strcmp(dna_type, "uint64_t")==0) return SDNA_TYPE_UINT64;
else return -1; /* invalid! */
}
@@ -712,6 +713,8 @@ static void cast_elem(const char *ctype, const char *otype, const char *name, ch
val= *( (double *)olddata); break;
case SDNA_TYPE_INT64:
val= *( (int64_t *)olddata); break;
+ case SDNA_TYPE_UINT64:
+ val= *( (uint64_t *)olddata); break;
}
switch(ctypenr) {
@@ -737,6 +740,8 @@ static void cast_elem(const char *ctype, const char *otype, const char *name, ch
*( (double *)curdata)= val; break;
case SDNA_TYPE_INT64:
*( (int64_t *)curdata)= val; break;
+ case SDNA_TYPE_UINT64:
+ *( (uint64_t *)curdata)= val; break;
}
olddata+= oldlen;
@@ -1094,7 +1099,9 @@ void DNA_struct_switch_endian(SDNA *oldsdna, int oldSDNAnr, char *data)
cpo+= 4;
}
}
- else if ( (spc[0]==SDNA_TYPE_INT64)) {
+ else if ( (spc[0]==SDNA_TYPE_INT64) ||
+ (spc[0]==SDNA_TYPE_UINT64))
+ {
mul= DNA_elem_array_size(name, strlen(name));
cpo= cur;
while(mul--) {
@@ -1171,6 +1178,7 @@ int DNA_elem_type_size(const eSDNA_Type elem_nr)
return 4;
case SDNA_TYPE_DOUBLE:
case SDNA_TYPE_INT64:
+ case SDNA_TYPE_UINT64:
return 8;
}