소스 검색

Fix SCU global namespace conflict in `resource_format_text.cpp`

`FORMAT_VERSION` is used in multiple places in the codebase, and #defining it was causing conflicts.
lawnjelly 1 년 전
부모
커밋
543ab3da11
2개의 변경된 파일17개의 추가작업 그리고 10개의 파일을 삭제
  1. 5 10
      scene/resources/resource_format_text.cpp
  2. 12 0
      scene/resources/resource_format_text.h

+ 5 - 10
scene/resources/resource_format_text.cpp

@@ -35,17 +35,12 @@
 #include "core/io/missing_resource.h"
 #include "core/object/script_language.h"
 
-// Version 2: Changed names for Basis, AABB, Vectors, etc.
-// Version 3: New string ID for ext/subresources, breaks forward compat.
-// Version 4: PackedByteArray can be base64 encoded, and PackedVector4Array was added.
-#define FORMAT_VERSION 4
-// For compat, save as version 3 if not using PackedVector4Array or no big PackedByteArray.
-#define FORMAT_VERSION_COMPAT 3
-
-#define _printerr() ERR_PRINT(String(res_path + ":" + itos(lines) + " - Parse Error: " + error_text).utf8().get_data());
-
 ///
 
+void ResourceLoaderText::_printerr() {
+	ERR_PRINT(String(res_path + ":" + itos(lines) + " - Parse Error: " + error_text).utf8().get_data());
+}
+
 Ref<Resource> ResourceLoaderText::get_resource() {
 	return resource;
 }
@@ -1734,7 +1729,7 @@ Error ResourceFormatSaverTextInstance::save(const String &p_path, const Ref<Reso
 		if (load_steps > 1) {
 			title += "load_steps=" + itos(load_steps) + " ";
 		}
-		title += "format=" + itos(use_compat ? FORMAT_VERSION_COMPAT : FORMAT_VERSION) + "";
+		title += "format=" + itos(use_compat ? ResourceLoaderText::FORMAT_VERSION_COMPAT : ResourceLoaderText::FORMAT_VERSION) + "";
 
 		ResourceUID::ID uid = ResourceSaver::get_resource_id_for_path(local_path, true);
 

+ 12 - 0
scene/resources/resource_format_text.h

@@ -38,6 +38,17 @@
 #include "scene/resources/packed_scene.h"
 
 class ResourceLoaderText {
+public:
+	enum {
+		// Version 2: Changed names for Basis, AABB, Vectors, etc.
+		// Version 3: New string ID for ext/subresources, breaks forward compat.
+		// Version 4: PackedByteArray can be base64 encoded, and PackedVector4Array was added.
+		FORMAT_VERSION = 4,
+		// For compat, save as version 3 if not using PackedVector4Array or no big PackedByteArray.
+		FORMAT_VERSION_COMPAT = 3,
+	};
+
+private:
 	bool translation_remapped = false;
 	String local_path;
 	String res_path;
@@ -100,6 +111,7 @@ class ResourceLoaderText {
 
 	static Error _parse_sub_resource_dummy(DummyReadData *p_data, VariantParser::Stream *p_stream, Ref<Resource> &r_res, int &line, String &r_err_str);
 	static Error _parse_ext_resource_dummy(DummyReadData *p_data, VariantParser::Stream *p_stream, Ref<Resource> &r_res, int &line, String &r_err_str);
+	void _printerr();
 
 	VariantParser::ResourceParser rp;