Sfoglia il codice sorgente

Use constant for reserved field count

nikitalita 4 anni fa
parent
commit
bc58bf5477

+ 3 - 3
core/io/resource_format_binary.cpp

@@ -906,7 +906,7 @@ void ResourceLoaderBinary::open(FileAccess *p_f, bool p_no_resources, bool p_kee
 		uid = ResourceUID::INVALID_ID;
 	}
 
-	for (int i = 0; i < 11; i++) {
+	for (int i = 0; i < ResourceFormatSaverBinaryInstance::RESERVED_FIELDS; i++) {
 		f->get_32(); //skip a few reserved fields
 	}
 
@@ -1209,7 +1209,7 @@ Error ResourceFormatLoaderBinary::rename_dependencies(const String &p_path, cons
 	fw->store_32(flags);
 	fw->store_64(uid_data);
 
-	for (int i = 0; i < 11; i++) {
+	for (int i = 0; i < ResourceFormatSaverBinaryInstance::RESERVED_FIELDS; i++) {
 		fw->store_32(0); // reserved
 		f->get_32();
 	}
@@ -1902,7 +1902,7 @@ Error ResourceFormatSaverBinaryInstance::save(const String &p_path, const RES &p
 	f->store_32(FORMAT_FLAG_NAMED_SCENE_IDS | FORMAT_FLAG_UIDS);
 	ResourceUID::ID uid = ResourceSaver::get_resource_id_for_path(p_path, true);
 	f->store_64(uid);
-	for (int i = 0; i < 11; i++) {
+	for (int i = 0; i < ResourceFormatSaverBinaryInstance::RESERVED_FIELDS; i++) {
 		f->store_32(0); // reserved
 	}
 

+ 2 - 0
core/io/resource_format_binary.h

@@ -164,6 +164,8 @@ public:
 	enum {
 		FORMAT_FLAG_NAMED_SCENE_IDS = 1,
 		FORMAT_FLAG_UIDS = 2,
+		// Amount of reserved 32-bit fields in resource header
+		RESERVED_FIELDS = 11
 	};
 	Error save(const String &p_path, const RES &p_resource, uint32_t p_flags = 0);
 	static void write_variant(FileAccess *f, const Variant &p_property, Map<RES, int> &resource_map, Map<RES, int> &external_resources, Map<StringName, int> &string_map, const PropertyInfo &p_hint = PropertyInfo());

+ 1 - 1
scene/resources/resource_format_text.cpp

@@ -1024,7 +1024,7 @@ Error ResourceLoaderText::save_as_binary(FileAccess *p_f, const String &p_path)
 
 	wf->store_64(res_uid);
 
-	for (int i = 0; i < 11; i++) {
+	for (int i = 0; i < ResourceFormatSaverBinaryInstance::RESERVED_FIELDS; i++) {
 		wf->store_32(0); // reserved
 	}