diff options
157 files changed, 779 insertions, 857 deletions
diff --git a/.travis.yml b/.travis.yml index 587e57c741..09d8cad07e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ env:    global:      - SCONS_CACHE=$HOME/.scons_cache      - SCONS_CACHE_LIMIT=1024 -    - OPTIONS="debug_symbols=no verbose=yes progress=no" +    - OPTIONS="debug_symbols=no verbose=yes progress=no builtin_libpng=yes"      - secure: "uch9QszCgsl1qVbuzY41P7S2hWL2IiNFV4SbAYRCdi0oJ9MIu+pVyrQdpf3+jG4rH6j4Rffl+sN17Zz4dIDDioFL1JwqyCqyCyswR8uACC0Rr8gr4Mi3+HIRbv+2s2P4cIQq41JM8FJe84k9jLEMGCGh69w+ibCWoWs74CokYVA="  cache: @@ -39,7 +39,7 @@ matrix:              - ubuntu-toolchain-r-test            packages:              - &gcc8_deps [gcc-8, g++-8] -            - &linux_deps [libasound2-dev, libfreetype6-dev, libgl1-mesa-dev, libglu1-mesa-dev, libx11-dev, libxcursor-dev, libxi-dev, libxinerama-dev, libxrandr-dev] +            - &linux_deps [libasound2-dev, libgl1-mesa-dev, libglu1-mesa-dev, libx11-dev, libxcursor-dev, libxi-dev, libxinerama-dev, libxrandr-dev]              - &linux_mono_deps [mono-devel, msbuild, nuget]          coverity_scan: diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h index 2751ff242c..7d0c158f51 100644 --- a/core/bind/core_bind.h +++ b/core/bind/core_bind.h @@ -694,7 +694,7 @@ VARIANT_ENUM_CAST(_Thread::Priority);  class _ClassDB : public Object { -	GDCLASS(_ClassDB, Object) +	GDCLASS(_ClassDB, Object);  protected:  	static void _bind_methods(); @@ -779,7 +779,7 @@ public:  class _JSON;  class JSONParseResult : public Reference { -	GDCLASS(JSONParseResult, Reference) +	GDCLASS(JSONParseResult, Reference);  	friend class _JSON; @@ -807,7 +807,7 @@ public:  };  class _JSON : public Object { -	GDCLASS(_JSON, Object) +	GDCLASS(_JSON, Object);  protected:  	static void _bind_methods(); diff --git a/core/io/resource_importer.h b/core/io/resource_importer.h index 317f301b5c..9cf298a7f5 100644 --- a/core/io/resource_importer.h +++ b/core/io/resource_importer.h @@ -94,7 +94,8 @@ public:  class ResourceImporter : public Reference { -	GDCLASS(ResourceImporter, Reference) +	GDCLASS(ResourceImporter, Reference); +  public:  	virtual String get_importer_name() const = 0;  	virtual String get_visible_name() const = 0; diff --git a/core/io/resource_loader.h b/core/io/resource_loader.h index 9e7020be7c..70e7bdc224 100644 --- a/core/io/resource_loader.h +++ b/core/io/resource_loader.h @@ -62,7 +62,7 @@ public:  class ResourceFormatLoader : public Reference { -	GDCLASS(ResourceFormatLoader, Reference) +	GDCLASS(ResourceFormatLoader, Reference);  protected:  	static void _bind_methods(); diff --git a/core/io/resource_saver.h b/core/io/resource_saver.h index 7df3bfb1f8..0fba47a5e8 100644 --- a/core/io/resource_saver.h +++ b/core/io/resource_saver.h @@ -38,7 +38,7 @@  */  class ResourceFormatSaver : public Reference { -	GDCLASS(ResourceFormatSaver, Reference) +	GDCLASS(ResourceFormatSaver, Reference);  protected:  	static void _bind_methods(); diff --git a/core/math/a_star.h b/core/math/a_star.h index e2a0356c7c..ec333efc1d 100644 --- a/core/math/a_star.h +++ b/core/math/a_star.h @@ -42,7 +42,7 @@  class AStar : public Reference { -	GDCLASS(AStar, Reference) +	GDCLASS(AStar, Reference);  	uint64_t pass; diff --git a/core/math/expression.h b/core/math/expression.h index 79f6f3989d..1113bb6587 100644 --- a/core/math/expression.h +++ b/core/math/expression.h @@ -34,7 +34,8 @@  #include "core/reference.h"  class Expression : public Reference { -	GDCLASS(Expression, Reference) +	GDCLASS(Expression, Reference); +  public:  	enum BuiltinFunc {  		MATH_SIN, diff --git a/core/os/input_event.h b/core/os/input_event.h index 2eb321f134..4f5762e756 100644 --- a/core/os/input_event.h +++ b/core/os/input_event.h @@ -173,7 +173,7 @@ enum MidiMessageList {   */  class InputEvent : public Resource { -	GDCLASS(InputEvent, Resource) +	GDCLASS(InputEvent, Resource);  	int device; @@ -210,7 +210,7 @@ public:  };  class InputEventWithModifiers : public InputEvent { -	GDCLASS(InputEventWithModifiers, InputEvent) +	GDCLASS(InputEventWithModifiers, InputEvent);  	bool shift;  	bool alt; @@ -256,7 +256,7 @@ public:  class InputEventKey : public InputEventWithModifiers { -	GDCLASS(InputEventKey, InputEventWithModifiers) +	GDCLASS(InputEventKey, InputEventWithModifiers);  	bool pressed; /// otherwise release @@ -295,7 +295,7 @@ public:  class InputEventMouse : public InputEventWithModifiers { -	GDCLASS(InputEventMouse, InputEventWithModifiers) +	GDCLASS(InputEventMouse, InputEventWithModifiers);  	int button_mask; @@ -320,7 +320,7 @@ public:  class InputEventMouseButton : public InputEventMouse { -	GDCLASS(InputEventMouseButton, InputEventMouse) +	GDCLASS(InputEventMouseButton, InputEventMouse);  	float factor;  	int button_index; @@ -354,7 +354,7 @@ public:  class InputEventMouseMotion : public InputEventMouse { -	GDCLASS(InputEventMouseMotion, InputEventMouse) +	GDCLASS(InputEventMouseMotion, InputEventMouse);  	Vector2 relative;  	Vector2 speed; @@ -378,7 +378,7 @@ public:  class InputEventJoypadMotion : public InputEvent { -	GDCLASS(InputEventJoypadMotion, InputEvent) +	GDCLASS(InputEventJoypadMotion, InputEvent);  	int axis; ///< Joypad axis  	float axis_value; ///< -1 to 1 @@ -403,7 +403,7 @@ public:  };  class InputEventJoypadButton : public InputEvent { -	GDCLASS(InputEventJoypadButton, InputEvent) +	GDCLASS(InputEventJoypadButton, InputEvent);  	int button_index;  	bool pressed; @@ -431,7 +431,7 @@ public:  };  class InputEventScreenTouch : public InputEvent { -	GDCLASS(InputEventScreenTouch, InputEvent) +	GDCLASS(InputEventScreenTouch, InputEvent);  	int index;  	Vector2 pos;  	bool pressed; @@ -457,7 +457,7 @@ public:  class InputEventScreenDrag : public InputEvent { -	GDCLASS(InputEventScreenDrag, InputEvent) +	GDCLASS(InputEventScreenDrag, InputEvent);  	int index;  	Vector2 pos;  	Vector2 relative; @@ -487,7 +487,7 @@ public:  class InputEventAction : public InputEvent { -	GDCLASS(InputEventAction, InputEvent) +	GDCLASS(InputEventAction, InputEvent);  	StringName action;  	bool pressed; @@ -519,7 +519,7 @@ public:  class InputEventGesture : public InputEventWithModifiers { -	GDCLASS(InputEventGesture, InputEventWithModifiers) +	GDCLASS(InputEventGesture, InputEventWithModifiers);  	Vector2 pos; @@ -533,7 +533,7 @@ public:  class InputEventMagnifyGesture : public InputEventGesture { -	GDCLASS(InputEventMagnifyGesture, InputEventGesture) +	GDCLASS(InputEventMagnifyGesture, InputEventGesture);  	real_t factor;  protected: @@ -551,7 +551,7 @@ public:  class InputEventPanGesture : public InputEventGesture { -	GDCLASS(InputEventPanGesture, InputEventGesture) +	GDCLASS(InputEventPanGesture, InputEventGesture);  	Vector2 delta;  protected: @@ -568,7 +568,7 @@ public:  };  class InputEventMIDI : public InputEvent { -	GDCLASS(InputEventMIDI, InputEvent) +	GDCLASS(InputEventMIDI, InputEvent);  	int channel;  	int message; diff --git a/drivers/png/image_loader_png.cpp b/drivers/png/image_loader_png.cpp index 0bf432c78a..f257fafd93 100644 --- a/drivers/png/image_loader_png.cpp +++ b/drivers/png/image_loader_png.cpp @@ -32,186 +32,26 @@  #include "core/os/os.h"  #include "core/print_string.h" +#include "drivers/png/png_driver_common.h"  #include <string.h> -void ImageLoaderPNG::_read_png_data(png_structp png_ptr, png_bytep data, png_size_t p_length) { - -	FileAccess *f = (FileAccess *)png_get_io_ptr(png_ptr); -	f->get_buffer((uint8_t *)data, p_length); -} - -/* -png_structp png_ptr = png_create_read_struct_2 -    (PNG_LIBPNG_VER_STRING, (png_voidp)user_error_ptr, -     user_error_fn, user_warning_fn, (png_voidp) -     user_mem_ptr, user_malloc_fn, user_free_fn); -*/ -static png_voidp _png_malloc_fn(png_structp png_ptr, png_size_t size) { - -	return memalloc(size); -} - -static void _png_free_fn(png_structp png_ptr, png_voidp ptr) { - -	memfree(ptr); -} - -static void _png_error_function(png_structp, png_const_charp text) { - -	ERR_PRINT(text); -} - -static void _png_warn_function(png_structp, png_const_charp text) { -#ifdef TOOLS_ENABLED -	if (Engine::get_singleton()->is_editor_hint()) { -		if (String(text).begins_with("iCCP")) return; // silences annoying spam emitted to output every time the user opened assetlib -	} -#endif -	WARN_PRINT(text); -} - -typedef void(PNGAPI *png_error_ptr) PNGARG((png_structp, png_const_charp)); - -Error ImageLoaderPNG::_load_image(void *rf_up, png_rw_ptr p_func, Ref<Image> p_image) { - -	png_structp png; -	png_infop info; - -	//png = png_create_read_struct(PNG_LIBPNG_VER_STRING, (png_voidp)NULL, NULL, NULL); - -	png = png_create_read_struct_2(PNG_LIBPNG_VER_STRING, (png_voidp)NULL, _png_error_function, _png_warn_function, (png_voidp)NULL, -			_png_malloc_fn, _png_free_fn); - -	ERR_FAIL_COND_V(!png, ERR_OUT_OF_MEMORY); - -	info = png_create_info_struct(png); -	if (!info) { -		png_destroy_read_struct(&png, NULL, NULL); -		ERR_PRINT("Out of Memory"); -		return ERR_OUT_OF_MEMORY; -	} - -	if (setjmp(png_jmpbuf(png))) { - -		png_destroy_read_struct(&png, NULL, NULL); -		ERR_PRINT("PNG Corrupted"); -		return ERR_FILE_CORRUPT; -	} - -	png_set_read_fn(png, (void *)rf_up, p_func); - -	png_uint_32 width, height; -	int depth, color; - -	png_read_info(png, info); -	png_get_IHDR(png, info, &width, &height, &depth, &color, NULL, NULL, NULL); - -	//https://svn.gov.pt/projects/ccidadao/repository/middleware-offline/trunk/_src/eidmw/FreeImagePTEiD/Source/FreeImage/PluginPNG.cpp -	//png_get_text(png,info,) -	/* -	printf("Image width:%i\n", width); -	printf("Image Height:%i\n", height); -	printf("Bit depth:%i\n", depth); -	printf("Color type:%i\n", color); -	*/ - -	bool update_info = false; - -	if (depth < 8) { //only bit dept 8 per channel is handled - -		png_set_packing(png); -		update_info = true; -	}; - -	if (png_get_color_type(png, info) == PNG_COLOR_TYPE_PALETTE) { -		png_set_palette_to_rgb(png); -		update_info = true; -	} - -	if (depth > 8) { -		png_set_strip_16(png); -		update_info = true; -	} - -	if (png_get_valid(png, info, PNG_INFO_tRNS)) { -		//png_set_expand_gray_1_2_4_to_8(png); -		png_set_tRNS_to_alpha(png); -		update_info = true; -	} - -	if (update_info) { -		png_read_update_info(png, info); -		png_get_IHDR(png, info, &width, &height, &depth, &color, NULL, NULL, NULL); -	} - -	int components = 0; - -	Image::Format fmt; -	switch (color) { - -		case PNG_COLOR_TYPE_GRAY: { - -			fmt = Image::FORMAT_L8; -			components = 1; -		} break; -		case PNG_COLOR_TYPE_GRAY_ALPHA: { - -			fmt = Image::FORMAT_LA8; -			components = 2; -		} break; -		case PNG_COLOR_TYPE_RGB: { - -			fmt = Image::FORMAT_RGB8; -			components = 3; -		} break; -		case PNG_COLOR_TYPE_RGB_ALPHA: { - -			fmt = Image::FORMAT_RGBA8; -			components = 4; -		} break; -		default: { +Error ImageLoaderPNG::load_image(Ref<Image> p_image, FileAccess *f, bool p_force_linear, float p_scale) { -			ERR_PRINT("INVALID PNG TYPE"); -			png_destroy_read_struct(&png, &info, NULL); -			return ERR_UNAVAILABLE; -		} break; +	const size_t buffer_size = f->get_len(); +	PoolVector<uint8_t> file_buffer; +	Error err = file_buffer.resize(buffer_size); +	if (err) { +		f->close(); +		return err;  	} - -	//int rowsize = png_get_rowbytes(png, info); -	int rowsize = components * width; - -	PoolVector<uint8_t> dstbuff; - -	dstbuff.resize(rowsize * height); - -	PoolVector<uint8_t>::Write dstbuff_write = dstbuff.write(); - -	uint8_t *data = dstbuff_write.ptr(); - -	uint8_t **row_p = memnew_arr(uint8_t *, height); - -	for (unsigned int i = 0; i < height; i++) { -		row_p[i] = &data[components * width * i]; +	{ +		PoolVector<uint8_t>::Write writer = file_buffer.write(); +		f->get_buffer(writer.ptr(), buffer_size); +		f->close();  	} - -	png_read_image(png, (png_bytep *)row_p); - -	memdelete_arr(row_p); - -	p_image->create(width, height, 0, fmt, dstbuff); - -	png_destroy_read_struct(&png, &info, NULL); - -	return OK; -} - -Error ImageLoaderPNG::load_image(Ref<Image> p_image, FileAccess *f, bool p_force_linear, float p_scale) { - -	Error err = _load_image(f, _read_png_data, p_image); -	f->close(); - -	return err; +	PoolVector<uint8_t>::Read reader = file_buffer.read(); +	return PNGDriverCommon::png_to_image(reader.ptr(), buffer_size, p_image);  }  void ImageLoaderPNG::get_recognized_extensions(List<String> *p_extensions) const { @@ -219,178 +59,53 @@ void ImageLoaderPNG::get_recognized_extensions(List<String> *p_extensions) const  	p_extensions->push_back("png");  } -struct PNGReadStatus { - -	uint32_t offset; -	uint32_t size; -	const unsigned char *image; -}; - -static void user_read_data(png_structp png_ptr, png_bytep data, png_size_t p_length) { - -	PNGReadStatus *rstatus; -	rstatus = (PNGReadStatus *)png_get_io_ptr(png_ptr); - -	png_size_t to_read = MIN(p_length, rstatus->size - rstatus->offset); -	memcpy(data, &rstatus->image[rstatus->offset], to_read); -	rstatus->offset += to_read; - -	if (to_read < p_length) { -		memset(&data[to_read], 0, p_length - to_read); -	} -} - -static Ref<Image> _load_mem_png(const uint8_t *p_png, int p_size) { - -	PNGReadStatus prs; -	prs.image = p_png; -	prs.offset = 0; -	prs.size = p_size; +Ref<Image> ImageLoaderPNG::load_mem_png(const uint8_t *p_png, int p_size) {  	Ref<Image> img;  	img.instance(); -	Error err = ImageLoaderPNG::_load_image(&prs, user_read_data, img); + +	Error err = PNGDriverCommon::png_to_image(p_png, p_size, img);  	ERR_FAIL_COND_V(err, Ref<Image>());  	return img;  } -static Ref<Image> _lossless_unpack_png(const PoolVector<uint8_t> &p_data) { +Ref<Image> ImageLoaderPNG::lossless_unpack_png(const PoolVector<uint8_t> &p_data) { -	int len = p_data.size(); +	const int len = p_data.size();  	ERR_FAIL_COND_V(len < 4, Ref<Image>());  	PoolVector<uint8_t>::Read r = p_data.read();  	ERR_FAIL_COND_V(r[0] != 'P' || r[1] != 'N' || r[2] != 'G' || r[3] != ' ', Ref<Image>()); -	return _load_mem_png(&r[4], len - 4); -} - -static void _write_png_data(png_structp png_ptr, png_bytep data, png_size_t p_length) { - -	PoolVector<uint8_t> &v = *(PoolVector<uint8_t> *)png_get_io_ptr(png_ptr); -	int vs = v.size(); - -	v.resize(vs + p_length); -	PoolVector<uint8_t>::Write w = v.write(); -	copymem(&w[vs], data, p_length); +	return load_mem_png(&r[4], len - 4);  } -static PoolVector<uint8_t> _lossless_pack_png(const Ref<Image> &p_image) { - -	Ref<Image> img = p_image->duplicate(); - -	if (img->is_compressed()) -		img->decompress(); - -	ERR_FAIL_COND_V(img->is_compressed(), PoolVector<uint8_t>()); - -	png_structp png_ptr; -	png_infop info_ptr; -	png_bytep *row_pointers; - -	/* initialize stuff */ -	png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); +PoolVector<uint8_t> ImageLoaderPNG::lossless_pack_png(const Ref<Image> &p_image) { -	ERR_FAIL_COND_V(!png_ptr, PoolVector<uint8_t>()); +	PoolVector<uint8_t> out_buffer; -	info_ptr = png_create_info_struct(png_ptr); - -	ERR_FAIL_COND_V(!info_ptr, PoolVector<uint8_t>()); - -	if (setjmp(png_jmpbuf(png_ptr))) { +	// add Godot's own "PNG " prefix +	if (out_buffer.resize(4) != OK) {  		ERR_FAIL_V(PoolVector<uint8_t>());  	} -	PoolVector<uint8_t> ret; -	ret.push_back('P'); -	ret.push_back('N'); -	ret.push_back('G'); -	ret.push_back(' '); -	png_set_write_fn(png_ptr, &ret, _write_png_data, NULL); - -	/* write header */ -	if (setjmp(png_jmpbuf(png_ptr))) { -		ERR_FAIL_V(PoolVector<uint8_t>()); +	// scope for writer lifetime +	{ +		// must be closed before call to image_to_png +		PoolVector<uint8_t>::Write writer = out_buffer.write(); +		copymem(writer.ptr(), "PNG ", 4);  	} -	int pngf = 0; -	int cs = 0; - -	switch (img->get_format()) { - -		case Image::FORMAT_L8: { - -			pngf = PNG_COLOR_TYPE_GRAY; -			cs = 1; -		} break; -		case Image::FORMAT_LA8: { - -			pngf = PNG_COLOR_TYPE_GRAY_ALPHA; -			cs = 2; -		} break; -		case Image::FORMAT_RGB8: { - -			pngf = PNG_COLOR_TYPE_RGB; -			cs = 3; -		} break; -		case Image::FORMAT_RGBA8: { - -			pngf = PNG_COLOR_TYPE_RGB_ALPHA; -			cs = 4; -		} break; -		default: { - -			if (img->detect_alpha()) { - -				img->convert(Image::FORMAT_RGBA8); -				pngf = PNG_COLOR_TYPE_RGB_ALPHA; -				cs = 4; -			} else { - -				img->convert(Image::FORMAT_RGB8); -				pngf = PNG_COLOR_TYPE_RGB; -				cs = 3; -			} -		} -	} - -	int w = img->get_width(); -	int h = img->get_height(); -	png_set_IHDR(png_ptr, info_ptr, w, h, -			8, pngf, PNG_INTERLACE_NONE, -			PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); - -	png_write_info(png_ptr, info_ptr); - -	/* write bytes */ -	if (setjmp(png_jmpbuf(png_ptr))) { +	Error err = PNGDriverCommon::image_to_png(p_image, out_buffer); +	if (err) {  		ERR_FAIL_V(PoolVector<uint8_t>());  	} -	PoolVector<uint8_t>::Read r = img->get_data().read(); - -	row_pointers = (png_bytep *)memalloc(sizeof(png_bytep) * h); -	for (int i = 0; i < h; i++) { - -		row_pointers[i] = (png_bytep)&r[i * w * cs]; -	} -	png_write_image(png_ptr, row_pointers); - -	memfree(row_pointers); - -	/* end write */ -	if (setjmp(png_jmpbuf(png_ptr))) { - -		ERR_FAIL_V(PoolVector<uint8_t>()); -	} - -	png_write_end(png_ptr, NULL); - -	return ret; +	return out_buffer;  }  ImageLoaderPNG::ImageLoaderPNG() { -	Image::_png_mem_loader_func = _load_mem_png; -	Image::lossless_unpacker = _lossless_unpack_png; -	Image::lossless_packer = _lossless_pack_png; +	Image::_png_mem_loader_func = load_mem_png; +	Image::lossless_unpacker = lossless_unpack_png; +	Image::lossless_packer = lossless_pack_png;  } diff --git a/drivers/png/image_loader_png.h b/drivers/png/image_loader_png.h index c3951979c3..cc789f95d6 100644 --- a/drivers/png/image_loader_png.h +++ b/drivers/png/image_loader_png.h @@ -33,17 +33,16 @@  #include "core/io/image_loader.h" -#include <png.h> -  /**  	@author Juan Linietsky <reduzio@gmail.com>  */  class ImageLoaderPNG : public ImageFormatLoader { - -	static void _read_png_data(png_structp png_ptr, png_bytep data, png_size_t p_length); +private: +	static PoolVector<uint8_t> lossless_pack_png(const Ref<Image> &p_image); +	static Ref<Image> lossless_unpack_png(const PoolVector<uint8_t> &p_data); +	static Ref<Image> load_mem_png(const uint8_t *p_png, int p_size);  public: -	static Error _load_image(void *rf_up, png_rw_ptr p_func, Ref<Image> p_image);  	virtual Error load_image(Ref<Image> p_image, FileAccess *f, bool p_force_linear, float p_scale);  	virtual void get_recognized_extensions(List<String> *p_extensions) const;  	ImageLoaderPNG(); diff --git a/drivers/png/png_driver_common.cpp b/drivers/png/png_driver_common.cpp new file mode 100644 index 0000000000..0e849bf2fe --- /dev/null +++ b/drivers/png/png_driver_common.cpp @@ -0,0 +1,205 @@ +/*************************************************************************/ +/*  png_driver_common.cpp                                                */ +/*************************************************************************/ +/*                       This file is part of:                           */ +/*                           GODOT ENGINE                                */ +/*                      https://godotengine.org                          */ +/*************************************************************************/ +/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur.                 */ +/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md)    */ +/*                                                                       */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the       */ +/* "Software"), to deal in the Software without restriction, including   */ +/* without limitation the rights to use, copy, modify, merge, publish,   */ +/* distribute, sublicense, and/or sell copies of the Software, and to    */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions:                                             */ +/*                                                                       */ +/* The above copyright notice and this permission notice shall be        */ +/* included in all copies or substantial portions of the Software.       */ +/*                                                                       */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,       */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF    */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY  */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,  */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE     */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */ +/*************************************************************************/ + +#include "png_driver_common.h" + +#include "core/os/os.h" + +#include <png.h> +#include <string.h> + +namespace PNGDriverCommon { + +// Print any warnings. +// On error, set explain and return true. +// Call should be wrapped in ERR_FAIL_COND +static bool check_error(const png_image &image) { +	const png_uint_32 failed = PNG_IMAGE_FAILED(image); +	if (failed & PNG_IMAGE_ERROR) { +		ERR_EXPLAINC(image.message); +		return true; +	} else if (failed) { +#ifdef TOOLS_ENABLED +		// suppress this warning, to avoid log spam when opening assetlib +		const static char *const noisy = "iCCP: known incorrect sRGB profile"; +		const Engine *const eng = Engine::get_singleton(); +		if (eng && eng->is_editor_hint() && !strcmp(image.message, noisy)) { +			return false; +		} +#endif +		WARN_PRINT(image.message); +	} +	return false; +} + +Error png_to_image(const uint8_t *p_source, size_t p_size, Ref<Image> p_image) { + +	png_image png_img; +	zeromem(&png_img, sizeof(png_img)); +	png_img.version = PNG_IMAGE_VERSION; + +	// fetch image properties +	int success = png_image_begin_read_from_memory(&png_img, p_source, p_size); +	ERR_FAIL_COND_V(check_error(png_img), ERR_FILE_CORRUPT); +	ERR_FAIL_COND_V(!success, ERR_FILE_CORRUPT); + +	// flags to be masked out of input format to give target format +	const png_uint_32 format_mask = ~( +			// convert component order to RGBA +			PNG_FORMAT_FLAG_BGR | PNG_FORMAT_FLAG_AFIRST +			// convert 16 bit components to 8 bit +			| PNG_FORMAT_FLAG_LINEAR +			// convert indexed image to direct color +			| PNG_FORMAT_FLAG_COLORMAP); + +	png_img.format &= format_mask; + +	Image::Format dest_format; +	switch (png_img.format) { +		case PNG_FORMAT_GRAY: +			dest_format = Image::FORMAT_L8; +			break; +		case PNG_FORMAT_GA: +			dest_format = Image::FORMAT_LA8; +			break; +		case PNG_FORMAT_RGB: +			dest_format = Image::FORMAT_RGB8; +			break; +		case PNG_FORMAT_RGBA: +			dest_format = Image::FORMAT_RGBA8; +			break; +		default: +			png_image_free(&png_img); // only required when we return before finish_read +			ERR_PRINT("Unsupported png format"); +			return ERR_UNAVAILABLE; +	} + +	const png_uint_32 stride = PNG_IMAGE_ROW_STRIDE(png_img); +	PoolVector<uint8_t> buffer; +	Error err = buffer.resize(PNG_IMAGE_BUFFER_SIZE(png_img, stride)); +	if (err) { +		png_image_free(&png_img); // only required when we return before finish_read +		return err; +	} +	PoolVector<uint8_t>::Write writer = buffer.write(); + +	// read image data to buffer and release libpng resources +	success = png_image_finish_read(&png_img, NULL, writer.ptr(), stride, NULL); +	ERR_FAIL_COND_V(check_error(png_img), ERR_FILE_CORRUPT); +	ERR_FAIL_COND_V(!success, ERR_FILE_CORRUPT); + +	p_image->create(png_img.width, png_img.height, 0, dest_format, buffer); + +	return OK; +} + +Error image_to_png(const Ref<Image> &p_image, PoolVector<uint8_t> &p_buffer) { + +	Ref<Image> source_image = p_image->duplicate(); + +	if (source_image->is_compressed()) +		source_image->decompress(); + +	ERR_FAIL_COND_V(source_image->is_compressed(), FAILED); + +	png_image png_img; +	zeromem(&png_img, sizeof(png_img)); +	png_img.version = PNG_IMAGE_VERSION; +	png_img.width = source_image->get_width(); +	png_img.height = source_image->get_height(); + +	switch (source_image->get_format()) { +		case Image::FORMAT_L8: +			png_img.format = PNG_FORMAT_GRAY; +			break; +		case Image::FORMAT_LA8: +			png_img.format = PNG_FORMAT_GA; +			break; +		case Image::FORMAT_RGB8: +			png_img.format = PNG_FORMAT_RGB; +			break; +		case Image::FORMAT_RGBA8: +			png_img.format = PNG_FORMAT_RGBA; +			break; +		default: +			if (source_image->detect_alpha()) { +				source_image->convert(Image::FORMAT_RGBA8); +				png_img.format = PNG_FORMAT_RGBA; +			} else { +				source_image->convert(Image::FORMAT_RGB8); +				png_img.format = PNG_FORMAT_RGB; +			} +	} + +	const PoolVector<uint8_t> image_data = source_image->get_data(); +	const PoolVector<uint8_t>::Read reader = image_data.read(); + +	// we may be passed a buffer with existing content we're expected to append to +	const int buffer_offset = p_buffer.size(); + +	const size_t png_size_estimate = PNG_IMAGE_PNG_SIZE_MAX(png_img); + +	// try with estimated size +	size_t compressed_size = png_size_estimate; +	int success = 0; +	{ // scope writer lifetime +		Error err = p_buffer.resize(buffer_offset + png_size_estimate); +		ERR_FAIL_COND_V(err, err); + +		PoolVector<uint8_t>::Write writer = p_buffer.write(); +		success = png_image_write_to_memory(&png_img, &writer[buffer_offset], +				&compressed_size, 0, reader.ptr(), 0, NULL); +		ERR_FAIL_COND_V(check_error(png_img), FAILED); +	} +	if (!success) { +		if (compressed_size <= png_size_estimate) { +			// buffer was big enough, must be some other error +			ERR_FAIL_V(FAILED); +		} + +		// write failed due to buffer size, resize and retry +		Error err = p_buffer.resize(buffer_offset + compressed_size); +		ERR_FAIL_COND_V(err, err); + +		PoolVector<uint8_t>::Write writer = p_buffer.write(); +		success = png_image_write_to_memory(&png_img, &writer[buffer_offset], +				&compressed_size, 0, reader.ptr(), 0, NULL); +		ERR_FAIL_COND_V(check_error(png_img), FAILED); +		ERR_FAIL_COND_V(!success, FAILED); +	} + +	// trim buffer size to content +	Error err = p_buffer.resize(buffer_offset + compressed_size); +	ERR_FAIL_COND_V(err, err); + +	return OK; +} + +} // namespace PNGDriverCommon diff --git a/drivers/png/png_driver_common.h b/drivers/png/png_driver_common.h new file mode 100644 index 0000000000..3ff87759fb --- /dev/null +++ b/drivers/png/png_driver_common.h @@ -0,0 +1,48 @@ +/*************************************************************************/ +/*  png_driver_common.h                                                  */ +/*************************************************************************/ +/*                       This file is part of:                           */ +/*                           GODOT ENGINE                                */ +/*                      https://godotengine.org                          */ +/*************************************************************************/ +/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur.                 */ +/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md)    */ +/*                                                                       */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the       */ +/* "Software"), to deal in the Software without restriction, including   */ +/* without limitation the rights to use, copy, modify, merge, publish,   */ +/* distribute, sublicense, and/or sell copies of the Software, and to    */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions:                                             */ +/*                                                                       */ +/* The above copyright notice and this permission notice shall be        */ +/* included in all copies or substantial portions of the Software.       */ +/*                                                                       */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,       */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF    */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY  */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,  */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE     */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */ +/*************************************************************************/ + +#ifndef PNG_DRIVER_COMMON_H +#define PNG_DRIVER_COMMON_H + +#include "core/image.h" +#include "core/pool_vector.h" + +namespace PNGDriverCommon { + +// Attempt to load png from buffer (p_source, p_size) into p_image +Error png_to_image(const uint8_t *p_source, size_t p_size, Ref<Image> p_image); + +// Append p_image, as a png, to p_buffer. +// Contents of p_buffer is unspecified if error returned. +Error image_to_png(const Ref<Image> &p_image, PoolVector<uint8_t> &p_buffer); + +} // namespace PNGDriverCommon + +#endif diff --git a/drivers/png/resource_saver_png.cpp b/drivers/png/resource_saver_png.cpp index 9e8043cbea..89e8ee32cc 100644 --- a/drivers/png/resource_saver_png.cpp +++ b/drivers/png/resource_saver_png.cpp @@ -32,17 +32,9 @@  #include "core/image.h"  #include "core/os/file_access.h" -#include "core/project_settings.h" +#include "drivers/png/png_driver_common.h"  #include "scene/resources/texture.h" -#include <png.h> - -static void _write_png_data(png_structp png_ptr, png_bytep data, png_size_t p_length) { - -	FileAccess *f = (FileAccess *)png_get_io_ptr(png_ptr); -	f->store_buffer((const uint8_t *)data, p_length); -} -  Error ResourceSaverPNG::save(const String &p_path, const RES &p_resource, uint32_t p_flags) {  	Ref<ImageTexture> texture = p_resource; @@ -55,129 +47,27 @@ Error ResourceSaverPNG::save(const String &p_path, const RES &p_resource, uint32  	Error err = save_image(p_path, img); -	if (err == OK) { -	} -  	return err;  };  Error ResourceSaverPNG::save_image(const String &p_path, const Ref<Image> &p_img) { -	Ref<Image> img = p_img->duplicate(); - -	if (img->is_compressed()) -		img->decompress(); - -	ERR_FAIL_COND_V(img->is_compressed(), ERR_INVALID_PARAMETER); - -	png_structp png_ptr; -	png_infop info_ptr; -	png_bytep *row_pointers; - -	/* initialize stuff */ -	png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); - -	ERR_FAIL_COND_V(!png_ptr, ERR_CANT_CREATE); +	PoolVector<uint8_t> buffer; +	Error err = PNGDriverCommon::image_to_png(p_img, buffer); +	ERR_FAIL_COND_V(err, err); +	FileAccess *file = FileAccess::open(p_path, FileAccess::WRITE, &err); +	ERR_FAIL_COND_V(err, err); -	info_ptr = png_create_info_struct(png_ptr); +	PoolVector<uint8_t>::Read reader = buffer.read(); -	ERR_FAIL_COND_V(!info_ptr, ERR_CANT_CREATE); - -	if (setjmp(png_jmpbuf(png_ptr))) { -		ERR_FAIL_V(ERR_CANT_OPEN); -	} -	//change this -	Error err; -	FileAccess *f = FileAccess::open(p_path, FileAccess::WRITE, &err); -	if (err) { -		ERR_FAIL_V(err); -	} - -	png_set_write_fn(png_ptr, f, _write_png_data, NULL); - -	/* write header */ -	if (setjmp(png_jmpbuf(png_ptr))) { -		ERR_FAIL_V(ERR_CANT_OPEN); +	file->store_buffer(reader.ptr(), buffer.size()); +	if (file->get_error() != OK && file->get_error() != ERR_FILE_EOF) { +		memdelete(file); +		return ERR_CANT_CREATE;  	} -	int pngf = 0; -	int cs = 0; - -	switch (img->get_format()) { - -		case Image::FORMAT_L8: { - -			pngf = PNG_COLOR_TYPE_GRAY; -			cs = 1; -		} break; -		case Image::FORMAT_LA8: { - -			pngf = PNG_COLOR_TYPE_GRAY_ALPHA; -			cs = 2; -		} break; -		case Image::FORMAT_RGB8: { - -			pngf = PNG_COLOR_TYPE_RGB; -			cs = 3; -		} break; -		case Image::FORMAT_RGBA8: { - -			pngf = PNG_COLOR_TYPE_RGB_ALPHA; -			cs = 4; -		} break; -		default: { - -			if (img->detect_alpha()) { - -				img->convert(Image::FORMAT_RGBA8); -				pngf = PNG_COLOR_TYPE_RGB_ALPHA; -				cs = 4; -			} else { - -				img->convert(Image::FORMAT_RGB8); -				pngf = PNG_COLOR_TYPE_RGB; -				cs = 3; -			} -		} -	} - -	int w = img->get_width(); -	int h = img->get_height(); -	png_set_IHDR(png_ptr, info_ptr, w, h, -			8, pngf, PNG_INTERLACE_NONE, -			PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); - -	png_write_info(png_ptr, info_ptr); - -	/* write bytes */ -	if (setjmp(png_jmpbuf(png_ptr))) { -		memdelete(f); -		ERR_FAIL_V(ERR_CANT_OPEN); -	} - -	PoolVector<uint8_t>::Read r = img->get_data().read(); - -	row_pointers = (png_bytep *)memalloc(sizeof(png_bytep) * h); -	for (int i = 0; i < h; i++) { - -		row_pointers[i] = (png_bytep)&r[i * w * cs]; -	} -	png_write_image(png_ptr, row_pointers); - -	memfree(row_pointers); - -	/* end write */ -	if (setjmp(png_jmpbuf(png_ptr))) { - -		memdelete(f); -		ERR_FAIL_V(ERR_CANT_OPEN); -	} - -	png_write_end(png_ptr, NULL); -	memdelete(f); - -	/* cleanup heap allocation */ -	png_destroy_write_struct(&png_ptr, &info_ptr); +	file->close(); +	memdelete(file);  	return OK;  } @@ -186,6 +76,7 @@ bool ResourceSaverPNG::recognize(const RES &p_resource) const {  	return (p_resource.is_valid() && p_resource->is_class("ImageTexture"));  } +  void ResourceSaverPNG::get_recognized_extensions(const RES &p_resource, List<String> *p_extensions) const {  	if (Object::cast_to<Texture>(*p_resource)) { diff --git a/editor/animation_bezier_editor.h b/editor/animation_bezier_editor.h index 66c818f09d..49aab48719 100644 --- a/editor/animation_bezier_editor.h +++ b/editor/animation_bezier_editor.h @@ -35,7 +35,7 @@  class AnimationBezierTrackEdit : public Control { -	GDCLASS(AnimationBezierTrackEdit, Control) +	GDCLASS(AnimationBezierTrackEdit, Control);  	enum HandleMode {  		HANDLE_MODE_FREE, diff --git a/editor/animation_track_editor.h b/editor/animation_track_editor.h index 0f1363b34f..1452d5519c 100644 --- a/editor/animation_track_editor.h +++ b/editor/animation_track_editor.h @@ -50,7 +50,7 @@  #include "scene_tree_editor.h"  class AnimationTimelineEdit : public Range { -	GDCLASS(AnimationTimelineEdit, Range) +	GDCLASS(AnimationTimelineEdit, Range);  	Ref<Animation> animation;  	int name_limit; @@ -123,7 +123,7 @@ class AnimationTrackEditor;  class AnimationTrackEdit : public Control { -	GDCLASS(AnimationTrackEdit, Control) +	GDCLASS(AnimationTrackEdit, Control);  	enum {  		MENU_CALL_MODE_CONTINUOUS, @@ -237,7 +237,8 @@ public:  };  class AnimationTrackEditPlugin : public Reference { -	GDCLASS(AnimationTrackEditPlugin, Reference) +	GDCLASS(AnimationTrackEditPlugin, Reference); +  public:  	virtual AnimationTrackEdit *create_value_track_edit(Object *p_object, Variant::Type p_type, const String &p_property, PropertyHint p_hint, const String &p_hint_string, int p_usage);  	virtual AnimationTrackEdit *create_audio_track_edit(); @@ -248,7 +249,7 @@ class AnimationTrackKeyEdit;  class AnimationBezierTrackEdit;  class AnimationTrackEditGroup : public Control { -	GDCLASS(AnimationTrackEditGroup, Control) +	GDCLASS(AnimationTrackEditGroup, Control);  	Ref<Texture> icon;  	String node_name;  	NodePath node; @@ -271,7 +272,7 @@ public:  };  class AnimationTrackEditor : public VBoxContainer { -	GDCLASS(AnimationTrackEditor, VBoxContainer) +	GDCLASS(AnimationTrackEditor, VBoxContainer);  	enum {  		EDIT_COPY_TRACKS, diff --git a/editor/animation_track_editor_plugins.h b/editor/animation_track_editor_plugins.h index a1ea7435b1..5f0ea6196c 100644 --- a/editor/animation_track_editor_plugins.h +++ b/editor/animation_track_editor_plugins.h @@ -34,7 +34,7 @@  #include "editor/animation_track_editor.h"  class AnimationTrackEditBool : public AnimationTrackEdit { -	GDCLASS(AnimationTrackEditBool, AnimationTrackEdit) +	GDCLASS(AnimationTrackEditBool, AnimationTrackEdit);  	Ref<Texture> icon_checked;  	Ref<Texture> icon_unchecked; @@ -46,7 +46,7 @@ public:  };  class AnimationTrackEditColor : public AnimationTrackEdit { -	GDCLASS(AnimationTrackEditColor, AnimationTrackEdit) +	GDCLASS(AnimationTrackEditColor, AnimationTrackEdit);  public:  	virtual int get_key_height() const; @@ -57,7 +57,7 @@ public:  };  class AnimationTrackEditAudio : public AnimationTrackEdit { -	GDCLASS(AnimationTrackEditAudio, AnimationTrackEdit) +	GDCLASS(AnimationTrackEditAudio, AnimationTrackEdit);  	ObjectID id; @@ -78,7 +78,7 @@ public:  };  class AnimationTrackEditSpriteFrame : public AnimationTrackEdit { -	GDCLASS(AnimationTrackEditSpriteFrame, AnimationTrackEdit) +	GDCLASS(AnimationTrackEditSpriteFrame, AnimationTrackEdit);  	ObjectID id; @@ -92,7 +92,7 @@ public:  };  class AnimationTrackEditSubAnim : public AnimationTrackEdit { -	GDCLASS(AnimationTrackEditSubAnim, AnimationTrackEdit) +	GDCLASS(AnimationTrackEditSubAnim, AnimationTrackEdit);  	ObjectID id; @@ -106,7 +106,7 @@ public:  };  class AnimationTrackEditTypeAudio : public AnimationTrackEdit { -	GDCLASS(AnimationTrackEditTypeAudio, AnimationTrackEdit) +	GDCLASS(AnimationTrackEditTypeAudio, AnimationTrackEdit);  	void _preview_changed(ObjectID p_which); @@ -134,7 +134,7 @@ public:  };  class AnimationTrackEditTypeAnimation : public AnimationTrackEdit { -	GDCLASS(AnimationTrackEditTypeAnimation, AnimationTrackEdit) +	GDCLASS(AnimationTrackEditTypeAnimation, AnimationTrackEdit);  	ObjectID id; @@ -149,7 +149,7 @@ public:  };  class AnimationTrackEditVolumeDB : public AnimationTrackEdit { -	GDCLASS(AnimationTrackEditVolumeDB, AnimationTrackEdit) +	GDCLASS(AnimationTrackEditVolumeDB, AnimationTrackEdit);  public:  	virtual void draw_bg(int p_clip_left, int p_clip_right); @@ -159,7 +159,8 @@ public:  };  class AnimationTrackEditDefaultPlugin : public AnimationTrackEditPlugin { -	GDCLASS(AnimationTrackEditDefaultPlugin, AnimationTrackEditPlugin) +	GDCLASS(AnimationTrackEditDefaultPlugin, AnimationTrackEditPlugin); +  public:  	virtual AnimationTrackEdit *create_value_track_edit(Object *p_object, Variant::Type p_type, const String &p_property, PropertyHint p_hint, const String &p_hint_string, int p_usage);  	virtual AnimationTrackEdit *create_audio_track_edit(); diff --git a/editor/audio_stream_preview.h b/editor/audio_stream_preview.h index 3b8975e3aa..fca0aabac1 100644 --- a/editor/audio_stream_preview.h +++ b/editor/audio_stream_preview.h @@ -36,7 +36,7 @@  #include "servers/audio/audio_stream.h"  class AudioStreamPreview : public Reference { -	GDCLASS(AudioStreamPreview, Reference) +	GDCLASS(AudioStreamPreview, Reference);  	friend class AudioStream;  	Vector<uint8_t> preview;  	float length; @@ -52,7 +52,7 @@ public:  };  class AudioStreamPreviewGenerator : public Node { -	GDCLASS(AudioStreamPreviewGenerator, Node) +	GDCLASS(AudioStreamPreviewGenerator, Node);  	static AudioStreamPreviewGenerator *singleton; diff --git a/editor/create_dialog.h b/editor/create_dialog.h index 03c4b25f5c..0eddbc3ceb 100644 --- a/editor/create_dialog.h +++ b/editor/create_dialog.h @@ -44,7 +44,7 @@  class CreateDialog : public ConfirmationDialog { -	GDCLASS(CreateDialog, ConfirmationDialog) +	GDCLASS(CreateDialog, ConfirmationDialog);  	Vector<String> favorite_list;  	Tree *favorites; diff --git a/editor/editor_audio_buses.h b/editor/editor_audio_buses.h index 20890fd3b5..8781e6ff6c 100644 --- a/editor/editor_audio_buses.h +++ b/editor/editor_audio_buses.h @@ -52,7 +52,7 @@ class EditorAudioBuses;  class EditorAudioBus : public PanelContainer { -	GDCLASS(EditorAudioBus, PanelContainer) +	GDCLASS(EditorAudioBus, PanelContainer);  	Ref<Texture> disabled_vu;  	LineEdit *track_name; @@ -155,7 +155,7 @@ public:  class EditorAudioBuses : public VBoxContainer { -	GDCLASS(EditorAudioBuses, VBoxContainer) +	GDCLASS(EditorAudioBuses, VBoxContainer);  	HBoxContainer *top_hb; diff --git a/editor/editor_export.h b/editor/editor_export.h index bd864c528c..7c01abe0e9 100644 --- a/editor/editor_export.h +++ b/editor/editor_export.h @@ -44,7 +44,8 @@ struct EditorProgress;  class EditorExportPreset : public Reference { -	GDCLASS(EditorExportPreset, Reference) +	GDCLASS(EditorExportPreset, Reference); +  public:  	enum ExportFilter {  		EXPORT_ALL_RESOURCES, @@ -152,7 +153,7 @@ struct SharedObject {  class EditorExportPlatform : public Reference { -	GDCLASS(EditorExportPlatform, Reference) +	GDCLASS(EditorExportPlatform, Reference);  public:  	typedef Error (*EditorExportSaveFunction)(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total); @@ -272,7 +273,7 @@ public:  };  class EditorExportPlugin : public Reference { -	GDCLASS(EditorExportPlugin, Reference) +	GDCLASS(EditorExportPlugin, Reference);  	friend class EditorExportPlatform; @@ -388,7 +389,7 @@ public:  class EditorExportPlatformPC : public EditorExportPlatform { -	GDCLASS(EditorExportPlatformPC, EditorExportPlatform) +	GDCLASS(EditorExportPlatformPC, EditorExportPlatform);  	Ref<ImageTexture> logo;  	String name; @@ -440,7 +441,7 @@ public:  class EditorExportTextSceneToBinaryPlugin : public EditorExportPlugin { -	GDCLASS(EditorExportTextSceneToBinaryPlugin, EditorExportPlugin) +	GDCLASS(EditorExportTextSceneToBinaryPlugin, EditorExportPlugin);  public:  	virtual void _export_file(const String &p_path, const String &p_type, const Set<String> &p_features); diff --git a/editor/editor_inspector.h b/editor/editor_inspector.h index 494e8b5833..0550509ba2 100644 --- a/editor/editor_inspector.h +++ b/editor/editor_inspector.h @@ -48,7 +48,8 @@ public:  class EditorProperty : public Container { -	GDCLASS(EditorProperty, Container) +	GDCLASS(EditorProperty, Container); +  private:  	String label;  	int text_size; @@ -167,7 +168,7 @@ public:  };  class EditorInspectorPlugin : public Reference { -	GDCLASS(EditorInspectorPlugin, Reference) +	GDCLASS(EditorInspectorPlugin, Reference);  	friend class EditorInspector;  	struct AddedEditor { diff --git a/editor/editor_plugin.h b/editor/editor_plugin.h index c28e607c89..0d700cd9b6 100644 --- a/editor/editor_plugin.h +++ b/editor/editor_plugin.h @@ -60,7 +60,8 @@ class EditorToolAddons;  class ScriptEditor;  class EditorInterface : public Node { -	GDCLASS(EditorInterface, Node) +	GDCLASS(EditorInterface, Node); +  protected:  	static void _bind_methods();  	static EditorInterface *singleton; diff --git a/editor/editor_profiler.h b/editor/editor_profiler.h index e62213887d..46c13d257a 100644 --- a/editor/editor_profiler.h +++ b/editor/editor_profiler.h @@ -42,7 +42,7 @@  class EditorProfiler : public VBoxContainer { -	GDCLASS(EditorProfiler, VBoxContainer) +	GDCLASS(EditorProfiler, VBoxContainer);  public:  	struct Metric { diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index 45acd1b6d4..d5f4d54e5c 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -599,7 +599,8 @@ EditorPropertyFlags::EditorPropertyFlags() {  ///////////////////// LAYERS /////////////////////////  class EditorPropertyLayersGrid : public Control { -	GDCLASS(EditorPropertyLayersGrid, Control) +	GDCLASS(EditorPropertyLayersGrid, Control); +  public:  	uint32_t value;  	Vector<Rect2> flag_rects; diff --git a/editor/editor_properties.h b/editor/editor_properties.h index 574767890c..02d9349f2d 100644 --- a/editor/editor_properties.h +++ b/editor/editor_properties.h @@ -40,7 +40,7 @@  #include "scene/gui/color_picker.h"  class EditorPropertyNil : public EditorProperty { -	GDCLASS(EditorPropertyNil, EditorProperty) +	GDCLASS(EditorPropertyNil, EditorProperty);  	LineEdit *text;  public: @@ -49,7 +49,7 @@ public:  };  class EditorPropertyText : public EditorProperty { -	GDCLASS(EditorPropertyText, EditorProperty) +	GDCLASS(EditorPropertyText, EditorProperty);  	LineEdit *text;  	bool updating; @@ -66,7 +66,7 @@ public:  };  class EditorPropertyMultilineText : public EditorProperty { -	GDCLASS(EditorPropertyMultilineText, EditorProperty) +	GDCLASS(EditorPropertyMultilineText, EditorProperty);  	TextEdit *text;  	AcceptDialog *big_text_dialog; @@ -87,7 +87,7 @@ public:  };  class EditorPropertyTextEnum : public EditorProperty { -	GDCLASS(EditorPropertyTextEnum, EditorProperty) +	GDCLASS(EditorPropertyTextEnum, EditorProperty);  	OptionButton *options;  	void _option_selected(int p_which); @@ -102,7 +102,7 @@ public:  };  class EditorPropertyPath : public EditorProperty { -	GDCLASS(EditorPropertyPath, EditorProperty) +	GDCLASS(EditorPropertyPath, EditorProperty);  	Vector<String> extensions;  	bool folder;  	bool global; @@ -127,7 +127,8 @@ public:  };  class EditorPropertyClassName : public EditorProperty { -	GDCLASS(EditorPropertyClassName, EditorProperty) +	GDCLASS(EditorPropertyClassName, EditorProperty); +  private:  	CreateDialog *dialog;  	Button *property; @@ -146,7 +147,8 @@ public:  };  class EditorPropertyMember : public EditorProperty { -	GDCLASS(EditorPropertyMember, EditorProperty) +	GDCLASS(EditorPropertyMember, EditorProperty); +  public:  	enum Type {  		MEMBER_METHOD_OF_VARIANT_TYPE, ///< a method of a type @@ -179,7 +181,7 @@ public:  };  class EditorPropertyCheck : public EditorProperty { -	GDCLASS(EditorPropertyCheck, EditorProperty) +	GDCLASS(EditorPropertyCheck, EditorProperty);  	CheckBox *checkbox;  	void _checkbox_pressed(); @@ -193,7 +195,7 @@ public:  };  class EditorPropertyEnum : public EditorProperty { -	GDCLASS(EditorPropertyEnum, EditorProperty) +	GDCLASS(EditorPropertyEnum, EditorProperty);  	OptionButton *options;  	void _option_selected(int p_which); @@ -209,7 +211,7 @@ public:  };  class EditorPropertyFlags : public EditorProperty { -	GDCLASS(EditorPropertyFlags, EditorProperty) +	GDCLASS(EditorPropertyFlags, EditorProperty);  	VBoxContainer *vbox;  	Vector<CheckBox *> flags;  	Vector<int> flag_indices; @@ -228,7 +230,8 @@ public:  class EditorPropertyLayersGrid;  class EditorPropertyLayers : public EditorProperty { -	GDCLASS(EditorPropertyLayers, EditorProperty) +	GDCLASS(EditorPropertyLayers, EditorProperty); +  public:  	enum LayerType {  		LAYER_PHYSICS_2D, @@ -257,7 +260,7 @@ public:  };  class EditorPropertyInteger : public EditorProperty { -	GDCLASS(EditorPropertyInteger, EditorProperty) +	GDCLASS(EditorPropertyInteger, EditorProperty);  	EditorSpinSlider *spin;  	bool setting;  	void _value_changed(double p_val); @@ -272,7 +275,7 @@ public:  };  class EditorPropertyObjectID : public EditorProperty { -	GDCLASS(EditorPropertyObjectID, EditorProperty) +	GDCLASS(EditorPropertyObjectID, EditorProperty);  	Button *edit;  	String base_type;  	void _edit_pressed(); @@ -287,7 +290,7 @@ public:  };  class EditorPropertyFloat : public EditorProperty { -	GDCLASS(EditorPropertyFloat, EditorProperty) +	GDCLASS(EditorPropertyFloat, EditorProperty);  	EditorSpinSlider *spin;  	bool setting;  	void _value_changed(double p_val); @@ -302,7 +305,7 @@ public:  };  class EditorPropertyEasing : public EditorProperty { -	GDCLASS(EditorPropertyEasing, EditorProperty) +	GDCLASS(EditorPropertyEasing, EditorProperty);  	Control *easing_draw;  	PopupMenu *preset;  	bool full; @@ -335,7 +338,7 @@ public:  };  class EditorPropertyVector2 : public EditorProperty { -	GDCLASS(EditorPropertyVector2, EditorProperty) +	GDCLASS(EditorPropertyVector2, EditorProperty);  	EditorSpinSlider *spin[2];  	bool setting;  	void _value_changed(double p_val, const String &p_name); @@ -351,7 +354,7 @@ public:  };  class EditorPropertyRect2 : public EditorProperty { -	GDCLASS(EditorPropertyRect2, EditorProperty) +	GDCLASS(EditorPropertyRect2, EditorProperty);  	EditorSpinSlider *spin[4];  	bool setting;  	void _value_changed(double p_val, const String &p_name); @@ -367,7 +370,7 @@ public:  };  class EditorPropertyVector3 : public EditorProperty { -	GDCLASS(EditorPropertyVector3, EditorProperty) +	GDCLASS(EditorPropertyVector3, EditorProperty);  	EditorSpinSlider *spin[3];  	bool setting;  	void _value_changed(double p_val, const String &p_name); @@ -383,7 +386,7 @@ public:  };  class EditorPropertyPlane : public EditorProperty { -	GDCLASS(EditorPropertyPlane, EditorProperty) +	GDCLASS(EditorPropertyPlane, EditorProperty);  	EditorSpinSlider *spin[4];  	bool setting;  	void _value_changed(double p_val, const String &p_name); @@ -399,7 +402,7 @@ public:  };  class EditorPropertyQuat : public EditorProperty { -	GDCLASS(EditorPropertyQuat, EditorProperty) +	GDCLASS(EditorPropertyQuat, EditorProperty);  	EditorSpinSlider *spin[4];  	bool setting;  	void _value_changed(double p_val, const String &p_name); @@ -415,7 +418,7 @@ public:  };  class EditorPropertyAABB : public EditorProperty { -	GDCLASS(EditorPropertyAABB, EditorProperty) +	GDCLASS(EditorPropertyAABB, EditorProperty);  	EditorSpinSlider *spin[6];  	bool setting;  	void _value_changed(double p_val, const String &p_name); @@ -431,7 +434,7 @@ public:  };  class EditorPropertyTransform2D : public EditorProperty { -	GDCLASS(EditorPropertyTransform2D, EditorProperty) +	GDCLASS(EditorPropertyTransform2D, EditorProperty);  	EditorSpinSlider *spin[6];  	bool setting;  	void _value_changed(double p_val, const String &p_name); @@ -447,7 +450,7 @@ public:  };  class EditorPropertyBasis : public EditorProperty { -	GDCLASS(EditorPropertyBasis, EditorProperty) +	GDCLASS(EditorPropertyBasis, EditorProperty);  	EditorSpinSlider *spin[9];  	bool setting;  	void _value_changed(double p_val, const String &p_name); @@ -463,7 +466,7 @@ public:  };  class EditorPropertyTransform : public EditorProperty { -	GDCLASS(EditorPropertyTransform, EditorProperty) +	GDCLASS(EditorPropertyTransform, EditorProperty);  	EditorSpinSlider *spin[12];  	bool setting;  	void _value_changed(double p_val, const String &p_name); @@ -479,7 +482,7 @@ public:  };  class EditorPropertyColor : public EditorProperty { -	GDCLASS(EditorPropertyColor, EditorProperty) +	GDCLASS(EditorPropertyColor, EditorProperty);  	ColorPickerButton *picker;  	void _color_changed(const Color &p_color);  	void _popup_closed(); @@ -494,7 +497,7 @@ public:  };  class EditorPropertyNodePath : public EditorProperty { -	GDCLASS(EditorPropertyNodePath, EditorProperty) +	GDCLASS(EditorPropertyNodePath, EditorProperty);  	Button *assign;  	Button *clear;  	SceneTreeDialog *scene_tree; @@ -517,7 +520,7 @@ public:  };  class EditorPropertyRID : public EditorProperty { -	GDCLASS(EditorPropertyRID, EditorProperty) +	GDCLASS(EditorPropertyRID, EditorProperty);  	Label *label;  public: @@ -526,7 +529,7 @@ public:  };  class EditorPropertyResource : public EditorProperty { -	GDCLASS(EditorPropertyResource, EditorProperty) +	GDCLASS(EditorPropertyResource, EditorProperty);  	enum MenuOption { @@ -605,7 +608,7 @@ public:  /// \brief The EditorInspectorDefaultPlugin class  ///  class EditorInspectorDefaultPlugin : public EditorInspectorPlugin { -	GDCLASS(EditorInspectorDefaultPlugin, EditorInspectorPlugin) +	GDCLASS(EditorInspectorDefaultPlugin, EditorInspectorPlugin);  public:  	virtual bool can_handle(Object *p_object); diff --git a/editor/editor_properties_array_dict.h b/editor/editor_properties_array_dict.h index ff759105c3..18519c754a 100644 --- a/editor/editor_properties_array_dict.h +++ b/editor/editor_properties_array_dict.h @@ -78,7 +78,7 @@ public:  };  class EditorPropertyArray : public EditorProperty { -	GDCLASS(EditorPropertyArray, EditorProperty) +	GDCLASS(EditorPropertyArray, EditorProperty);  	PopupMenu *change_type;  	bool updating; @@ -117,7 +117,7 @@ public:  };  class EditorPropertyDictionary : public EditorProperty { -	GDCLASS(EditorPropertyDictionary, EditorProperty) +	GDCLASS(EditorPropertyDictionary, EditorProperty);  	PopupMenu *change_type;  	bool updating; diff --git a/editor/editor_spin_slider.h b/editor/editor_spin_slider.h index ceff878e7f..1523c20f48 100644 --- a/editor/editor_spin_slider.h +++ b/editor/editor_spin_slider.h @@ -36,7 +36,7 @@  #include "scene/gui/texture_rect.h"  class EditorSpinSlider : public Range { -	GDCLASS(EditorSpinSlider, Range) +	GDCLASS(EditorSpinSlider, Range);  	String label;  	int updown_offset; diff --git a/editor/export_template_manager.h b/editor/export_template_manager.h index 608830c990..ad3ab507b3 100644 --- a/editor/export_template_manager.h +++ b/editor/export_template_manager.h @@ -41,7 +41,7 @@  class ExportTemplateVersion;  class ExportTemplateManager : public ConfirmationDialog { -	GDCLASS(ExportTemplateManager, ConfirmationDialog) +	GDCLASS(ExportTemplateManager, ConfirmationDialog);  	AcceptDialog *template_downloader;  	VBoxContainer *template_list; diff --git a/editor/find_in_files.h b/editor/find_in_files.h index 5f728a104b..178b9a2080 100644 --- a/editor/find_in_files.h +++ b/editor/find_in_files.h @@ -36,7 +36,8 @@  // Performs the actual search  class FindInFiles : public Node { -	GDCLASS(FindInFiles, Node) +	GDCLASS(FindInFiles, Node); +  public:  	static const char *SIGNAL_RESULT_FOUND;  	static const char *SIGNAL_FINISHED; @@ -93,7 +94,8 @@ class HBoxContainer;  // Prompts search parameters  class FindInFilesDialog : public AcceptDialog { -	GDCLASS(FindInFilesDialog, AcceptDialog) +	GDCLASS(FindInFilesDialog, AcceptDialog); +  public:  	static const char *SIGNAL_FIND_REQUESTED;  	static const char *SIGNAL_REPLACE_REQUESTED; @@ -138,7 +140,8 @@ class ProgressBar;  // Display search results  class FindInFilesPanel : public Control { -	GDCLASS(FindInFilesPanel, Control) +	GDCLASS(FindInFilesPanel, Control); +  public:  	static const char *SIGNAL_RESULT_SELECTED;  	static const char *SIGNAL_FILES_MODIFIED; diff --git a/editor/import/editor_import_plugin.h b/editor/import/editor_import_plugin.h index d396dd6d5b..b3eb7ae83b 100644 --- a/editor/import/editor_import_plugin.h +++ b/editor/import/editor_import_plugin.h @@ -34,7 +34,8 @@  #include "core/io/resource_importer.h"  class EditorImportPlugin : public ResourceImporter { -	GDCLASS(EditorImportPlugin, Reference) +	GDCLASS(EditorImportPlugin, Reference); +  protected:  	static void _bind_methods(); diff --git a/editor/import/resource_importer_bitmask.h b/editor/import/resource_importer_bitmask.h index 166fa998e4..6ae7608ff2 100644 --- a/editor/import/resource_importer_bitmask.h +++ b/editor/import/resource_importer_bitmask.h @@ -37,7 +37,7 @@  class StreamBitMap;  class ResourceImporterBitMap : public ResourceImporter { -	GDCLASS(ResourceImporterBitMap, ResourceImporter) +	GDCLASS(ResourceImporterBitMap, ResourceImporter);  public:  	virtual String get_importer_name() const; diff --git a/editor/import/resource_importer_csv_translation.h b/editor/import/resource_importer_csv_translation.h index 6785b68d87..c2753b326f 100644 --- a/editor/import/resource_importer_csv_translation.h +++ b/editor/import/resource_importer_csv_translation.h @@ -34,7 +34,8 @@  #include "core/io/resource_importer.h"  class ResourceImporterCSVTranslation : public ResourceImporter { -	GDCLASS(ResourceImporterCSVTranslation, ResourceImporter) +	GDCLASS(ResourceImporterCSVTranslation, ResourceImporter); +  public:  	virtual String get_importer_name() const;  	virtual String get_visible_name() const; diff --git a/editor/import/resource_importer_image.h b/editor/import/resource_importer_image.h index 3d5b99db2c..beadf5a8ea 100644 --- a/editor/import/resource_importer_image.h +++ b/editor/import/resource_importer_image.h @@ -35,7 +35,8 @@  #include "core/io/resource_importer.h"  class ResourceImporterImage : public ResourceImporter { -	GDCLASS(ResourceImporterImage, ResourceImporter) +	GDCLASS(ResourceImporterImage, ResourceImporter); +  public:  	virtual String get_importer_name() const;  	virtual String get_visible_name() const; diff --git a/editor/import/resource_importer_layered_texture.h b/editor/import/resource_importer_layered_texture.h index 6b393886b7..d6acbbabca 100644 --- a/editor/import/resource_importer_layered_texture.h +++ b/editor/import/resource_importer_layered_texture.h @@ -37,7 +37,7 @@  class StreamTexture;  class ResourceImporterLayeredTexture : public ResourceImporter { -	GDCLASS(ResourceImporterLayeredTexture, ResourceImporter) +	GDCLASS(ResourceImporterLayeredTexture, ResourceImporter);  	bool is_3d;  	static const char *compression_formats[]; diff --git a/editor/import/resource_importer_obj.h b/editor/import/resource_importer_obj.h index b2a53f582c..b96bc1b656 100644 --- a/editor/import/resource_importer_obj.h +++ b/editor/import/resource_importer_obj.h @@ -47,7 +47,8 @@ public:  };  class ResourceImporterOBJ : public ResourceImporter { -	GDCLASS(ResourceImporterOBJ, ResourceImporter) +	GDCLASS(ResourceImporterOBJ, ResourceImporter); +  public:  	virtual String get_importer_name() const;  	virtual String get_visible_name() const; diff --git a/editor/import/resource_importer_scene.h b/editor/import/resource_importer_scene.h index b10c4da2e5..e89f862c1b 100644 --- a/editor/import/resource_importer_scene.h +++ b/editor/import/resource_importer_scene.h @@ -90,7 +90,7 @@ public:  };  class ResourceImporterScene : public ResourceImporter { -	GDCLASS(ResourceImporterScene, ResourceImporter) +	GDCLASS(ResourceImporterScene, ResourceImporter);  	Set<Ref<EditorSceneImporter> > importers; diff --git a/editor/import/resource_importer_texture.h b/editor/import/resource_importer_texture.h index ef74e4e41e..da712bf84d 100644 --- a/editor/import/resource_importer_texture.h +++ b/editor/import/resource_importer_texture.h @@ -37,7 +37,7 @@  class StreamTexture;  class ResourceImporterTexture : public ResourceImporter { -	GDCLASS(ResourceImporterTexture, ResourceImporter) +	GDCLASS(ResourceImporterTexture, ResourceImporter);  protected:  	enum { diff --git a/editor/import/resource_importer_texture_atlas.h b/editor/import/resource_importer_texture_atlas.h index 042deacfe3..3c6fc343c4 100644 --- a/editor/import/resource_importer_texture_atlas.h +++ b/editor/import/resource_importer_texture_atlas.h @@ -34,7 +34,7 @@  #include "core/image.h"  #include "core/io/resource_importer.h"  class ResourceImporterTextureAtlas : public ResourceImporter { -	GDCLASS(ResourceImporterTextureAtlas, ResourceImporter) +	GDCLASS(ResourceImporterTextureAtlas, ResourceImporter);  	struct PackData {  		Rect2 region; diff --git a/editor/import/resource_importer_wav.h b/editor/import/resource_importer_wav.h index f993f9e7bc..24481ea46b 100644 --- a/editor/import/resource_importer_wav.h +++ b/editor/import/resource_importer_wav.h @@ -34,7 +34,8 @@  #include "core/io/resource_importer.h"  class ResourceImporterWAV : public ResourceImporter { -	GDCLASS(ResourceImporterWAV, ResourceImporter) +	GDCLASS(ResourceImporterWAV, ResourceImporter); +  public:  	virtual String get_importer_name() const;  	virtual String get_visible_name() const; diff --git a/editor/import_dock.cpp b/editor/import_dock.cpp index b307ec649a..6918fe7977 100644 --- a/editor/import_dock.cpp +++ b/editor/import_dock.cpp @@ -32,7 +32,8 @@  #include "editor_node.h"  class ImportDockParameters : public Object { -	GDCLASS(ImportDockParameters, Object) +	GDCLASS(ImportDockParameters, Object); +  public:  	Map<StringName, Variant> values;  	List<PropertyInfo> properties; diff --git a/editor/import_dock.h b/editor/import_dock.h index 77a34e80eb..c839e19d67 100644 --- a/editor/import_dock.h +++ b/editor/import_dock.h @@ -43,7 +43,7 @@  class ImportDockParameters;  class ImportDock : public VBoxContainer { -	GDCLASS(ImportDock, VBoxContainer) +	GDCLASS(ImportDock, VBoxContainer);  	Label *imported;  	OptionButton *import_as; diff --git a/editor/pane_drag.h b/editor/pane_drag.h index c9631bb870..36c5953d84 100644 --- a/editor/pane_drag.h +++ b/editor/pane_drag.h @@ -35,7 +35,7 @@  class PaneDrag : public Control { -	GDCLASS(PaneDrag, Control) +	GDCLASS(PaneDrag, Control);  	bool mouse_over; diff --git a/editor/plugins/animation_blend_space_1d_editor.h b/editor/plugins/animation_blend_space_1d_editor.h index ae4db184e4..4a924b46c1 100644 --- a/editor/plugins/animation_blend_space_1d_editor.h +++ b/editor/plugins/animation_blend_space_1d_editor.h @@ -43,7 +43,7 @@  class AnimationNodeBlendSpace1DEditor : public AnimationTreeNodeEditorPlugin { -	GDCLASS(AnimationNodeBlendSpace1DEditor, AnimationTreeNodeEditorPlugin) +	GDCLASS(AnimationNodeBlendSpace1DEditor, AnimationTreeNodeEditorPlugin);  	Ref<AnimationNodeBlendSpace1D> blend_space; diff --git a/editor/plugins/animation_tree_editor_plugin.h b/editor/plugins/animation_tree_editor_plugin.h index 4a7f933bbf..4ecbf2e05e 100644 --- a/editor/plugins/animation_tree_editor_plugin.h +++ b/editor/plugins/animation_tree_editor_plugin.h @@ -41,7 +41,8 @@  #include "scene/gui/tree.h"  class AnimationTreeNodeEditorPlugin : public VBoxContainer { -	GDCLASS(AnimationTreeNodeEditorPlugin, VBoxContainer) +	GDCLASS(AnimationTreeNodeEditorPlugin, VBoxContainer); +  public:  	virtual bool can_edit(const Ref<AnimationNode> &p_node) = 0;  	virtual void edit(const Ref<AnimationNode> &p_node) = 0; diff --git a/editor/plugins/curve_editor_plugin.h b/editor/plugins/curve_editor_plugin.h index b034368b6a..be774a9696 100644 --- a/editor/plugins/curve_editor_plugin.h +++ b/editor/plugins/curve_editor_plugin.h @@ -37,7 +37,8 @@  // Edits a y(x) curve  class CurveEditor : public Control { -	GDCLASS(CurveEditor, Control) +	GDCLASS(CurveEditor, Control); +  public:  	CurveEditor(); @@ -120,14 +121,16 @@ private:  };  class EditorInspectorPluginCurve : public EditorInspectorPlugin { -	GDCLASS(EditorInspectorPluginCurve, EditorInspectorPlugin) +	GDCLASS(EditorInspectorPluginCurve, EditorInspectorPlugin); +  public:  	virtual bool can_handle(Object *p_object);  	virtual void parse_begin(Object *p_object);  };  class CurveEditorPlugin : public EditorPlugin { -	GDCLASS(CurveEditorPlugin, EditorPlugin) +	GDCLASS(CurveEditorPlugin, EditorPlugin); +  public:  	CurveEditorPlugin(EditorNode *p_node); @@ -135,7 +138,8 @@ public:  };  class CurvePreviewGenerator : public EditorResourcePreviewGenerator { -	GDCLASS(CurvePreviewGenerator, EditorResourcePreviewGenerator) +	GDCLASS(CurvePreviewGenerator, EditorResourcePreviewGenerator); +  public:  	virtual bool handles(const String &p_type) const;  	virtual Ref<Texture> generate(const Ref<Resource> &p_from, const Size2 p_size) const; diff --git a/editor/plugins/editor_preview_plugins.h b/editor/plugins/editor_preview_plugins.h index 16b1f3082b..12d693b10a 100644 --- a/editor/plugins/editor_preview_plugins.h +++ b/editor/plugins/editor_preview_plugins.h @@ -36,7 +36,8 @@  void post_process_preview(Ref<Image> p_image);  class EditorTexturePreviewPlugin : public EditorResourcePreviewGenerator { -	GDCLASS(EditorTexturePreviewPlugin, EditorResourcePreviewGenerator) +	GDCLASS(EditorTexturePreviewPlugin, EditorResourcePreviewGenerator); +  public:  	virtual bool handles(const String &p_type) const;  	virtual bool generate_small_preview_automatically() const; @@ -46,7 +47,8 @@ public:  };  class EditorImagePreviewPlugin : public EditorResourcePreviewGenerator { -	GDCLASS(EditorImagePreviewPlugin, EditorResourcePreviewGenerator) +	GDCLASS(EditorImagePreviewPlugin, EditorResourcePreviewGenerator); +  public:  	virtual bool handles(const String &p_type) const;  	virtual bool generate_small_preview_automatically() const; @@ -56,7 +58,8 @@ public:  };  class EditorBitmapPreviewPlugin : public EditorResourcePreviewGenerator { -	GDCLASS(EditorBitmapPreviewPlugin, EditorResourcePreviewGenerator) +	GDCLASS(EditorBitmapPreviewPlugin, EditorResourcePreviewGenerator); +  public:  	virtual bool handles(const String &p_type) const;  	virtual bool generate_small_preview_automatically() const; @@ -77,7 +80,7 @@ public:  class EditorMaterialPreviewPlugin : public EditorResourcePreviewGenerator { -	GDCLASS(EditorMaterialPreviewPlugin, EditorResourcePreviewGenerator) +	GDCLASS(EditorMaterialPreviewPlugin, EditorResourcePreviewGenerator);  	RID scenario;  	RID sphere; @@ -123,7 +126,7 @@ public:  class EditorMeshPreviewPlugin : public EditorResourcePreviewGenerator { -	GDCLASS(EditorMeshPreviewPlugin, EditorResourcePreviewGenerator) +	GDCLASS(EditorMeshPreviewPlugin, EditorResourcePreviewGenerator);  	RID scenario;  	RID mesh_instance; @@ -151,7 +154,7 @@ public:  class EditorFontPreviewPlugin : public EditorResourcePreviewGenerator { -	GDCLASS(EditorFontPreviewPlugin, EditorResourcePreviewGenerator) +	GDCLASS(EditorFontPreviewPlugin, EditorResourcePreviewGenerator);  	RID viewport;  	RID viewport_texture; diff --git a/editor/plugins/gradient_editor_plugin.h b/editor/plugins/gradient_editor_plugin.h index 91790abee8..a87a5fe0ba 100644 --- a/editor/plugins/gradient_editor_plugin.h +++ b/editor/plugins/gradient_editor_plugin.h @@ -36,7 +36,7 @@  #include "scene/gui/gradient_edit.h"  class GradientEditor : public GradientEdit { -	GDCLASS(GradientEditor, GradientEdit) +	GDCLASS(GradientEditor, GradientEdit);  	bool editing;  	Ref<Gradient> gradient; @@ -54,7 +54,8 @@ public:  };  class EditorInspectorPluginGradient : public EditorInspectorPlugin { -	GDCLASS(EditorInspectorPluginGradient, EditorInspectorPlugin) +	GDCLASS(EditorInspectorPluginGradient, EditorInspectorPlugin); +  public:  	virtual bool can_handle(Object *p_object);  	virtual void parse_begin(Object *p_object); diff --git a/editor/plugins/material_editor_plugin.h b/editor/plugins/material_editor_plugin.h index c3f14c27e5..1405127ab3 100644 --- a/editor/plugins/material_editor_plugin.h +++ b/editor/plugins/material_editor_plugin.h @@ -78,7 +78,7 @@ public:  };  class EditorInspectorPluginMaterial : public EditorInspectorPlugin { -	GDCLASS(EditorInspectorPluginMaterial, EditorInspectorPlugin) +	GDCLASS(EditorInspectorPluginMaterial, EditorInspectorPlugin);  	Ref<Environment> env;  public: @@ -99,7 +99,8 @@ public:  };  class SpatialMaterialConversionPlugin : public EditorResourceConversionPlugin { -	GDCLASS(SpatialMaterialConversionPlugin, EditorResourceConversionPlugin) +	GDCLASS(SpatialMaterialConversionPlugin, EditorResourceConversionPlugin); +  public:  	virtual String converts_to() const;  	virtual bool handles(const Ref<Resource> &p_resource) const; @@ -107,7 +108,8 @@ public:  };  class ParticlesMaterialConversionPlugin : public EditorResourceConversionPlugin { -	GDCLASS(ParticlesMaterialConversionPlugin, EditorResourceConversionPlugin) +	GDCLASS(ParticlesMaterialConversionPlugin, EditorResourceConversionPlugin); +  public:  	virtual String converts_to() const;  	virtual bool handles(const Ref<Resource> &p_resource) const; @@ -115,7 +117,8 @@ public:  };  class CanvasItemMaterialConversionPlugin : public EditorResourceConversionPlugin { -	GDCLASS(CanvasItemMaterialConversionPlugin, EditorResourceConversionPlugin) +	GDCLASS(CanvasItemMaterialConversionPlugin, EditorResourceConversionPlugin); +  public:  	virtual String converts_to() const;  	virtual bool handles(const Ref<Resource> &p_resource) const; diff --git a/editor/plugins/mesh_editor_plugin.h b/editor/plugins/mesh_editor_plugin.h index 8ada2dac90..4c2a81ed70 100644 --- a/editor/plugins/mesh_editor_plugin.h +++ b/editor/plugins/mesh_editor_plugin.h @@ -73,7 +73,8 @@ public:  };  class EditorInspectorPluginMesh : public EditorInspectorPlugin { -	GDCLASS(EditorInspectorPluginMesh, EditorInspectorPlugin) +	GDCLASS(EditorInspectorPluginMesh, EditorInspectorPlugin); +  public:  	virtual bool can_handle(Object *p_object);  	virtual void parse_begin(Object *p_object); diff --git a/editor/plugins/particles_editor_plugin.h b/editor/plugins/particles_editor_plugin.h index b1b3e3c1c0..b1c53dcf94 100644 --- a/editor/plugins/particles_editor_plugin.h +++ b/editor/plugins/particles_editor_plugin.h @@ -42,7 +42,7 @@  class ParticlesEditorBase : public Control { -	GDCLASS(ParticlesEditorBase, Control) +	GDCLASS(ParticlesEditorBase, Control);  protected:  	Spatial *base_node; diff --git a/editor/plugins/root_motion_editor_plugin.h b/editor/plugins/root_motion_editor_plugin.h index e7fd597235..af5d8fc122 100644 --- a/editor/plugins/root_motion_editor_plugin.h +++ b/editor/plugins/root_motion_editor_plugin.h @@ -37,7 +37,7 @@  #include "scene/animation/animation_tree.h"  class EditorPropertyRootMotion : public EditorProperty { -	GDCLASS(EditorPropertyRootMotion, EditorProperty) +	GDCLASS(EditorPropertyRootMotion, EditorProperty);  	Button *assign;  	Button *clear;  	NodePath base_hint; @@ -60,7 +60,7 @@ public:  };  class EditorInspectorRootMotionPlugin : public EditorInspectorPlugin { -	GDCLASS(EditorInspectorRootMotionPlugin, EditorInspectorPlugin) +	GDCLASS(EditorInspectorRootMotionPlugin, EditorInspectorPlugin);  public:  	virtual bool can_handle(Object *p_object); diff --git a/editor/plugins/script_editor_plugin.h b/editor/plugins/script_editor_plugin.h index 0d9168261a..4ad2156779 100644 --- a/editor/plugins/script_editor_plugin.h +++ b/editor/plugins/script_editor_plugin.h @@ -50,7 +50,7 @@  class ScriptEditorQuickOpen : public ConfirmationDialog { -	GDCLASS(ScriptEditorQuickOpen, ConfirmationDialog) +	GDCLASS(ScriptEditorQuickOpen, ConfirmationDialog);  	LineEdit *search_box;  	Tree *search_options; @@ -77,7 +77,7 @@ class ScriptEditorDebugger;  class ScriptEditorBase : public VBoxContainer { -	GDCLASS(ScriptEditorBase, VBoxContainer) +	GDCLASS(ScriptEditorBase, VBoxContainer);  protected:  	static void _bind_methods(); diff --git a/editor/plugins/spatial_editor_plugin.h b/editor/plugins/spatial_editor_plugin.h index ebaa930eb0..701b9e8144 100644 --- a/editor/plugins/spatial_editor_plugin.h +++ b/editor/plugins/spatial_editor_plugin.h @@ -431,7 +431,8 @@ public:  class SpatialEditorViewportContainer : public Container { -	GDCLASS(SpatialEditorViewportContainer, Container) +	GDCLASS(SpatialEditorViewportContainer, Container); +  public:  	enum View {  		VIEW_USE_1_VIEWPORT, diff --git a/editor/plugins/style_box_editor_plugin.h b/editor/plugins/style_box_editor_plugin.h index 95d21b2c44..d31a28b3e4 100644 --- a/editor/plugins/style_box_editor_plugin.h +++ b/editor/plugins/style_box_editor_plugin.h @@ -56,7 +56,8 @@ public:  };  class EditorInspectorPluginStyleBox : public EditorInspectorPlugin { -	GDCLASS(EditorInspectorPluginStyleBox, EditorInspectorPlugin) +	GDCLASS(EditorInspectorPluginStyleBox, EditorInspectorPlugin); +  public:  	virtual bool can_handle(Object *p_object);  	virtual void parse_begin(Object *p_object); diff --git a/editor/plugins/text_editor.h b/editor/plugins/text_editor.h index e91909e0ea..277e93fd39 100644 --- a/editor/plugins/text_editor.h +++ b/editor/plugins/text_editor.h @@ -35,7 +35,7 @@  class TextEditor : public ScriptEditorBase { -	GDCLASS(TextEditor, ScriptEditorBase) +	GDCLASS(TextEditor, ScriptEditorBase);  private:  	CodeTextEditor *code_editor; diff --git a/editor/plugins/texture_editor_plugin.h b/editor/plugins/texture_editor_plugin.h index bcbda1fbd7..ed25783303 100644 --- a/editor/plugins/texture_editor_plugin.h +++ b/editor/plugins/texture_editor_plugin.h @@ -54,7 +54,8 @@ public:  };  class EditorInspectorPluginTexture : public EditorInspectorPlugin { -	GDCLASS(EditorInspectorPluginTexture, EditorInspectorPlugin) +	GDCLASS(EditorInspectorPluginTexture, EditorInspectorPlugin); +  public:  	virtual bool can_handle(Object *p_object);  	virtual void parse_begin(Object *p_object); diff --git a/editor/plugins/tile_set_editor_plugin.h b/editor/plugins/tile_set_editor_plugin.h index 1176e1bb92..b417414ae0 100644 --- a/editor/plugins/tile_set_editor_plugin.h +++ b/editor/plugins/tile_set_editor_plugin.h @@ -46,7 +46,7 @@ class TileSetEditor : public HSplitContainer {  	friend class TileSetEditorPlugin;  	friend class TilesetEditorContext; -	GDCLASS(TileSetEditor, HSplitContainer) +	GDCLASS(TileSetEditor, HSplitContainer);  	enum TextureToolButtons {  		TOOL_TILESET_ADD_TEXTURE, diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp index a1b903576e..7d0c67b5ed 100644 --- a/editor/plugins/visual_shader_editor_plugin.cpp +++ b/editor/plugins/visual_shader_editor_plugin.cpp @@ -2350,7 +2350,7 @@ VisualShaderEditorPlugin::~VisualShaderEditorPlugin() {  ////////////////  class VisualShaderNodePluginInputEditor : public OptionButton { -	GDCLASS(VisualShaderNodePluginInputEditor, OptionButton) +	GDCLASS(VisualShaderNodePluginInputEditor, OptionButton);  	Ref<VisualShaderNodeInput> input; @@ -2395,7 +2395,8 @@ public:  };  class VisualShaderNodePluginDefaultEditor : public VBoxContainer { -	GDCLASS(VisualShaderNodePluginDefaultEditor, VBoxContainer) +	GDCLASS(VisualShaderNodePluginDefaultEditor, VBoxContainer); +  public:  	void _property_changed(const String &prop, const Variant &p_value, const String &p_field, bool p_changing = false) { diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h index 1b009b61d5..567706b808 100644 --- a/editor/plugins/visual_shader_editor_plugin.h +++ b/editor/plugins/visual_shader_editor_plugin.h @@ -42,7 +42,8 @@  class VisualShaderNodePlugin : public Reference { -	GDCLASS(VisualShaderNodePlugin, Reference) +	GDCLASS(VisualShaderNodePlugin, Reference); +  protected:  	static void _bind_methods(); @@ -245,14 +246,14 @@ public:  class VisualShaderNodePluginDefault : public VisualShaderNodePlugin { -	GDCLASS(VisualShaderNodePluginDefault, VisualShaderNodePlugin) +	GDCLASS(VisualShaderNodePluginDefault, VisualShaderNodePlugin);  public:  	virtual Control *create_editor(const Ref<VisualShaderNode> &p_node);  };  class EditorPropertyShaderMode : public EditorProperty { -	GDCLASS(EditorPropertyShaderMode, EditorProperty) +	GDCLASS(EditorPropertyShaderMode, EditorProperty);  	OptionButton *options;  	void _option_selected(int p_which); @@ -268,7 +269,7 @@ public:  };  class EditorInspectorShaderModePlugin : public EditorInspectorPlugin { -	GDCLASS(EditorInspectorShaderModePlugin, EditorInspectorPlugin) +	GDCLASS(EditorInspectorShaderModePlugin, EditorInspectorPlugin);  public:  	virtual bool can_handle(Object *p_object); @@ -278,7 +279,7 @@ public:  };  class VisualShaderNodePortPreview : public Control { -	GDCLASS(VisualShaderNodePortPreview, Control) +	GDCLASS(VisualShaderNodePortPreview, Control);  	Ref<VisualShader> shader;  	VisualShader::Type type;  	int node; diff --git a/editor/property_editor.h b/editor/property_editor.h index 6a709d348b..a8ef1d6fc1 100644 --- a/editor/property_editor.h +++ b/editor/property_editor.h @@ -56,7 +56,7 @@ class PropertySelector;  class EditorResourceConversionPlugin : public Reference { -	GDCLASS(EditorResourceConversionPlugin, Reference) +	GDCLASS(EditorResourceConversionPlugin, Reference);  protected:  	static void _bind_methods(); diff --git a/editor/property_selector.h b/editor/property_selector.h index cc5b1d4884..a6c1ec6498 100644 --- a/editor/property_selector.h +++ b/editor/property_selector.h @@ -36,7 +36,7 @@  #include "scene/gui/rich_text_label.h"  class PropertySelector : public ConfirmationDialog { -	GDCLASS(PropertySelector, ConfirmationDialog) +	GDCLASS(PropertySelector, ConfirmationDialog);  	LineEdit *search_box;  	Tree *search_options; diff --git a/editor/quick_open.h b/editor/quick_open.h index 14d857fa1c..b6a2e50e88 100644 --- a/editor/quick_open.h +++ b/editor/quick_open.h @@ -37,7 +37,7 @@  #include "scene/gui/tree.h"  class EditorQuickOpen : public ConfirmationDialog { -	GDCLASS(EditorQuickOpen, ConfirmationDialog) +	GDCLASS(EditorQuickOpen, ConfirmationDialog);  	LineEdit *search_box;  	Tree *search_options; diff --git a/misc/ide/jetbrains/build.gradle b/misc/ide/jetbrains/build.gradle index ffcd12cd15..eb2fbc0e69 100644 --- a/misc/ide/jetbrains/build.gradle +++ b/misc/ide/jetbrains/build.gradle @@ -23,7 +23,7 @@ dependencies {  def pathToRootDir = "../../../"  // Note: Only keep the abis you support to speed up the gradle 'assemble' task. -def supportedAbis = ["armv6", "armv7", "arm64v8", "x86", "x86_64"] +def supportedAbis = ["armv7", "arm64v8", "x86", "x86_64"]  android { diff --git a/modules/bullet/bullet_physics_server.h b/modules/bullet/bullet_physics_server.h index 0b8ad53658..4c598c84f2 100644 --- a/modules/bullet/bullet_physics_server.h +++ b/modules/bullet/bullet_physics_server.h @@ -45,7 +45,7 @@  */  class BulletPhysicsServer : public PhysicsServer { -	GDCLASS(BulletPhysicsServer, PhysicsServer) +	GDCLASS(BulletPhysicsServer, PhysicsServer);  	friend class BulletPhysicsDirectSpaceState; diff --git a/modules/bullet/rigid_body_bullet.h b/modules/bullet/rigid_body_bullet.h index 1e1bea846a..2c9bdb8b0b 100644 --- a/modules/bullet/rigid_body_bullet.h +++ b/modules/bullet/rigid_body_bullet.h @@ -54,7 +54,7 @@ class BulletPhysicsDirectBodyState;  /// created by BulletPhysicsServer and is held by the "singleton" variable of this class  /// Each time something require it, the body must be set again.  class BulletPhysicsDirectBodyState : public PhysicsDirectBodyState { -	GDCLASS(BulletPhysicsDirectBodyState, PhysicsDirectBodyState) +	GDCLASS(BulletPhysicsDirectBodyState, PhysicsDirectBodyState);  	static BulletPhysicsDirectBodyState *singleton; diff --git a/modules/bullet/space_bullet.h b/modules/bullet/space_bullet.h index 6b3d65edf6..eb4a065e54 100644 --- a/modules/bullet/space_bullet.h +++ b/modules/bullet/space_bullet.h @@ -68,7 +68,8 @@ class btGjkEpaPenetrationDepthSolver;  extern ContactAddedCallback gContactAddedCallback;  class BulletPhysicsDirectSpaceState : public PhysicsDirectSpaceState { -	GDCLASS(BulletPhysicsDirectSpaceState, PhysicsDirectSpaceState) +	GDCLASS(BulletPhysicsDirectSpaceState, PhysicsDirectSpaceState); +  private:  	SpaceBullet *space; diff --git a/modules/csg/csg_gizmos.h b/modules/csg/csg_gizmos.h index 0915d05111..d38dafc936 100644 --- a/modules/csg/csg_gizmos.h +++ b/modules/csg/csg_gizmos.h @@ -55,7 +55,8 @@ public:  };  class EditorPluginCSG : public EditorPlugin { -	GDCLASS(EditorPluginCSG, EditorPlugin) +	GDCLASS(EditorPluginCSG, EditorPlugin); +  public:  	EditorPluginCSG(EditorNode *p_editor);  }; diff --git a/modules/csg/csg_shape.h b/modules/csg/csg_shape.h index 2171f27f96..553a7553c6 100644 --- a/modules/csg/csg_shape.h +++ b/modules/csg/csg_shape.h @@ -156,7 +156,8 @@ public:  VARIANT_ENUM_CAST(CSGShape::Operation)  class CSGCombiner : public CSGShape { -	GDCLASS(CSGCombiner, CSGShape) +	GDCLASS(CSGCombiner, CSGShape); +  private:  	virtual CSGBrush *_build_brush(); @@ -165,7 +166,7 @@ public:  };  class CSGPrimitive : public CSGShape { -	GDCLASS(CSGPrimitive, CSGShape) +	GDCLASS(CSGPrimitive, CSGShape);  private:  	bool invert_faces; @@ -182,7 +183,7 @@ public:  };  class CSGMesh : public CSGPrimitive { -	GDCLASS(CSGMesh, CSGPrimitive) +	GDCLASS(CSGMesh, CSGPrimitive);  	virtual CSGBrush *_build_brush(); @@ -204,7 +205,7 @@ public:  class CSGSphere : public CSGPrimitive { -	GDCLASS(CSGSphere, CSGPrimitive) +	GDCLASS(CSGSphere, CSGPrimitive);  	virtual CSGBrush *_build_brush();  	Ref<Material> material; @@ -237,7 +238,7 @@ public:  class CSGBox : public CSGPrimitive { -	GDCLASS(CSGBox, CSGPrimitive) +	GDCLASS(CSGBox, CSGPrimitive);  	virtual CSGBrush *_build_brush();  	Ref<Material> material; @@ -266,7 +267,7 @@ public:  class CSGCylinder : public CSGPrimitive { -	GDCLASS(CSGCylinder, CSGPrimitive) +	GDCLASS(CSGCylinder, CSGPrimitive);  	virtual CSGBrush *_build_brush();  	Ref<Material> material; @@ -303,7 +304,7 @@ public:  class CSGTorus : public CSGPrimitive { -	GDCLASS(CSGTorus, CSGPrimitive) +	GDCLASS(CSGTorus, CSGPrimitive);  	virtual CSGBrush *_build_brush();  	Ref<Material> material; @@ -340,7 +341,7 @@ public:  class CSGPolygon : public CSGPrimitive { -	GDCLASS(CSGPolygon, CSGPrimitive) +	GDCLASS(CSGPolygon, CSGPrimitive);  public:  	enum Mode { diff --git a/modules/enet/networked_multiplayer_enet.h b/modules/enet/networked_multiplayer_enet.h index 957d0830cb..8dcb202314 100644 --- a/modules/enet/networked_multiplayer_enet.h +++ b/modules/enet/networked_multiplayer_enet.h @@ -38,7 +38,8 @@  class NetworkedMultiplayerENet : public NetworkedMultiplayerPeer { -	GDCLASS(NetworkedMultiplayerENet, NetworkedMultiplayerPeer) +	GDCLASS(NetworkedMultiplayerENet, NetworkedMultiplayerPeer); +  public:  	enum CompressionMode {  		COMPRESS_NONE, diff --git a/modules/gdnative/arvr/arvr_interface_gdnative.h b/modules/gdnative/arvr/arvr_interface_gdnative.h index e0e5b67849..651e5c8715 100644 --- a/modules/gdnative/arvr/arvr_interface_gdnative.h +++ b/modules/gdnative/arvr/arvr_interface_gdnative.h @@ -41,7 +41,7 @@  */  class ARVRInterfaceGDNative : public ARVRInterface { -	GDCLASS(ARVRInterfaceGDNative, ARVRInterface) +	GDCLASS(ARVRInterfaceGDNative, ARVRInterface);  	void cleanup(); diff --git a/modules/gdnative/gdnative.h b/modules/gdnative/gdnative.h index 1590994ab4..005d1d2bff 100644 --- a/modules/gdnative/gdnative.h +++ b/modules/gdnative/gdnative.h @@ -45,7 +45,7 @@ class GDNativeLibraryResourceLoader;  class GDNative;  class GDNativeLibrary : public Resource { -	GDCLASS(GDNativeLibrary, Resource) +	GDCLASS(GDNativeLibrary, Resource);  	static Map<String, Vector<Ref<GDNative> > > *loaded_libraries; @@ -137,7 +137,7 @@ struct GDNativeCallRegistry {  };  class GDNative : public Reference { -	GDCLASS(GDNative, Reference) +	GDCLASS(GDNative, Reference);  	Ref<GDNativeLibrary> library; diff --git a/modules/gdnative/nativescript/nativescript.h b/modules/gdnative/nativescript/nativescript.h index d60e3ae1ae..79a41df107 100644 --- a/modules/gdnative/nativescript/nativescript.h +++ b/modules/gdnative/nativescript/nativescript.h @@ -99,7 +99,7 @@ struct NativeScriptDesc {  };  class NativeScript : public Script { -	GDCLASS(NativeScript, Script) +	GDCLASS(NativeScript, Script);  #ifdef TOOLS_ENABLED  	Set<PlaceHolderScriptInstance *> placeholders; @@ -370,7 +370,7 @@ inline NativeScriptDesc *NativeScript::get_script_desc() const {  }  class NativeReloadNode : public Node { -	GDCLASS(NativeReloadNode, Node) +	GDCLASS(NativeReloadNode, Node);  	bool unloaded;  public: diff --git a/modules/gdnative/net/multiplayer_peer_gdnative.h b/modules/gdnative/net/multiplayer_peer_gdnative.h index 7d48dc60d1..6fbc62aaa1 100644 --- a/modules/gdnative/net/multiplayer_peer_gdnative.h +++ b/modules/gdnative/net/multiplayer_peer_gdnative.h @@ -36,7 +36,7 @@  #include "modules/gdnative/include/net/godot_net.h"  class MultiplayerPeerGDNative : public NetworkedMultiplayerPeer { -	GDCLASS(MultiplayerPeerGDNative, NetworkedMultiplayerPeer) +	GDCLASS(MultiplayerPeerGDNative, NetworkedMultiplayerPeer);  protected:  	static void _bind_methods(); diff --git a/modules/gdnative/net/packet_peer_gdnative.h b/modules/gdnative/net/packet_peer_gdnative.h index 742fa4e7d5..8483217210 100644 --- a/modules/gdnative/net/packet_peer_gdnative.h +++ b/modules/gdnative/net/packet_peer_gdnative.h @@ -36,7 +36,7 @@  #include "modules/gdnative/include/net/godot_net.h"  class PacketPeerGDNative : public PacketPeer { -	GDCLASS(PacketPeerGDNative, PacketPeer) +	GDCLASS(PacketPeerGDNative, PacketPeer);  protected:  	static void _bind_methods(); diff --git a/modules/mono/csharp_script.h b/modules/mono/csharp_script.h index 7b16b5609e..64e3b40063 100644 --- a/modules/mono/csharp_script.h +++ b/modules/mono/csharp_script.h @@ -63,7 +63,7 @@ TScriptInstance *cast_script_instance(ScriptInstance *p_inst) {  class CSharpScript : public Script { -	GDCLASS(CSharpScript, Script) +	GDCLASS(CSharpScript, Script);  	friend class CSharpInstance;  	friend class CSharpLanguage; diff --git a/modules/mono/editor/godotsharp_editor.h b/modules/mono/editor/godotsharp_editor.h index d9523c384c..4a28492bad 100644 --- a/modules/mono/editor/godotsharp_editor.h +++ b/modules/mono/editor/godotsharp_editor.h @@ -35,7 +35,7 @@  #include "monodevelop_instance.h"  class GodotSharpEditor : public Node { -	GDCLASS(GodotSharpEditor, Object) +	GDCLASS(GodotSharpEditor, Object);  	EditorNode *editor; @@ -109,7 +109,7 @@ public:  };  class MonoReloadNode : public Node { -	GDCLASS(MonoReloadNode, Node) +	GDCLASS(MonoReloadNode, Node);  	Timer *reload_timer; diff --git a/modules/mono/editor/mono_bottom_panel.h b/modules/mono/editor/mono_bottom_panel.h index 406e46f7ce..9b362e51df 100644 --- a/modules/mono/editor/mono_bottom_panel.h +++ b/modules/mono/editor/mono_bottom_panel.h @@ -40,7 +40,7 @@ class MonoBuildTab;  class MonoBottomPanel : public VBoxContainer { -	GDCLASS(MonoBottomPanel, VBoxContainer) +	GDCLASS(MonoBottomPanel, VBoxContainer);  	EditorNode *editor; @@ -87,7 +87,7 @@ public:  class MonoBuildTab : public VBoxContainer { -	GDCLASS(MonoBuildTab, VBoxContainer) +	GDCLASS(MonoBuildTab, VBoxContainer);  public:  	enum BuildResult { diff --git a/modules/mono/mono_gc_handle.h b/modules/mono/mono_gc_handle.h index 63b61aff18..60a1eed212 100644 --- a/modules/mono/mono_gc_handle.h +++ b/modules/mono/mono_gc_handle.h @@ -37,7 +37,7 @@  class MonoGCHandle : public Reference { -	GDCLASS(MonoGCHandle, Reference) +	GDCLASS(MonoGCHandle, Reference);  	bool released;  	bool weak; diff --git a/modules/mono/mono_gd/gd_mono.h b/modules/mono/mono_gd/gd_mono.h index 216c96a612..95340edcca 100644 --- a/modules/mono/mono_gd/gd_mono.h +++ b/modules/mono/mono_gd/gd_mono.h @@ -267,7 +267,7 @@ public:  	(void)__gdmono__scope__exit__domain__unload__;  class _GodotSharp : public Object { -	GDCLASS(_GodotSharp, Object) +	GDCLASS(_GodotSharp, Object);  	friend class GDMono; diff --git a/modules/mono/signal_awaiter_utils.h b/modules/mono/signal_awaiter_utils.h index 098008ded7..4fb3cdb56d 100644 --- a/modules/mono/signal_awaiter_utils.h +++ b/modules/mono/signal_awaiter_utils.h @@ -41,7 +41,7 @@ Error connect_signal_awaiter(Object *p_source, const String &p_signal, Object *p  class SignalAwaiterHandle : public MonoGCHandle { -	GDCLASS(SignalAwaiterHandle, MonoGCHandle) +	GDCLASS(SignalAwaiterHandle, MonoGCHandle);  	bool completed; diff --git a/modules/opensimplex/noise_texture.h b/modules/opensimplex/noise_texture.h index 0d00ee154d..445bf974b8 100644 --- a/modules/opensimplex/noise_texture.h +++ b/modules/opensimplex/noise_texture.h @@ -40,7 +40,7 @@  #include "editor/property_editor.h"  class NoiseTexture : public Texture { -	GDCLASS(NoiseTexture, Texture) +	GDCLASS(NoiseTexture, Texture);  private:  	Ref<Image> data; diff --git a/modules/opensimplex/open_simplex_noise.h b/modules/opensimplex/open_simplex_noise.h index 96885f5893..c31cbf68c3 100644 --- a/modules/opensimplex/open_simplex_noise.h +++ b/modules/opensimplex/open_simplex_noise.h @@ -38,7 +38,7 @@  #include "thirdparty/misc/open-simplex-noise.h"  class OpenSimplexNoise : public Resource { -	GDCLASS(OpenSimplexNoise, Resource) +	GDCLASS(OpenSimplexNoise, Resource);  	OBJ_SAVE_TYPE(OpenSimplexNoise);  	osn_context contexts[6]; diff --git a/modules/opus/SCsub b/modules/opus/SCsub index f3c981dd45..a4a431bab7 100644 --- a/modules/opus/SCsub +++ b/modules/opus/SCsub @@ -221,7 +221,7 @@ if env['builtin_opus']:      env_opus.Prepend(CPPPATH=[thirdparty_dir + "/" + dir for dir in thirdparty_include_paths])      if env["platform"] == "android": -        if ("android_arch" in env and env["android_arch"] in ["armv6", "armv7"]): +        if ("android_arch" in env and env["android_arch"] == "armv7"):              env_opus.Append(CPPFLAGS=["-DOPUS_ARM_OPT"])          elif ("android_arch" in env and env["android_arch"] == "arm64v8"):              env_opus.Append(CPPFLAGS=["-DOPUS_ARM64_OPT"]) diff --git a/modules/opus/audio_stream_opus.h b/modules/opus/audio_stream_opus.h index fd07e19e2e..04c2e9d9f0 100644 --- a/modules/opus/audio_stream_opus.h +++ b/modules/opus/audio_stream_opus.h @@ -43,7 +43,7 @@  class AudioStreamPlaybackOpus : public AudioStreamPlayback { -	GDCLASS(AudioStreamPlaybackOpus, AudioStreamPlayback) +	GDCLASS(AudioStreamPlaybackOpus, AudioStreamPlayback);  	enum {  		MIN_MIX = 1024 @@ -117,7 +117,7 @@ public:  class AudioStreamOpus : public AudioStream { -	GDCLASS(AudioStreamOpus, AudioStream) +	GDCLASS(AudioStreamOpus, AudioStream);  	String file; diff --git a/modules/stb_vorbis/audio_stream_ogg_vorbis.h b/modules/stb_vorbis/audio_stream_ogg_vorbis.h index cbff9d47bb..c8c179554a 100644 --- a/modules/stb_vorbis/audio_stream_ogg_vorbis.h +++ b/modules/stb_vorbis/audio_stream_ogg_vorbis.h @@ -40,7 +40,7 @@ class AudioStreamOGGVorbis;  class AudioStreamPlaybackOGGVorbis : public AudioStreamPlaybackResampled { -	GDCLASS(AudioStreamPlaybackOGGVorbis, AudioStreamPlaybackResampled) +	GDCLASS(AudioStreamPlaybackOGGVorbis, AudioStreamPlaybackResampled);  	stb_vorbis *ogg_stream;  	stb_vorbis_alloc ogg_alloc; @@ -72,7 +72,7 @@ public:  class AudioStreamOGGVorbis : public AudioStream { -	GDCLASS(AudioStreamOGGVorbis, AudioStream) +	GDCLASS(AudioStreamOGGVorbis, AudioStream);  	OBJ_SAVE_TYPE(AudioStream) //children are all saved as AudioStream, so they can be exchanged  	RES_BASE_EXTENSION("oggstr"); diff --git a/modules/stb_vorbis/resource_importer_ogg_vorbis.h b/modules/stb_vorbis/resource_importer_ogg_vorbis.h index d3d0574d56..8e4fbde916 100644 --- a/modules/stb_vorbis/resource_importer_ogg_vorbis.h +++ b/modules/stb_vorbis/resource_importer_ogg_vorbis.h @@ -35,7 +35,8 @@  #include "core/io/resource_importer.h"  class ResourceImporterOGGVorbis : public ResourceImporter { -	GDCLASS(ResourceImporterOGGVorbis, ResourceImporter) +	GDCLASS(ResourceImporterOGGVorbis, ResourceImporter); +  public:  	virtual String get_importer_name() const;  	virtual String get_visible_name() const; diff --git a/modules/visual_script/visual_script.h b/modules/visual_script/visual_script.h index 89f32f54f7..098c28370d 100644 --- a/modules/visual_script/visual_script.h +++ b/modules/visual_script/visual_script.h @@ -39,7 +39,7 @@ class VisualScriptNodeInstance;  class VisualScript;  class VisualScriptNode : public Resource { -	GDCLASS(VisualScriptNode, Resource) +	GDCLASS(VisualScriptNode, Resource);  	friend class VisualScript; @@ -165,7 +165,7 @@ public:  class VisualScript : public Script { -	GDCLASS(VisualScript, Script) +	GDCLASS(VisualScript, Script);  	RES_BASE_EXTENSION("vs"); diff --git a/modules/visual_script/visual_script_builtin_funcs.h b/modules/visual_script/visual_script_builtin_funcs.h index 3e452cd94f..f009f49b5b 100644 --- a/modules/visual_script/visual_script_builtin_funcs.h +++ b/modules/visual_script/visual_script_builtin_funcs.h @@ -35,7 +35,8 @@  class VisualScriptBuiltinFunc : public VisualScriptNode { -	GDCLASS(VisualScriptBuiltinFunc, VisualScriptNode) +	GDCLASS(VisualScriptBuiltinFunc, VisualScriptNode); +  public:  	enum BuiltinFunc {  		MATH_SIN, diff --git a/modules/visual_script/visual_script_editor.cpp b/modules/visual_script/visual_script_editor.cpp index 7c3bad6785..3ac170a935 100644 --- a/modules/visual_script/visual_script_editor.cpp +++ b/modules/visual_script/visual_script_editor.cpp @@ -46,7 +46,7 @@  #ifdef TOOLS_ENABLED  class VisualScriptEditorSignalEdit : public Object { -	GDCLASS(VisualScriptEditorSignalEdit, Object) +	GDCLASS(VisualScriptEditorSignalEdit, Object);  	StringName sig; @@ -186,7 +186,7 @@ public:  class VisualScriptEditorVariableEdit : public Object { -	GDCLASS(VisualScriptEditorVariableEdit, Object) +	GDCLASS(VisualScriptEditorVariableEdit, Object);  	StringName var; diff --git a/modules/visual_script/visual_script_editor.h b/modules/visual_script/visual_script_editor.h index b66d10021a..4f302d1d72 100644 --- a/modules/visual_script/visual_script_editor.h +++ b/modules/visual_script/visual_script_editor.h @@ -44,7 +44,7 @@ class VisualScriptEditorVariableEdit;  #ifdef TOOLS_ENABLED  class VisualScriptEditor : public ScriptEditorBase { -	GDCLASS(VisualScriptEditor, ScriptEditorBase) +	GDCLASS(VisualScriptEditor, ScriptEditorBase);  	enum {  		TYPE_SEQUENCE = 1000, diff --git a/modules/visual_script/visual_script_expression.h b/modules/visual_script/visual_script_expression.h index 3b2e3b9f78..3a045d2cf7 100644 --- a/modules/visual_script/visual_script_expression.h +++ b/modules/visual_script/visual_script_expression.h @@ -36,7 +36,7 @@  class VisualScriptExpression : public VisualScriptNode { -	GDCLASS(VisualScriptExpression, VisualScriptNode) +	GDCLASS(VisualScriptExpression, VisualScriptNode);  	friend class VisualScriptNodeInstanceExpression;  	struct Input { diff --git a/modules/visual_script/visual_script_flow_control.h b/modules/visual_script/visual_script_flow_control.h index a42605a50e..d3c7aa68e3 100644 --- a/modules/visual_script/visual_script_flow_control.h +++ b/modules/visual_script/visual_script_flow_control.h @@ -35,7 +35,7 @@  class VisualScriptReturn : public VisualScriptNode { -	GDCLASS(VisualScriptReturn, VisualScriptNode) +	GDCLASS(VisualScriptReturn, VisualScriptNode);  	Variant::Type type;  	bool with_value; @@ -72,7 +72,7 @@ public:  class VisualScriptCondition : public VisualScriptNode { -	GDCLASS(VisualScriptCondition, VisualScriptNode) +	GDCLASS(VisualScriptCondition, VisualScriptNode);  protected:  	static void _bind_methods(); @@ -100,7 +100,7 @@ public:  class VisualScriptWhile : public VisualScriptNode { -	GDCLASS(VisualScriptWhile, VisualScriptNode) +	GDCLASS(VisualScriptWhile, VisualScriptNode);  protected:  	static void _bind_methods(); @@ -128,7 +128,7 @@ public:  class VisualScriptIterator : public VisualScriptNode { -	GDCLASS(VisualScriptIterator, VisualScriptNode) +	GDCLASS(VisualScriptIterator, VisualScriptNode);  protected:  	static void _bind_methods(); @@ -156,7 +156,7 @@ public:  class VisualScriptSequence : public VisualScriptNode { -	GDCLASS(VisualScriptSequence, VisualScriptNode) +	GDCLASS(VisualScriptSequence, VisualScriptNode);  	int steps; @@ -189,7 +189,7 @@ public:  class VisualScriptSwitch : public VisualScriptNode { -	GDCLASS(VisualScriptSwitch, VisualScriptNode) +	GDCLASS(VisualScriptSwitch, VisualScriptNode);  	struct Case {  		Variant::Type type; @@ -231,7 +231,7 @@ public:  class VisualScriptTypeCast : public VisualScriptNode { -	GDCLASS(VisualScriptTypeCast, VisualScriptNode) +	GDCLASS(VisualScriptTypeCast, VisualScriptNode);  	StringName base_type;  	String script; diff --git a/modules/visual_script/visual_script_func_nodes.h b/modules/visual_script/visual_script_func_nodes.h index 7b1e7871b6..11eb96293b 100644 --- a/modules/visual_script/visual_script_func_nodes.h +++ b/modules/visual_script/visual_script_func_nodes.h @@ -35,7 +35,8 @@  class VisualScriptFunctionCall : public VisualScriptNode { -	GDCLASS(VisualScriptFunctionCall, VisualScriptNode) +	GDCLASS(VisualScriptFunctionCall, VisualScriptNode); +  public:  	enum CallMode {  		CALL_MODE_SELF, @@ -137,7 +138,8 @@ VARIANT_ENUM_CAST(VisualScriptFunctionCall::RPCCallMode);  class VisualScriptPropertySet : public VisualScriptNode { -	GDCLASS(VisualScriptPropertySet, VisualScriptNode) +	GDCLASS(VisualScriptPropertySet, VisualScriptNode); +  public:  	enum CallMode {  		CALL_MODE_SELF, @@ -242,7 +244,8 @@ VARIANT_ENUM_CAST(VisualScriptPropertySet::AssignOp);  class VisualScriptPropertyGet : public VisualScriptNode { -	GDCLASS(VisualScriptPropertyGet, VisualScriptNode) +	GDCLASS(VisualScriptPropertyGet, VisualScriptNode); +  public:  	enum CallMode {  		CALL_MODE_SELF, @@ -323,7 +326,7 @@ VARIANT_ENUM_CAST(VisualScriptPropertyGet::CallMode);  class VisualScriptEmitSignal : public VisualScriptNode { -	GDCLASS(VisualScriptEmitSignal, VisualScriptNode) +	GDCLASS(VisualScriptEmitSignal, VisualScriptNode);  private:  	StringName name; diff --git a/modules/visual_script/visual_script_nodes.h b/modules/visual_script/visual_script_nodes.h index b3d199fb38..762a1bdfb6 100644 --- a/modules/visual_script/visual_script_nodes.h +++ b/modules/visual_script/visual_script_nodes.h @@ -35,7 +35,7 @@  class VisualScriptFunction : public VisualScriptNode { -	GDCLASS(VisualScriptFunction, VisualScriptNode) +	GDCLASS(VisualScriptFunction, VisualScriptNode);  	struct Argument {  		String name; @@ -105,7 +105,7 @@ public:  class VisualScriptOperator : public VisualScriptNode { -	GDCLASS(VisualScriptOperator, VisualScriptNode) +	GDCLASS(VisualScriptOperator, VisualScriptNode);  	Variant::Type typed;  	Variant::Operator op; @@ -141,7 +141,7 @@ public:  class VisualScriptSelect : public VisualScriptNode { -	GDCLASS(VisualScriptSelect, VisualScriptNode) +	GDCLASS(VisualScriptSelect, VisualScriptNode);  	Variant::Type typed; @@ -174,7 +174,7 @@ public:  class VisualScriptVariableGet : public VisualScriptNode { -	GDCLASS(VisualScriptVariableGet, VisualScriptNode) +	GDCLASS(VisualScriptVariableGet, VisualScriptNode);  	StringName variable; @@ -207,7 +207,7 @@ public:  class VisualScriptVariableSet : public VisualScriptNode { -	GDCLASS(VisualScriptVariableSet, VisualScriptNode) +	GDCLASS(VisualScriptVariableSet, VisualScriptNode);  	StringName variable; @@ -240,7 +240,7 @@ public:  class VisualScriptConstant : public VisualScriptNode { -	GDCLASS(VisualScriptConstant, VisualScriptNode) +	GDCLASS(VisualScriptConstant, VisualScriptNode);  	Variant::Type type;  	Variant value; @@ -277,7 +277,7 @@ public:  class VisualScriptPreload : public VisualScriptNode { -	GDCLASS(VisualScriptPreload, VisualScriptNode) +	GDCLASS(VisualScriptPreload, VisualScriptNode);  	Ref<Resource> preload; @@ -309,7 +309,7 @@ public:  class VisualScriptIndexGet : public VisualScriptNode { -	GDCLASS(VisualScriptIndexGet, VisualScriptNode) +	GDCLASS(VisualScriptIndexGet, VisualScriptNode);  public:  	virtual int get_output_sequence_port_count() const; @@ -333,7 +333,7 @@ public:  class VisualScriptIndexSet : public VisualScriptNode { -	GDCLASS(VisualScriptIndexSet, VisualScriptNode) +	GDCLASS(VisualScriptIndexSet, VisualScriptNode);  public:  	virtual int get_output_sequence_port_count() const; @@ -357,7 +357,7 @@ public:  class VisualScriptGlobalConstant : public VisualScriptNode { -	GDCLASS(VisualScriptGlobalConstant, VisualScriptNode) +	GDCLASS(VisualScriptGlobalConstant, VisualScriptNode);  	int index; @@ -388,7 +388,7 @@ public:  class VisualScriptClassConstant : public VisualScriptNode { -	GDCLASS(VisualScriptClassConstant, VisualScriptNode) +	GDCLASS(VisualScriptClassConstant, VisualScriptNode);  	StringName base_type;  	StringName name; @@ -425,7 +425,7 @@ public:  class VisualScriptBasicTypeConstant : public VisualScriptNode { -	GDCLASS(VisualScriptBasicTypeConstant, VisualScriptNode) +	GDCLASS(VisualScriptBasicTypeConstant, VisualScriptNode);  	Variant::Type type;  	StringName name; @@ -463,7 +463,8 @@ public:  class VisualScriptMathConstant : public VisualScriptNode { -	GDCLASS(VisualScriptMathConstant, VisualScriptNode) +	GDCLASS(VisualScriptMathConstant, VisualScriptNode); +  public:  	enum MathConstant {  		MATH_CONSTANT_ONE, @@ -512,7 +513,7 @@ VARIANT_ENUM_CAST(VisualScriptMathConstant::MathConstant)  class VisualScriptEngineSingleton : public VisualScriptNode { -	GDCLASS(VisualScriptEngineSingleton, VisualScriptNode) +	GDCLASS(VisualScriptEngineSingleton, VisualScriptNode);  	String singleton; @@ -545,7 +546,7 @@ public:  class VisualScriptSceneNode : public VisualScriptNode { -	GDCLASS(VisualScriptSceneNode, VisualScriptNode) +	GDCLASS(VisualScriptSceneNode, VisualScriptNode);  	NodePath path; @@ -580,7 +581,7 @@ public:  class VisualScriptSceneTree : public VisualScriptNode { -	GDCLASS(VisualScriptSceneTree, VisualScriptNode) +	GDCLASS(VisualScriptSceneTree, VisualScriptNode);  protected:  	virtual void _validate_property(PropertyInfo &property) const; @@ -610,7 +611,7 @@ public:  class VisualScriptResourcePath : public VisualScriptNode { -	GDCLASS(VisualScriptResourcePath, VisualScriptNode) +	GDCLASS(VisualScriptResourcePath, VisualScriptNode);  	String path; @@ -642,7 +643,7 @@ public:  class VisualScriptSelf : public VisualScriptNode { -	GDCLASS(VisualScriptSelf, VisualScriptNode) +	GDCLASS(VisualScriptSelf, VisualScriptNode);  protected:  	static void _bind_methods(); @@ -671,7 +672,7 @@ public:  class VisualScriptCustomNode : public VisualScriptNode { -	GDCLASS(VisualScriptCustomNode, VisualScriptNode) +	GDCLASS(VisualScriptCustomNode, VisualScriptNode);  protected:  	static void _bind_methods(); @@ -719,7 +720,7 @@ VARIANT_ENUM_CAST(VisualScriptCustomNode::StartMode);  class VisualScriptSubCall : public VisualScriptNode { -	GDCLASS(VisualScriptSubCall, VisualScriptNode) +	GDCLASS(VisualScriptSubCall, VisualScriptNode);  protected:  	static void _bind_methods(); @@ -747,7 +748,7 @@ public:  class VisualScriptComment : public VisualScriptNode { -	GDCLASS(VisualScriptComment, VisualScriptNode) +	GDCLASS(VisualScriptComment, VisualScriptNode);  	String title;  	String description; @@ -788,7 +789,7 @@ public:  class VisualScriptConstructor : public VisualScriptNode { -	GDCLASS(VisualScriptConstructor, VisualScriptNode) +	GDCLASS(VisualScriptConstructor, VisualScriptNode);  	Variant::Type type;  	MethodInfo constructor; @@ -824,7 +825,7 @@ public:  class VisualScriptLocalVar : public VisualScriptNode { -	GDCLASS(VisualScriptLocalVar, VisualScriptNode) +	GDCLASS(VisualScriptLocalVar, VisualScriptNode);  	StringName name;  	Variant::Type type; @@ -860,7 +861,7 @@ public:  class VisualScriptLocalVarSet : public VisualScriptNode { -	GDCLASS(VisualScriptLocalVarSet, VisualScriptNode) +	GDCLASS(VisualScriptLocalVarSet, VisualScriptNode);  	StringName name;  	Variant::Type type; @@ -897,7 +898,8 @@ public:  class VisualScriptInputAction : public VisualScriptNode { -	GDCLASS(VisualScriptInputAction, VisualScriptNode) +	GDCLASS(VisualScriptInputAction, VisualScriptNode); +  public:  	enum Mode {  		MODE_PRESSED, @@ -944,7 +946,7 @@ VARIANT_ENUM_CAST(VisualScriptInputAction::Mode)  class VisualScriptDeconstruct : public VisualScriptNode { -	GDCLASS(VisualScriptDeconstruct, VisualScriptNode) +	GDCLASS(VisualScriptDeconstruct, VisualScriptNode);  	struct Element {  		StringName name; diff --git a/modules/visual_script/visual_script_property_selector.h b/modules/visual_script/visual_script_property_selector.h index 1588243bc1..6235e4ba1d 100644 --- a/modules/visual_script/visual_script_property_selector.h +++ b/modules/visual_script/visual_script_property_selector.h @@ -36,7 +36,7 @@  #include "scene/gui/rich_text_label.h"  class VisualScriptPropertySelector : public ConfirmationDialog { -	GDCLASS(VisualScriptPropertySelector, ConfirmationDialog) +	GDCLASS(VisualScriptPropertySelector, ConfirmationDialog);  	LineEdit *search_box;  	Tree *search_options; diff --git a/modules/visual_script/visual_script_yield_nodes.h b/modules/visual_script/visual_script_yield_nodes.h index 851bf6aa74..647f2b1e2e 100644 --- a/modules/visual_script/visual_script_yield_nodes.h +++ b/modules/visual_script/visual_script_yield_nodes.h @@ -35,7 +35,8 @@  class VisualScriptYield : public VisualScriptNode { -	GDCLASS(VisualScriptYield, VisualScriptNode) +	GDCLASS(VisualScriptYield, VisualScriptNode); +  public:  	enum YieldMode {  		YIELD_RETURN, @@ -84,7 +85,8 @@ VARIANT_ENUM_CAST(VisualScriptYield::YieldMode)  class VisualScriptYieldSignal : public VisualScriptNode { -	GDCLASS(VisualScriptYieldSignal, VisualScriptNode) +	GDCLASS(VisualScriptYieldSignal, VisualScriptNode); +  public:  	enum CallMode {  		CALL_MODE_SELF, diff --git a/modules/webm/libvpx/SCsub b/modules/webm/libvpx/SCsub index a6be1380a6..c76585013c 100644 --- a/modules/webm/libvpx/SCsub +++ b/modules/webm/libvpx/SCsub @@ -384,8 +384,6 @@ elif webm_cpu_arm:          env_libvpx.add_source_files(env.modules_sources, [libvpx_dir + "third_party/android/cpu-features.c"])      env_libvpx_neon = env_libvpx.Clone() -    if env["platform"] == 'android' and env["android_arch"] == 'armv6': -        env_libvpx_neon.Append(CCFLAGS=['-mfpu=neon'])      env_libvpx_neon.add_source_files(env.modules_sources, libvpx_sources_arm_neon)      if env["platform"] == 'uwp': diff --git a/modules/webm/video_stream_webm.h b/modules/webm/video_stream_webm.h index 4e07c86775..ddcbb1eb08 100644 --- a/modules/webm/video_stream_webm.h +++ b/modules/webm/video_stream_webm.h @@ -41,7 +41,7 @@ class OpusVorbisDecoder;  class VideoStreamPlaybackWebm : public VideoStreamPlayback { -	GDCLASS(VideoStreamPlaybackWebm, VideoStreamPlayback) +	GDCLASS(VideoStreamPlaybackWebm, VideoStreamPlayback);  	String file_name;  	int audio_track; diff --git a/platform/android/SCsub b/platform/android/SCsub index 22ed476c6f..1562714d76 100644 --- a/platform/android/SCsub +++ b/platform/android/SCsub @@ -37,9 +37,7 @@ android_objects.append(env_thirdparty.SharedObject('#thirdparty/misc/ifaddrs-and  lib = env_android.add_shared_library("#bin/libgodot", [android_objects], SHLIBSUFFIX=env["SHLIBSUFFIX"])  lib_arch_dir = '' -if env['android_arch'] == 'armv6': -    lib_arch_dir = 'armeabi' -elif env['android_arch'] == 'armv7': +if env['android_arch'] == 'armv7':      lib_arch_dir = 'armeabi-v7a'  elif env['android_arch'] == 'arm64v8':      lib_arch_dir = 'arm64-v8a' diff --git a/platform/android/detect.py b/platform/android/detect.py index b7641172e4..eed51c4d30 100644 --- a/platform/android/detect.py +++ b/platform/android/detect.py @@ -26,7 +26,7 @@ def get_opts():      return [          ('ANDROID_NDK_ROOT', 'Path to the Android NDK', os.environ.get("ANDROID_NDK_ROOT", 0)),          ('ndk_platform', 'Target platform (android-<api>, e.g. "android-18")', "android-18"), -        EnumVariable('android_arch', 'Target architecture', "armv7", ('armv7', 'armv6', 'arm64v8', 'x86', 'x86_64')), +        EnumVariable('android_arch', 'Target architecture', "armv7", ('armv7', 'arm64v8', 'x86', 'x86_64')),          BoolVariable('android_neon', 'Enable NEON support (armv7 only)', True),          BoolVariable('android_stl', 'Enable Android STL support (for modules)', True)      ] @@ -93,7 +93,7 @@ def configure(env):      ## Architecture -    if env['android_arch'] not in ['armv7', 'armv6', 'arm64v8', 'x86', 'x86_64']: +    if env['android_arch'] not in ['armv7', 'arm64v8', 'x86', 'x86_64']:          env['android_arch'] = 'armv7'      neon_text = "" @@ -119,13 +119,6 @@ def configure(env):          abi_subpath = "x86_64-linux-android"          arch_subpath = "x86_64"          env["x86_libtheora_opt_gcc"] = True -    elif env['android_arch'] == 'armv6': -        env['ARCH'] = 'arch-arm' -        env.extra_suffix = ".armv6" + env.extra_suffix -        target_subpath = "arm-linux-androideabi-4.9" -        abi_subpath = "arm-linux-androideabi" -        arch_subpath = "armeabi" -        can_vectorize = False      elif env["android_arch"] == "armv7":          env['ARCH'] = 'arch-arm'          target_subpath = "arm-linux-androideabi-4.9" @@ -249,11 +242,6 @@ def configure(env):      elif env['android_arch'] == 'x86_64':          target_opts = ['-target', 'x86_64-none-linux-android'] -    elif env["android_arch"] == "armv6": -        target_opts = ['-target', 'armv6-none-linux-androideabi'] -        env.Append(CCFLAGS='-march=armv6 -mfpu=vfp -mfloat-abi=softfp'.split()) -        env.Append(CPPFLAGS=['-D__ARM_ARCH_6__']) -      elif env["android_arch"] == "armv7":          target_opts = ['-target', 'armv7-none-linux-androideabi']          env.Append(CCFLAGS='-march=armv7-a -mfloat-abi=softfp'.split()) diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index 30267aa968..0bd82b769f 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -208,7 +208,7 @@ static const LauncherIcon launcher_icons[] = {  class EditorExportPlatformAndroid : public EditorExportPlatform { -	GDCLASS(EditorExportPlatformAndroid, EditorExportPlatform) +	GDCLASS(EditorExportPlatformAndroid, EditorExportPlatform);  	Ref<ImageTexture> logo;  	Ref<ImageTexture> run_icon; @@ -553,9 +553,6 @@ class EditorExportPlatformAndroid : public EditorExportPlatform {  	static Vector<String> get_abis() {  		Vector<String> abis; -		// We can still build armv6 in theory, but it doesn't make much -		// sense for games, so disabling for now. -		//abis.push_back("armeabi");  		abis.push_back("armeabi-v7a");  		abis.push_back("arm64-v8a");  		abis.push_back("x86"); diff --git a/platform/haiku/detect.py b/platform/haiku/detect.py index f33c77a407..5a708cdaca 100644 --- a/platform/haiku/detect.py +++ b/platform/haiku/detect.py @@ -80,7 +80,7 @@ def configure(env):          env.ParseConfig('pkg-config freetype2 --cflags --libs')      if not env['builtin_libpng']: -        env.ParseConfig('pkg-config libpng --cflags --libs') +        env.ParseConfig('pkg-config libpng16 --cflags --libs')      if not env['builtin_bullet']:          # We need at least version 2.88 diff --git a/platform/javascript/export/export.cpp b/platform/javascript/export/export.cpp index 487da77b10..c68b420c61 100644 --- a/platform/javascript/export/export.cpp +++ b/platform/javascript/export/export.cpp @@ -40,7 +40,7 @@  class EditorExportPlatformJavaScript : public EditorExportPlatform { -	GDCLASS(EditorExportPlatformJavaScript, EditorExportPlatform) +	GDCLASS(EditorExportPlatformJavaScript, EditorExportPlatform);  	Ref<ImageTexture> logo;  	Ref<ImageTexture> run_icon; diff --git a/platform/server/detect.py b/platform/server/detect.py index a5648d8d9d..a325395d6d 100644 --- a/platform/server/detect.py +++ b/platform/server/detect.py @@ -142,7 +142,7 @@ def configure(env):          env.ParseConfig('pkg-config freetype2 --cflags --libs')      if not env['builtin_libpng']: -        env.ParseConfig('pkg-config libpng --cflags --libs') +        env.ParseConfig('pkg-config libpng16 --cflags --libs')      if not env['builtin_bullet']:          # We need at least version 2.89 diff --git a/platform/x11/detect.py b/platform/x11/detect.py index a502308eee..9365b7eabc 100644 --- a/platform/x11/detect.py +++ b/platform/x11/detect.py @@ -216,7 +216,7 @@ def configure(env):          env.ParseConfig('pkg-config freetype2 --cflags --libs')      if not env['builtin_libpng']: -        env.ParseConfig('pkg-config libpng --cflags --libs') +        env.ParseConfig('pkg-config libpng16 --cflags --libs')      if not env['builtin_bullet']:          # We need at least version 2.89 diff --git a/scene/2d/audio_stream_player_2d.h b/scene/2d/audio_stream_player_2d.h index e9cdfa2303..ffa3d4edb4 100644 --- a/scene/2d/audio_stream_player_2d.h +++ b/scene/2d/audio_stream_player_2d.h @@ -37,7 +37,7 @@  class AudioStreamPlayer2D : public Node2D { -	GDCLASS(AudioStreamPlayer2D, Node2D) +	GDCLASS(AudioStreamPlayer2D, Node2D);  private:  	enum { diff --git a/scene/2d/canvas_item.h b/scene/2d/canvas_item.h index a020ab5029..1f585d84ce 100644 --- a/scene/2d/canvas_item.h +++ b/scene/2d/canvas_item.h @@ -46,7 +46,7 @@ class StyleBox;  class CanvasItemMaterial : public Material { -	GDCLASS(CanvasItemMaterial, Material) +	GDCLASS(CanvasItemMaterial, Material);  public:  	enum BlendMode { diff --git a/scene/2d/collision_object_2d.h b/scene/2d/collision_object_2d.h index 8aa3330f37..4e7d01c8e6 100644 --- a/scene/2d/collision_object_2d.h +++ b/scene/2d/collision_object_2d.h @@ -36,7 +36,7 @@  class CollisionObject2D : public Node2D { -	GDCLASS(CollisionObject2D, Node2D) +	GDCLASS(CollisionObject2D, Node2D);  	bool area;  	RID rid; diff --git a/scene/2d/collision_shape_2d.h b/scene/2d/collision_shape_2d.h index e913b4a866..26c61f47bd 100644 --- a/scene/2d/collision_shape_2d.h +++ b/scene/2d/collision_shape_2d.h @@ -38,7 +38,7 @@ class CollisionObject2D;  class CollisionShape2D : public Node2D { -	GDCLASS(CollisionShape2D, Node2D) +	GDCLASS(CollisionShape2D, Node2D);  	Ref<Shape2D> shape;  	Rect2 rect;  	uint32_t owner_id; diff --git a/scene/2d/line_2d.h b/scene/2d/line_2d.h index 8a6f7b2dc5..11be5055d4 100644 --- a/scene/2d/line_2d.h +++ b/scene/2d/line_2d.h @@ -35,7 +35,7 @@  class Line2D : public Node2D { -	GDCLASS(Line2D, Node2D) +	GDCLASS(Line2D, Node2D);  public:  	enum LineJointMode { diff --git a/scene/2d/mesh_instance_2d.h b/scene/2d/mesh_instance_2d.h index 4d81c8088a..af552415ca 100644 --- a/scene/2d/mesh_instance_2d.h +++ b/scene/2d/mesh_instance_2d.h @@ -34,7 +34,7 @@  #include "scene/2d/node_2d.h"  class MeshInstance2D : public Node2D { -	GDCLASS(MeshInstance2D, Node2D) +	GDCLASS(MeshInstance2D, Node2D);  	Ref<Mesh> mesh; diff --git a/scene/2d/particles_2d.h b/scene/2d/particles_2d.h index a0104b4b16..0276978f83 100644 --- a/scene/2d/particles_2d.h +++ b/scene/2d/particles_2d.h @@ -37,7 +37,7 @@  class Particles2D : public Node2D {  private: -	GDCLASS(Particles2D, Node2D) +	GDCLASS(Particles2D, Node2D);  public:  	enum DrawOrder { diff --git a/scene/2d/position_2d.h b/scene/2d/position_2d.h index ec73c02d2b..f5ec3ef01a 100644 --- a/scene/2d/position_2d.h +++ b/scene/2d/position_2d.h @@ -35,7 +35,7 @@  class Position2D : public Node2D { -	GDCLASS(Position2D, Node2D) +	GDCLASS(Position2D, Node2D);  	void _draw_cross(); diff --git a/scene/2d/skeleton_2d.h b/scene/2d/skeleton_2d.h index d24c0a1561..0f48b44387 100644 --- a/scene/2d/skeleton_2d.h +++ b/scene/2d/skeleton_2d.h @@ -36,7 +36,7 @@  class Skeleton2D;  class Bone2D : public Node2D { -	GDCLASS(Bone2D, Node2D) +	GDCLASS(Bone2D, Node2D);  	friend class Skeleton2D;  #ifdef TOOLS_ENABLED diff --git a/scene/3d/audio_stream_player_3d.h b/scene/3d/audio_stream_player_3d.h index 98bc74b2e4..7a652ed65f 100644 --- a/scene/3d/audio_stream_player_3d.h +++ b/scene/3d/audio_stream_player_3d.h @@ -40,7 +40,8 @@  class Camera;  class AudioStreamPlayer3D : public Spatial { -	GDCLASS(AudioStreamPlayer3D, Spatial) +	GDCLASS(AudioStreamPlayer3D, Spatial); +  public:  	enum AttenuationModel {  		ATTENUATION_INVERSE_DISTANCE, diff --git a/scene/3d/spatial_velocity_tracker.h b/scene/3d/spatial_velocity_tracker.h index 795f56091f..8260cf3f06 100644 --- a/scene/3d/spatial_velocity_tracker.h +++ b/scene/3d/spatial_velocity_tracker.h @@ -34,7 +34,7 @@  #include "scene/3d/spatial.h"  class SpatialVelocityTracker : public Reference { -	GDCLASS(SpatialVelocityTracker, Reference) +	GDCLASS(SpatialVelocityTracker, Reference);  	struct PositionHistory {  		uint64_t frame; diff --git a/scene/animation/animation_blend_space_1d.h b/scene/animation/animation_blend_space_1d.h index dfac88b712..2e2d848450 100644 --- a/scene/animation/animation_blend_space_1d.h +++ b/scene/animation/animation_blend_space_1d.h @@ -34,7 +34,7 @@  #include "scene/animation/animation_tree.h"  class AnimationNodeBlendSpace1D : public AnimationRootNode { -	GDCLASS(AnimationNodeBlendSpace1D, AnimationRootNode) +	GDCLASS(AnimationNodeBlendSpace1D, AnimationRootNode);  	enum {  		MAX_BLEND_POINTS = 64 diff --git a/scene/animation/animation_blend_space_2d.h b/scene/animation/animation_blend_space_2d.h index c21360beb9..66ba9b0db7 100644 --- a/scene/animation/animation_blend_space_2d.h +++ b/scene/animation/animation_blend_space_2d.h @@ -34,7 +34,8 @@  #include "scene/animation/animation_tree.h"  class AnimationNodeBlendSpace2D : public AnimationRootNode { -	GDCLASS(AnimationNodeBlendSpace2D, AnimationRootNode) +	GDCLASS(AnimationNodeBlendSpace2D, AnimationRootNode); +  public:  	enum BlendMode {  		BLEND_MODE_INTERPOLATED, diff --git a/scene/animation/animation_blend_tree.h b/scene/animation/animation_blend_tree.h index c16dcb1b8c..a6ef78d82e 100644 --- a/scene/animation/animation_blend_tree.h +++ b/scene/animation/animation_blend_tree.h @@ -322,7 +322,8 @@ public:  };  class AnimationNodeOutput : public AnimationNode { -	GDCLASS(AnimationNodeOutput, AnimationNode) +	GDCLASS(AnimationNodeOutput, AnimationNode); +  public:  	virtual String get_caption() const;  	virtual float process(float p_time, bool p_seek); @@ -332,7 +333,7 @@ public:  /////  class AnimationNodeBlendTree : public AnimationRootNode { -	GDCLASS(AnimationNodeBlendTree, AnimationRootNode) +	GDCLASS(AnimationNodeBlendTree, AnimationRootNode);  	struct Node {  		Ref<AnimationNode> node; diff --git a/scene/animation/animation_node_state_machine.h b/scene/animation/animation_node_state_machine.h index e47b940c35..26909a326e 100644 --- a/scene/animation/animation_node_state_machine.h +++ b/scene/animation/animation_node_state_machine.h @@ -34,7 +34,8 @@  #include "scene/animation/animation_tree.h"  class AnimationNodeStateMachineTransition : public Resource { -	GDCLASS(AnimationNodeStateMachineTransition, Resource) +	GDCLASS(AnimationNodeStateMachineTransition, Resource); +  public:  	enum SwitchMode {  		SWITCH_MODE_IMMEDIATE, diff --git a/scene/animation/animation_tree.h b/scene/animation/animation_tree.h index 4c65b2a92c..e22d6e4c2d 100644 --- a/scene/animation/animation_tree.h +++ b/scene/animation/animation_tree.h @@ -41,7 +41,8 @@ class AnimationPlayer;  class AnimationTree;  class AnimationNode : public Resource { -	GDCLASS(AnimationNode, Resource) +	GDCLASS(AnimationNode, Resource); +  public:  	enum FilterAction {  		FILTER_IGNORE, @@ -155,13 +156,15 @@ VARIANT_ENUM_CAST(AnimationNode::FilterAction)  //root node does not allow inputs  class AnimationRootNode : public AnimationNode { -	GDCLASS(AnimationRootNode, AnimationNode) +	GDCLASS(AnimationRootNode, AnimationNode); +  public:  	AnimationRootNode() {}  };  class AnimationTree : public Node { -	GDCLASS(AnimationTree, Node) +	GDCLASS(AnimationTree, Node); +  public:  	enum AnimationProcessMode {  		ANIMATION_PROCESS_PHYSICS, diff --git a/scene/animation/root_motion_view.h b/scene/animation/root_motion_view.h index bca265b1f0..07f51165a7 100644 --- a/scene/animation/root_motion_view.h +++ b/scene/animation/root_motion_view.h @@ -34,7 +34,8 @@  #include "scene/3d/visual_instance.h"  class RootMotionView : public VisualInstance { -	GDCLASS(RootMotionView, VisualInstance) +	GDCLASS(RootMotionView, VisualInstance); +  public:  	RID immediate;  	NodePath path; diff --git a/scene/audio/audio_stream_player.h b/scene/audio/audio_stream_player.h index 7987bd7e7d..ab9161c798 100644 --- a/scene/audio/audio_stream_player.h +++ b/scene/audio/audio_stream_player.h @@ -36,7 +36,7 @@  class AudioStreamPlayer : public Node { -	GDCLASS(AudioStreamPlayer, Node) +	GDCLASS(AudioStreamPlayer, Node);  public:  	enum MixTarget { diff --git a/scene/gui/base_button.h b/scene/gui/base_button.h index abb3f58d6b..ef278d7406 100644 --- a/scene/gui/base_button.h +++ b/scene/gui/base_button.h @@ -138,7 +138,7 @@ VARIANT_ENUM_CAST(BaseButton::ActionMode)  class ButtonGroup : public Resource { -	GDCLASS(ButtonGroup, Resource) +	GDCLASS(ButtonGroup, Resource);  	friend class BaseButton;  	Set<BaseButton *> buttons; diff --git a/scene/gui/color_rect.h b/scene/gui/color_rect.h index d7f9ef275d..7a7bbe1029 100644 --- a/scene/gui/color_rect.h +++ b/scene/gui/color_rect.h @@ -34,7 +34,7 @@  #include "scene/gui/control.h"  class ColorRect : public Control { -	GDCLASS(ColorRect, Control) +	GDCLASS(ColorRect, Control);  	Color color; diff --git a/scene/gui/split_container.h b/scene/gui/split_container.h index 3c1ca09a9f..97838e19a3 100644 --- a/scene/gui/split_container.h +++ b/scene/gui/split_container.h @@ -35,7 +35,7 @@  class SplitContainer : public Container { -	GDCLASS(SplitContainer, Container) +	GDCLASS(SplitContainer, Container);  public:  	enum DraggerVisibility { diff --git a/scene/gui/text_edit.h b/scene/gui/text_edit.h index 0c26602d2b..3e852deda6 100644 --- a/scene/gui/text_edit.h +++ b/scene/gui/text_edit.h @@ -40,7 +40,7 @@ class SyntaxHighlighter;  class TextEdit : public Control { -	GDCLASS(TextEdit, Control) +	GDCLASS(TextEdit, Control);  public:  	struct HighlighterInfo { diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index c02873cdeb..f8a0db18b1 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -172,14 +172,16 @@ ViewportTexture::~ViewportTexture() {  class TooltipPanel : public PanelContainer { -	GDCLASS(TooltipPanel, PanelContainer) +	GDCLASS(TooltipPanel, PanelContainer); +  public:  	TooltipPanel(){};  };  class TooltipLabel : public Label { -	GDCLASS(TooltipLabel, Label) +	GDCLASS(TooltipLabel, Label); +  public:  	TooltipLabel(){};  }; diff --git a/scene/resources/audio_stream_sample.h b/scene/resources/audio_stream_sample.h index d4c5511f34..bb25b60835 100644 --- a/scene/resources/audio_stream_sample.h +++ b/scene/resources/audio_stream_sample.h @@ -37,7 +37,7 @@ class AudioStreamSample;  class AudioStreamPlaybackSample : public AudioStreamPlayback { -	GDCLASS(AudioStreamPlaybackSample, AudioStreamPlayback) +	GDCLASS(AudioStreamPlaybackSample, AudioStreamPlayback);  	enum {  		MIX_FRAC_BITS = 13,  		MIX_FRAC_LEN = (1 << MIX_FRAC_BITS), @@ -81,7 +81,7 @@ public:  };  class AudioStreamSample : public AudioStream { -	GDCLASS(AudioStreamSample, AudioStream) +	GDCLASS(AudioStreamSample, AudioStream);  	RES_BASE_EXTENSION("sample")  public: diff --git a/scene/resources/curve.h b/scene/resources/curve.h index 911a440567..bb12baca48 100644 --- a/scene/resources/curve.h +++ b/scene/resources/curve.h @@ -35,7 +35,8 @@  // y(x) curve  class Curve : public Resource { -	GDCLASS(Curve, Resource) +	GDCLASS(Curve, Resource); +  public:  	static const int MIN_X = 0.f;  	static const int MAX_X = 1.f; diff --git a/scene/resources/dynamic_font.h b/scene/resources/dynamic_font.h index 8d60ea1798..d0a709a2d3 100644 --- a/scene/resources/dynamic_font.h +++ b/scene/resources/dynamic_font.h @@ -110,7 +110,7 @@ VARIANT_ENUM_CAST(DynamicFontData::Hinting);  class DynamicFontAtSize : public Reference { -	GDCLASS(DynamicFontAtSize, Reference) +	GDCLASS(DynamicFontAtSize, Reference);  	_THREAD_SAFE_CLASS_ diff --git a/scene/resources/material.h b/scene/resources/material.h index 29b45f769b..17e52527b3 100644 --- a/scene/resources/material.h +++ b/scene/resources/material.h @@ -43,7 +43,7 @@  class Material : public Resource { -	GDCLASS(Material, Resource) +	GDCLASS(Material, Resource);  	RES_BASE_EXTENSION("material")  	OBJ_SAVE_TYPE(Material) @@ -111,7 +111,7 @@ public:  class SpatialMaterial : public Material { -	GDCLASS(SpatialMaterial, Material) +	GDCLASS(SpatialMaterial, Material);  public:  	enum TextureParam { diff --git a/scene/resources/particles_material.h b/scene/resources/particles_material.h index 8b3248a9cb..42bf60ff48 100644 --- a/scene/resources/particles_material.h +++ b/scene/resources/particles_material.h @@ -36,7 +36,7 @@  class ParticlesMaterial : public Material { -	GDCLASS(ParticlesMaterial, Material) +	GDCLASS(ParticlesMaterial, Material);  public:  	enum Parameter { diff --git a/scene/resources/primitive_meshes.h b/scene/resources/primitive_meshes.h index 0045a48736..312899c028 100644 --- a/scene/resources/primitive_meshes.h +++ b/scene/resources/primitive_meshes.h @@ -269,7 +269,7 @@ public:  class QuadMesh : public PrimitiveMesh { -	GDCLASS(QuadMesh, PrimitiveMesh) +	GDCLASS(QuadMesh, PrimitiveMesh);  private:  	Size2 size; diff --git a/scene/resources/text_file.h b/scene/resources/text_file.h index 91bb98a3b1..7127eaeb93 100644 --- a/scene/resources/text_file.h +++ b/scene/resources/text_file.h @@ -36,7 +36,7 @@  class TextFile : public Resource { -	GDCLASS(TextFile, Resource) +	GDCLASS(TextFile, Resource);  private:  	String text; diff --git a/scene/resources/texture.h b/scene/resources/texture.h index 59d243484d..eb7a9ff25c 100644 --- a/scene/resources/texture.h +++ b/scene/resources/texture.h @@ -469,7 +469,7 @@ VARIANT_ENUM_CAST(CubeMap::Storage)  class TextureLayered : public Resource { -	GDCLASS(TextureLayered, Resource) +	GDCLASS(TextureLayered, Resource);  public:  	enum Flags { @@ -521,7 +521,8 @@ VARIANT_ENUM_CAST(TextureLayered::Flags)  class Texture3D : public TextureLayered { -	GDCLASS(Texture3D, TextureLayered) +	GDCLASS(Texture3D, TextureLayered); +  public:  	Texture3D() :  			TextureLayered(true) {} @@ -529,7 +530,8 @@ public:  class TextureArray : public TextureLayered { -	GDCLASS(TextureArray, TextureLayered) +	GDCLASS(TextureArray, TextureLayered); +  public:  	TextureArray() :  			TextureLayered(false) {} @@ -551,7 +553,7 @@ public:  class CurveTexture : public Texture { -	GDCLASS(CurveTexture, Texture) +	GDCLASS(CurveTexture, Texture);  	RES_BASE_EXTENSION("curvetex")  private: @@ -599,7 +601,7 @@ public:  //VARIANT_ENUM_CAST( Texture::CubeMapSide );  class GradientTexture : public Texture { -	GDCLASS(GradientTexture, Texture) +	GDCLASS(GradientTexture, Texture);  public:  	struct Point { @@ -644,7 +646,7 @@ public:  };  class ProxyTexture : public Texture { -	GDCLASS(ProxyTexture, Texture) +	GDCLASS(ProxyTexture, Texture);  private:  	RID proxy; @@ -671,7 +673,7 @@ public:  };  class AnimatedTexture : public Texture { -	GDCLASS(AnimatedTexture, Texture) +	GDCLASS(AnimatedTexture, Texture);  	//use readers writers lock for this, since its far more times read than written to  	RWLock *rw_lock; @@ -740,7 +742,7 @@ public:  };  class CameraTexture : public Texture { -	GDCLASS(CameraTexture, Texture) +	GDCLASS(CameraTexture, Texture);  private:  	int camera_feed_id; diff --git a/scene/resources/visual_shader.h b/scene/resources/visual_shader.h index 838c2c618d..1ab3c0c9cc 100644 --- a/scene/resources/visual_shader.h +++ b/scene/resources/visual_shader.h @@ -39,7 +39,8 @@ class VisualShaderNodeUniform;  class VisualShaderNode;  class VisualShader : public Shader { -	GDCLASS(VisualShader, Shader) +	GDCLASS(VisualShader, Shader); +  public:  	enum Type {  		TYPE_VERTEX, @@ -163,7 +164,7 @@ VARIANT_ENUM_CAST(VisualShader::Type)  ///  class VisualShaderNode : public Resource { -	GDCLASS(VisualShaderNode, Resource) +	GDCLASS(VisualShaderNode, Resource);  	int port_preview; @@ -215,7 +216,7 @@ public:  /////  class VisualShaderNodeInput : public VisualShaderNode { -	GDCLASS(VisualShaderNodeInput, VisualShaderNode) +	GDCLASS(VisualShaderNodeInput, VisualShaderNode);  	friend class VisualShader;  	VisualShader::Type shader_type; @@ -268,7 +269,8 @@ public:  ///  class VisualShaderNodeOutput : public VisualShaderNode { -	GDCLASS(VisualShaderNodeOutput, VisualShaderNode) +	GDCLASS(VisualShaderNodeOutput, VisualShaderNode); +  public:  	friend class VisualShader;  	VisualShader::Type shader_type; @@ -304,7 +306,7 @@ public:  };  class VisualShaderNodeUniform : public VisualShaderNode { -	GDCLASS(VisualShaderNodeUniform, VisualShaderNode) +	GDCLASS(VisualShaderNodeUniform, VisualShaderNode);  	String uniform_name; @@ -319,7 +321,8 @@ public:  };  class VisualShaderNodeGroupBase : public VisualShaderNode { -	GDCLASS(VisualShaderNodeGroupBase, VisualShaderNode) +	GDCLASS(VisualShaderNodeGroupBase, VisualShaderNode); +  private:  	void _apply_port_changes(); @@ -386,7 +389,7 @@ public:  };  class VisualShaderNodeExpression : public VisualShaderNodeGroupBase { -	GDCLASS(VisualShaderNodeExpression, VisualShaderNodeGroupBase) +	GDCLASS(VisualShaderNodeExpression, VisualShaderNodeGroupBase);  private:  	String expression; diff --git a/scene/resources/visual_shader_nodes.h b/scene/resources/visual_shader_nodes.h index 852248b9b4..df753276e4 100644 --- a/scene/resources/visual_shader_nodes.h +++ b/scene/resources/visual_shader_nodes.h @@ -38,7 +38,7 @@  ///////////////////////////////////////  class VisualShaderNodeScalarConstant : public VisualShaderNode { -	GDCLASS(VisualShaderNodeScalarConstant, VisualShaderNode) +	GDCLASS(VisualShaderNodeScalarConstant, VisualShaderNode);  	float constant;  protected: @@ -68,7 +68,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeBooleanConstant : public VisualShaderNode { -	GDCLASS(VisualShaderNodeBooleanConstant, VisualShaderNode) +	GDCLASS(VisualShaderNodeBooleanConstant, VisualShaderNode);  	bool constant;  protected: @@ -98,7 +98,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeColorConstant : public VisualShaderNode { -	GDCLASS(VisualShaderNodeColorConstant, VisualShaderNode) +	GDCLASS(VisualShaderNodeColorConstant, VisualShaderNode);  	Color constant;  protected: @@ -128,7 +128,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeVec3Constant : public VisualShaderNode { -	GDCLASS(VisualShaderNodeVec3Constant, VisualShaderNode) +	GDCLASS(VisualShaderNodeVec3Constant, VisualShaderNode);  	Vector3 constant;  protected: @@ -158,7 +158,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeTransformConstant : public VisualShaderNode { -	GDCLASS(VisualShaderNodeTransformConstant, VisualShaderNode) +	GDCLASS(VisualShaderNodeTransformConstant, VisualShaderNode);  	Transform constant;  protected: @@ -190,7 +190,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeTexture : public VisualShaderNode { -	GDCLASS(VisualShaderNodeTexture, VisualShaderNode) +	GDCLASS(VisualShaderNodeTexture, VisualShaderNode);  	Ref<Texture> texture;  public: @@ -251,7 +251,7 @@ VARIANT_ENUM_CAST(VisualShaderNodeTexture::Source)  ///////////////////////////////////////  class VisualShaderNodeCubeMap : public VisualShaderNode { -	GDCLASS(VisualShaderNodeCubeMap, VisualShaderNode) +	GDCLASS(VisualShaderNodeCubeMap, VisualShaderNode);  	Ref<CubeMap> cube_map;  public: @@ -300,7 +300,7 @@ VARIANT_ENUM_CAST(VisualShaderNodeCubeMap::TextureType)  ///////////////////////////////////////  class VisualShaderNodeScalarOp : public VisualShaderNode { -	GDCLASS(VisualShaderNodeScalarOp, VisualShaderNode) +	GDCLASS(VisualShaderNodeScalarOp, VisualShaderNode);  public:  	enum Operator { @@ -345,7 +345,7 @@ public:  VARIANT_ENUM_CAST(VisualShaderNodeScalarOp::Operator)  class VisualShaderNodeVectorOp : public VisualShaderNode { -	GDCLASS(VisualShaderNodeVectorOp, VisualShaderNode) +	GDCLASS(VisualShaderNodeVectorOp, VisualShaderNode);  public:  	enum Operator { @@ -394,7 +394,7 @@ VARIANT_ENUM_CAST(VisualShaderNodeVectorOp::Operator)  ///////////////////////////////////////  class VisualShaderNodeColorOp : public VisualShaderNode { -	GDCLASS(VisualShaderNodeColorOp, VisualShaderNode) +	GDCLASS(VisualShaderNodeColorOp, VisualShaderNode);  public:  	enum Operator { @@ -442,7 +442,7 @@ VARIANT_ENUM_CAST(VisualShaderNodeColorOp::Operator)  ///////////////////////////////////////  class VisualShaderNodeTransformMult : public VisualShaderNode { -	GDCLASS(VisualShaderNodeTransformMult, VisualShaderNode) +	GDCLASS(VisualShaderNodeTransformMult, VisualShaderNode);  public:  	enum Operator { @@ -485,7 +485,7 @@ VARIANT_ENUM_CAST(VisualShaderNodeTransformMult::Operator)  ///////////////////////////////////////  class VisualShaderNodeTransformVecMult : public VisualShaderNode { -	GDCLASS(VisualShaderNodeTransformVecMult, VisualShaderNode) +	GDCLASS(VisualShaderNodeTransformVecMult, VisualShaderNode);  public:  	enum Operator { @@ -528,7 +528,7 @@ VARIANT_ENUM_CAST(VisualShaderNodeTransformVecMult::Operator)  ///////////////////////////////////////  class VisualShaderNodeScalarFunc : public VisualShaderNode { -	GDCLASS(VisualShaderNodeScalarFunc, VisualShaderNode) +	GDCLASS(VisualShaderNodeScalarFunc, VisualShaderNode);  public:  	enum Function { @@ -599,7 +599,7 @@ VARIANT_ENUM_CAST(VisualShaderNodeScalarFunc::Function)  ///////////////////////////////////////  class VisualShaderNodeVectorFunc : public VisualShaderNode { -	GDCLASS(VisualShaderNodeVectorFunc, VisualShaderNode) +	GDCLASS(VisualShaderNodeVectorFunc, VisualShaderNode);  public:  	enum Function { @@ -673,7 +673,7 @@ VARIANT_ENUM_CAST(VisualShaderNodeVectorFunc::Function)  ///////////////////////////////////////  class VisualShaderNodeColorFunc : public VisualShaderNode { -	GDCLASS(VisualShaderNodeColorFunc, VisualShaderNode) +	GDCLASS(VisualShaderNodeColorFunc, VisualShaderNode);  public:  	enum Function { @@ -714,7 +714,7 @@ VARIANT_ENUM_CAST(VisualShaderNodeColorFunc::Function)  ///////////////////////////////////////  class VisualShaderNodeTransformFunc : public VisualShaderNode { -	GDCLASS(VisualShaderNodeTransformFunc, VisualShaderNode) +	GDCLASS(VisualShaderNodeTransformFunc, VisualShaderNode);  public:  	enum Function { @@ -755,7 +755,7 @@ VARIANT_ENUM_CAST(VisualShaderNodeTransformFunc::Function)  ///////////////////////////////////////  class VisualShaderNodeDotProduct : public VisualShaderNode { -	GDCLASS(VisualShaderNodeDotProduct, VisualShaderNode) +	GDCLASS(VisualShaderNodeDotProduct, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -778,7 +778,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeVectorLen : public VisualShaderNode { -	GDCLASS(VisualShaderNodeVectorLen, VisualShaderNode) +	GDCLASS(VisualShaderNodeVectorLen, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -801,7 +801,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeDeterminant : public VisualShaderNode { -	GDCLASS(VisualShaderNodeDeterminant, VisualShaderNode) +	GDCLASS(VisualShaderNodeDeterminant, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -824,7 +824,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeScalarClamp : public VisualShaderNode { -	GDCLASS(VisualShaderNodeScalarClamp, VisualShaderNode) +	GDCLASS(VisualShaderNodeScalarClamp, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -845,7 +845,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeVectorClamp : public VisualShaderNode { -	GDCLASS(VisualShaderNodeVectorClamp, VisualShaderNode) +	GDCLASS(VisualShaderNodeVectorClamp, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -868,7 +868,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeScalarDerivativeFunc : public VisualShaderNode { -	GDCLASS(VisualShaderNodeScalarDerivativeFunc, VisualShaderNode) +	GDCLASS(VisualShaderNodeScalarDerivativeFunc, VisualShaderNode);  public:  	enum Function { @@ -908,7 +908,7 @@ VARIANT_ENUM_CAST(VisualShaderNodeScalarDerivativeFunc::Function)  ///////////////////////////////////////  class VisualShaderNodeVectorDerivativeFunc : public VisualShaderNode { -	GDCLASS(VisualShaderNodeVectorDerivativeFunc, VisualShaderNode) +	GDCLASS(VisualShaderNodeVectorDerivativeFunc, VisualShaderNode);  public:  	enum Function { @@ -950,7 +950,7 @@ VARIANT_ENUM_CAST(VisualShaderNodeVectorDerivativeFunc::Function)  ///////////////////////////////////////  class VisualShaderNodeFaceForward : public VisualShaderNode { -	GDCLASS(VisualShaderNodeFaceForward, VisualShaderNode) +	GDCLASS(VisualShaderNodeFaceForward, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -973,7 +973,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeOuterProduct : public VisualShaderNode { -	GDCLASS(VisualShaderNodeOuterProduct, VisualShaderNode) +	GDCLASS(VisualShaderNodeOuterProduct, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -996,7 +996,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeVectorScalarStep : public VisualShaderNode { -	GDCLASS(VisualShaderNodeVectorScalarStep, VisualShaderNode) +	GDCLASS(VisualShaderNodeVectorScalarStep, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -1019,7 +1019,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeScalarSmoothStep : public VisualShaderNode { -	GDCLASS(VisualShaderNodeScalarSmoothStep, VisualShaderNode) +	GDCLASS(VisualShaderNodeScalarSmoothStep, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -1040,7 +1040,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeVectorSmoothStep : public VisualShaderNode { -	GDCLASS(VisualShaderNodeVectorSmoothStep, VisualShaderNode) +	GDCLASS(VisualShaderNodeVectorSmoothStep, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -1061,7 +1061,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeVectorScalarSmoothStep : public VisualShaderNode { -	GDCLASS(VisualShaderNodeVectorScalarSmoothStep, VisualShaderNode) +	GDCLASS(VisualShaderNodeVectorScalarSmoothStep, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -1084,7 +1084,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeVectorDistance : public VisualShaderNode { -	GDCLASS(VisualShaderNodeVectorDistance, VisualShaderNode) +	GDCLASS(VisualShaderNodeVectorDistance, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -1107,7 +1107,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeVectorRefract : public VisualShaderNode { -	GDCLASS(VisualShaderNodeVectorRefract, VisualShaderNode) +	GDCLASS(VisualShaderNodeVectorRefract, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -1130,7 +1130,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeScalarInterp : public VisualShaderNode { -	GDCLASS(VisualShaderNodeScalarInterp, VisualShaderNode) +	GDCLASS(VisualShaderNodeScalarInterp, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -1151,7 +1151,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeVectorInterp : public VisualShaderNode { -	GDCLASS(VisualShaderNodeVectorInterp, VisualShaderNode) +	GDCLASS(VisualShaderNodeVectorInterp, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -1174,7 +1174,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeVectorCompose : public VisualShaderNode { -	GDCLASS(VisualShaderNodeVectorCompose, VisualShaderNode) +	GDCLASS(VisualShaderNodeVectorCompose, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -1195,7 +1195,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeTransformCompose : public VisualShaderNode { -	GDCLASS(VisualShaderNodeTransformCompose, VisualShaderNode) +	GDCLASS(VisualShaderNodeTransformCompose, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -1218,7 +1218,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeVectorDecompose : public VisualShaderNode { -	GDCLASS(VisualShaderNodeVectorDecompose, VisualShaderNode) +	GDCLASS(VisualShaderNodeVectorDecompose, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -1239,7 +1239,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeTransformDecompose : public VisualShaderNode { -	GDCLASS(VisualShaderNodeTransformDecompose, VisualShaderNode) +	GDCLASS(VisualShaderNodeTransformDecompose, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -1262,7 +1262,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeScalarUniform : public VisualShaderNodeUniform { -	GDCLASS(VisualShaderNodeScalarUniform, VisualShaderNodeUniform) +	GDCLASS(VisualShaderNodeScalarUniform, VisualShaderNodeUniform);  public:  	virtual String get_caption() const; @@ -1284,7 +1284,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeBooleanUniform : public VisualShaderNodeUniform { -	GDCLASS(VisualShaderNodeBooleanUniform, VisualShaderNodeUniform) +	GDCLASS(VisualShaderNodeBooleanUniform, VisualShaderNodeUniform);  public:  	virtual String get_caption() const; @@ -1306,7 +1306,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeColorUniform : public VisualShaderNodeUniform { -	GDCLASS(VisualShaderNodeColorUniform, VisualShaderNodeUniform) +	GDCLASS(VisualShaderNodeColorUniform, VisualShaderNodeUniform);  public:  	virtual String get_caption() const; @@ -1328,7 +1328,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeVec3Uniform : public VisualShaderNodeUniform { -	GDCLASS(VisualShaderNodeVec3Uniform, VisualShaderNodeUniform) +	GDCLASS(VisualShaderNodeVec3Uniform, VisualShaderNodeUniform);  public:  	virtual String get_caption() const; @@ -1350,7 +1350,7 @@ public:  ///////////////////////////////////////  class VisualShaderNodeTransformUniform : public VisualShaderNodeUniform { -	GDCLASS(VisualShaderNodeTransformUniform, VisualShaderNodeUniform) +	GDCLASS(VisualShaderNodeTransformUniform, VisualShaderNodeUniform);  public:  	virtual String get_caption() const; @@ -1372,7 +1372,8 @@ public:  ///////////////////////////////////////  class VisualShaderNodeTextureUniform : public VisualShaderNodeUniform { -	GDCLASS(VisualShaderNodeTextureUniform, VisualShaderNodeUniform) +	GDCLASS(VisualShaderNodeTextureUniform, VisualShaderNodeUniform); +  public:  	enum TextureType {  		TYPE_DATA, @@ -1424,7 +1425,7 @@ VARIANT_ENUM_CAST(VisualShaderNodeTextureUniform::ColorDefault)  ///////////////////////////////////////  class VisualShaderNodeCubeMapUniform : public VisualShaderNode { -	GDCLASS(VisualShaderNodeCubeMapUniform, VisualShaderNode) +	GDCLASS(VisualShaderNodeCubeMapUniform, VisualShaderNode);  public:  	virtual String get_caption() const; @@ -1447,7 +1448,8 @@ public:  ///////////////////////////////////////  class VisualShaderNodeIf : public VisualShaderNode { -	GDCLASS(VisualShaderNodeIf, VisualShaderNode) +	GDCLASS(VisualShaderNodeIf, VisualShaderNode); +  public:  	virtual String get_caption() const; @@ -1469,7 +1471,8 @@ public:  ///////////////////////////////////////  class VisualShaderNodeSwitch : public VisualShaderNode { -	GDCLASS(VisualShaderNodeSwitch, VisualShaderNode) +	GDCLASS(VisualShaderNodeSwitch, VisualShaderNode); +  public:  	virtual String get_caption() const; @@ -1491,7 +1494,8 @@ public:  ///////////////////////////////////////  class VisualShaderNodeFresnel : public VisualShaderNode { -	GDCLASS(VisualShaderNodeFresnel, VisualShaderNode) +	GDCLASS(VisualShaderNodeFresnel, VisualShaderNode); +  public:  	virtual String get_caption() const; diff --git a/servers/audio/audio_effect.h b/servers/audio/audio_effect.h index 1274e06740..8ae716db20 100644 --- a/servers/audio/audio_effect.h +++ b/servers/audio/audio_effect.h @@ -35,7 +35,7 @@  #include "core/resource.h"  class AudioEffectInstance : public Reference { -	GDCLASS(AudioEffectInstance, Reference) +	GDCLASS(AudioEffectInstance, Reference);  public:  	virtual void process(const AudioFrame *p_src_frames, AudioFrame *p_dst_frames, int p_frame_count) = 0; @@ -43,7 +43,8 @@ public:  };  class AudioEffect : public Resource { -	GDCLASS(AudioEffect, Resource) +	GDCLASS(AudioEffect, Resource); +  public:  	virtual Ref<AudioEffectInstance> instance() = 0;  	AudioEffect(); diff --git a/servers/audio/audio_stream.h b/servers/audio/audio_stream.h index ab4ef5f91b..8f023c0401 100644 --- a/servers/audio/audio_stream.h +++ b/servers/audio/audio_stream.h @@ -38,7 +38,7 @@  class AudioStreamPlayback : public Reference { -	GDCLASS(AudioStreamPlayback, Reference) +	GDCLASS(AudioStreamPlayback, Reference);  public:  	virtual void start(float p_from_pos = 0.0) = 0; @@ -55,7 +55,7 @@ public:  class AudioStreamPlaybackResampled : public AudioStreamPlayback { -	GDCLASS(AudioStreamPlaybackResampled, AudioStreamPlayback) +	GDCLASS(AudioStreamPlaybackResampled, AudioStreamPlayback);  	enum {  		FP_BITS = 16, //fixed point used for resampling @@ -81,7 +81,7 @@ public:  class AudioStream : public Resource { -	GDCLASS(AudioStream, Resource) +	GDCLASS(AudioStream, Resource);  	OBJ_SAVE_TYPE(AudioStream) //children are all saved as AudioStream, so they can be exchanged  protected: @@ -100,7 +100,7 @@ class AudioStreamPlaybackMicrophone;  class AudioStreamMicrophone : public AudioStream { -	GDCLASS(AudioStreamMicrophone, AudioStream) +	GDCLASS(AudioStreamMicrophone, AudioStream);  	friend class AudioStreamPlaybackMicrophone;  	Set<AudioStreamPlaybackMicrophone *> playbacks; @@ -119,7 +119,7 @@ public:  class AudioStreamPlaybackMicrophone : public AudioStreamPlaybackResampled { -	GDCLASS(AudioStreamPlaybackMicrophone, AudioStreamPlayback) +	GDCLASS(AudioStreamPlaybackMicrophone, AudioStreamPlayback);  	friend class AudioStreamMicrophone;  	bool active; @@ -153,7 +153,7 @@ class AudioStreamPlaybackRandomPitch;  class AudioStreamRandomPitch : public AudioStream { -	GDCLASS(AudioStreamRandomPitch, AudioStream) +	GDCLASS(AudioStreamRandomPitch, AudioStream);  	friend class AudioStreamPlaybackRandomPitch;  	Set<AudioStreamPlaybackRandomPitch *> playbacks; @@ -180,7 +180,7 @@ public:  class AudioStreamPlaybackRandomPitch : public AudioStreamPlayback { -	GDCLASS(AudioStreamPlaybackRandomPitch, AudioStreamPlayback) +	GDCLASS(AudioStreamPlaybackRandomPitch, AudioStreamPlayback);  	friend class AudioStreamRandomPitch;  	Ref<AudioStreamRandomPitch> random_pitch; diff --git a/servers/audio/effects/audio_effect_amplify.h b/servers/audio/effects/audio_effect_amplify.h index b6e2a1d4d8..4a98196d94 100644 --- a/servers/audio/effects/audio_effect_amplify.h +++ b/servers/audio/effects/audio_effect_amplify.h @@ -36,7 +36,7 @@  class AudioEffectAmplify;  class AudioEffectAmplifyInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectAmplifyInstance, AudioEffectInstance) +	GDCLASS(AudioEffectAmplifyInstance, AudioEffectInstance);  	friend class AudioEffectAmplify;  	Ref<AudioEffectAmplify> base; @@ -47,7 +47,7 @@ public:  };  class AudioEffectAmplify : public AudioEffect { -	GDCLASS(AudioEffectAmplify, AudioEffect) +	GDCLASS(AudioEffectAmplify, AudioEffect);  	friend class AudioEffectAmplifyInstance;  	float volume_db; diff --git a/servers/audio/effects/audio_effect_chorus.h b/servers/audio/effects/audio_effect_chorus.h index 9cad2906ff..417cc0c035 100644 --- a/servers/audio/effects/audio_effect_chorus.h +++ b/servers/audio/effects/audio_effect_chorus.h @@ -36,7 +36,7 @@  class AudioEffectChorus;  class AudioEffectChorusInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectChorusInstance, AudioEffectInstance) +	GDCLASS(AudioEffectChorusInstance, AudioEffectInstance);  	friend class AudioEffectChorus;  	Ref<AudioEffectChorus> base; @@ -54,7 +54,7 @@ public:  };  class AudioEffectChorus : public AudioEffect { -	GDCLASS(AudioEffectChorus, AudioEffect) +	GDCLASS(AudioEffectChorus, AudioEffect);  	friend class AudioEffectChorusInstance; diff --git a/servers/audio/effects/audio_effect_compressor.h b/servers/audio/effects/audio_effect_compressor.h index 3ea3a58cb2..0fe956f60b 100644 --- a/servers/audio/effects/audio_effect_compressor.h +++ b/servers/audio/effects/audio_effect_compressor.h @@ -36,7 +36,7 @@  class AudioEffectCompressor;  class AudioEffectCompressorInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectCompressorInstance, AudioEffectInstance) +	GDCLASS(AudioEffectCompressorInstance, AudioEffectInstance);  	friend class AudioEffectCompressor;  	Ref<AudioEffectCompressor> base; @@ -49,7 +49,7 @@ public:  };  class AudioEffectCompressor : public AudioEffect { -	GDCLASS(AudioEffectCompressor, AudioEffect) +	GDCLASS(AudioEffectCompressor, AudioEffect);  	friend class AudioEffectCompressorInstance;  	float threshold; diff --git a/servers/audio/effects/audio_effect_delay.h b/servers/audio/effects/audio_effect_delay.h index 131b8714a0..ee778c70dc 100644 --- a/servers/audio/effects/audio_effect_delay.h +++ b/servers/audio/effects/audio_effect_delay.h @@ -36,7 +36,7 @@  class AudioEffectDelay;  class AudioEffectDelayInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectDelayInstance, AudioEffectInstance) +	GDCLASS(AudioEffectDelayInstance, AudioEffectInstance);  	friend class AudioEffectDelay;  	Ref<AudioEffectDelay> base; @@ -58,7 +58,7 @@ public:  };  class AudioEffectDelay : public AudioEffect { -	GDCLASS(AudioEffectDelay, AudioEffect) +	GDCLASS(AudioEffectDelay, AudioEffect);  	friend class AudioEffectDelayInstance;  	enum { diff --git a/servers/audio/effects/audio_effect_distortion.h b/servers/audio/effects/audio_effect_distortion.h index 2cbffc81a1..0b5ad0ec9e 100644 --- a/servers/audio/effects/audio_effect_distortion.h +++ b/servers/audio/effects/audio_effect_distortion.h @@ -36,7 +36,7 @@  class AudioEffectDistortion;  class AudioEffectDistortionInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectDistortionInstance, AudioEffectInstance) +	GDCLASS(AudioEffectDistortionInstance, AudioEffectInstance);  	friend class AudioEffectDistortion;  	Ref<AudioEffectDistortion> base;  	float h[2]; @@ -46,7 +46,8 @@ public:  };  class AudioEffectDistortion : public AudioEffect { -	GDCLASS(AudioEffectDistortion, AudioEffect) +	GDCLASS(AudioEffectDistortion, AudioEffect); +  public:  	enum Mode {  		MODE_CLIP, diff --git a/servers/audio/effects/audio_effect_eq.h b/servers/audio/effects/audio_effect_eq.h index c9735b9073..dc75e566e7 100644 --- a/servers/audio/effects/audio_effect_eq.h +++ b/servers/audio/effects/audio_effect_eq.h @@ -37,7 +37,7 @@  class AudioEffectEQ;  class AudioEffectEQInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectEQInstance, AudioEffectInstance) +	GDCLASS(AudioEffectEQInstance, AudioEffectInstance);  	friend class AudioEffectEQ;  	Ref<AudioEffectEQ> base; @@ -49,7 +49,7 @@ public:  };  class AudioEffectEQ : public AudioEffect { -	GDCLASS(AudioEffectEQ, AudioEffect) +	GDCLASS(AudioEffectEQ, AudioEffect);  	friend class AudioEffectEQInstance; @@ -75,21 +75,24 @@ public:  };  class AudioEffectEQ6 : public AudioEffectEQ { -	GDCLASS(AudioEffectEQ6, AudioEffectEQ) +	GDCLASS(AudioEffectEQ6, AudioEffectEQ); +  public:  	AudioEffectEQ6() :  			AudioEffectEQ(EQ::PRESET_6_BANDS) {}  };  class AudioEffectEQ10 : public AudioEffectEQ { -	GDCLASS(AudioEffectEQ10, AudioEffectEQ) +	GDCLASS(AudioEffectEQ10, AudioEffectEQ); +  public:  	AudioEffectEQ10() :  			AudioEffectEQ(EQ::PRESET_10_BANDS) {}  };  class AudioEffectEQ21 : public AudioEffectEQ { -	GDCLASS(AudioEffectEQ21, AudioEffectEQ) +	GDCLASS(AudioEffectEQ21, AudioEffectEQ); +  public:  	AudioEffectEQ21() :  			AudioEffectEQ(EQ::PRESET_21_BANDS) {} diff --git a/servers/audio/effects/audio_effect_filter.h b/servers/audio/effects/audio_effect_filter.h index fd9a4bcf07..bb0d451522 100644 --- a/servers/audio/effects/audio_effect_filter.h +++ b/servers/audio/effects/audio_effect_filter.h @@ -37,7 +37,7 @@  class AudioEffectFilter;  class AudioEffectFilterInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectFilterInstance, AudioEffectInstance) +	GDCLASS(AudioEffectFilterInstance, AudioEffectInstance);  	friend class AudioEffectFilter;  	Ref<AudioEffectFilter> base; @@ -55,7 +55,8 @@ public:  };  class AudioEffectFilter : public AudioEffect { -	GDCLASS(AudioEffectFilter, AudioEffect) +	GDCLASS(AudioEffectFilter, AudioEffect); +  public:  	enum FilterDB {  		FILTER_6DB, @@ -95,7 +96,7 @@ public:  VARIANT_ENUM_CAST(AudioEffectFilter::FilterDB)  class AudioEffectLowPassFilter : public AudioEffectFilter { -	GDCLASS(AudioEffectLowPassFilter, AudioEffectFilter) +	GDCLASS(AudioEffectLowPassFilter, AudioEffectFilter);  	void _validate_property(PropertyInfo &property) const {  		if (property.name == "gain") property.usage = 0; @@ -107,7 +108,7 @@ public:  };  class AudioEffectHighPassFilter : public AudioEffectFilter { -	GDCLASS(AudioEffectHighPassFilter, AudioEffectFilter) +	GDCLASS(AudioEffectHighPassFilter, AudioEffectFilter);  	void _validate_property(PropertyInfo &property) const {  		if (property.name == "gain") property.usage = 0;  	} @@ -118,7 +119,7 @@ public:  };  class AudioEffectBandPassFilter : public AudioEffectFilter { -	GDCLASS(AudioEffectBandPassFilter, AudioEffectFilter) +	GDCLASS(AudioEffectBandPassFilter, AudioEffectFilter);  	void _validate_property(PropertyInfo &property) const {  		if (property.name == "gain") property.usage = 0;  	} @@ -129,28 +130,32 @@ public:  };  class AudioEffectNotchFilter : public AudioEffectFilter { -	GDCLASS(AudioEffectNotchFilter, AudioEffectFilter) +	GDCLASS(AudioEffectNotchFilter, AudioEffectFilter); +  public:  	AudioEffectNotchFilter() :  			AudioEffectFilter(AudioFilterSW::NOTCH) {}  };  class AudioEffectBandLimitFilter : public AudioEffectFilter { -	GDCLASS(AudioEffectBandLimitFilter, AudioEffectFilter) +	GDCLASS(AudioEffectBandLimitFilter, AudioEffectFilter); +  public:  	AudioEffectBandLimitFilter() :  			AudioEffectFilter(AudioFilterSW::BANDLIMIT) {}  };  class AudioEffectLowShelfFilter : public AudioEffectFilter { -	GDCLASS(AudioEffectLowShelfFilter, AudioEffectFilter) +	GDCLASS(AudioEffectLowShelfFilter, AudioEffectFilter); +  public:  	AudioEffectLowShelfFilter() :  			AudioEffectFilter(AudioFilterSW::LOWSHELF) {}  };  class AudioEffectHighShelfFilter : public AudioEffectFilter { -	GDCLASS(AudioEffectHighShelfFilter, AudioEffectFilter) +	GDCLASS(AudioEffectHighShelfFilter, AudioEffectFilter); +  public:  	AudioEffectHighShelfFilter() :  			AudioEffectFilter(AudioFilterSW::HIGHSHELF) {} diff --git a/servers/audio/effects/audio_effect_limiter.h b/servers/audio/effects/audio_effect_limiter.h index d629166f42..bf7167e3f4 100644 --- a/servers/audio/effects/audio_effect_limiter.h +++ b/servers/audio/effects/audio_effect_limiter.h @@ -36,7 +36,7 @@  class AudioEffectLimiter;  class AudioEffectLimiterInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectLimiterInstance, AudioEffectInstance) +	GDCLASS(AudioEffectLimiterInstance, AudioEffectInstance);  	friend class AudioEffectLimiter;  	Ref<AudioEffectLimiter> base; @@ -47,7 +47,7 @@ public:  };  class AudioEffectLimiter : public AudioEffect { -	GDCLASS(AudioEffectLimiter, AudioEffect) +	GDCLASS(AudioEffectLimiter, AudioEffect);  	friend class AudioEffectLimiterInstance;  	float threshold; diff --git a/servers/audio/effects/audio_effect_panner.h b/servers/audio/effects/audio_effect_panner.h index 4256d05a2f..7bd5a09fc6 100644 --- a/servers/audio/effects/audio_effect_panner.h +++ b/servers/audio/effects/audio_effect_panner.h @@ -36,7 +36,7 @@  class AudioEffectPanner;  class AudioEffectPannerInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectPannerInstance, AudioEffectInstance) +	GDCLASS(AudioEffectPannerInstance, AudioEffectInstance);  	friend class AudioEffectPanner;  	Ref<AudioEffectPanner> base; @@ -45,7 +45,7 @@ public:  };  class AudioEffectPanner : public AudioEffect { -	GDCLASS(AudioEffectPanner, AudioEffect) +	GDCLASS(AudioEffectPanner, AudioEffect);  	friend class AudioEffectPannerInstance;  	float pan; diff --git a/servers/audio/effects/audio_effect_phaser.h b/servers/audio/effects/audio_effect_phaser.h index 264e792be5..b76d6bb29c 100644 --- a/servers/audio/effects/audio_effect_phaser.h +++ b/servers/audio/effects/audio_effect_phaser.h @@ -36,7 +36,7 @@  class AudioEffectPhaser;  class AudioEffectPhaserInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectPhaserInstance, AudioEffectInstance) +	GDCLASS(AudioEffectPhaserInstance, AudioEffectInstance);  	friend class AudioEffectPhaser;  	Ref<AudioEffectPhaser> base; @@ -70,7 +70,7 @@ public:  };  class AudioEffectPhaser : public AudioEffect { -	GDCLASS(AudioEffectPhaser, AudioEffect) +	GDCLASS(AudioEffectPhaser, AudioEffect);  	friend class AudioEffectPhaserInstance;  	float range_min; diff --git a/servers/audio/effects/audio_effect_pitch_shift.h b/servers/audio/effects/audio_effect_pitch_shift.h index 0c80cb6344..2028496ebf 100644 --- a/servers/audio/effects/audio_effect_pitch_shift.h +++ b/servers/audio/effects/audio_effect_pitch_shift.h @@ -72,7 +72,7 @@ public:  class AudioEffectPitchShift;  class AudioEffectPitchShiftInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectPitchShiftInstance, AudioEffectInstance) +	GDCLASS(AudioEffectPitchShiftInstance, AudioEffectInstance);  	friend class AudioEffectPitchShift;  	Ref<AudioEffectPitchShift> base; @@ -85,8 +85,11 @@ public:  };  class AudioEffectPitchShift : public AudioEffect { -	GDCLASS(AudioEffectPitchShift, AudioEffect) +	GDCLASS(AudioEffectPitchShift, AudioEffect); +  public: +	friend class AudioEffectPitchShiftInstance; +  	enum FFT_Size {  		FFT_SIZE_256,  		FFT_SIZE_512, @@ -96,9 +99,6 @@ public:  		FFT_SIZE_MAX  	}; -public: -	friend class AudioEffectPitchShiftInstance; -  	float pitch_scale;  	int oversampling;  	FFT_Size fft_size; diff --git a/servers/audio/effects/audio_effect_record.h b/servers/audio/effects/audio_effect_record.h index 528c7dbd7c..d9bf39eb5f 100644 --- a/servers/audio/effects/audio_effect_record.h +++ b/servers/audio/effects/audio_effect_record.h @@ -43,7 +43,7 @@  class AudioEffectRecord;  class AudioEffectRecordInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectRecordInstance, AudioEffectInstance) +	GDCLASS(AudioEffectRecordInstance, AudioEffectInstance);  	friend class AudioEffectRecord;  	Ref<AudioEffectRecord> base; @@ -77,7 +77,7 @@ public:  };  class AudioEffectRecord : public AudioEffect { -	GDCLASS(AudioEffectRecord, AudioEffect) +	GDCLASS(AudioEffectRecord, AudioEffect);  	friend class AudioEffectRecordInstance; diff --git a/servers/audio/effects/audio_effect_reverb.h b/servers/audio/effects/audio_effect_reverb.h index ed76050f24..31a796bf98 100644 --- a/servers/audio/effects/audio_effect_reverb.h +++ b/servers/audio/effects/audio_effect_reverb.h @@ -37,7 +37,7 @@  class AudioEffectReverb;  class AudioEffectReverbInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectReverbInstance, AudioEffectInstance) +	GDCLASS(AudioEffectReverbInstance, AudioEffectInstance);  	Ref<AudioEffectReverb> base; @@ -54,7 +54,7 @@ public:  };  class AudioEffectReverb : public AudioEffect { -	GDCLASS(AudioEffectReverb, AudioEffect) +	GDCLASS(AudioEffectReverb, AudioEffect);  	friend class AudioEffectReverbInstance; diff --git a/servers/audio/effects/audio_effect_spectrum_analyzer.h b/servers/audio/effects/audio_effect_spectrum_analyzer.h index 4f4c3c8a58..27eb88d29f 100644 --- a/servers/audio/effects/audio_effect_spectrum_analyzer.h +++ b/servers/audio/effects/audio_effect_spectrum_analyzer.h @@ -36,7 +36,7 @@  class AudioEffectSpectrumAnalyzer;  class AudioEffectSpectrumAnalyzerInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectSpectrumAnalyzerInstance, AudioEffectInstance) +	GDCLASS(AudioEffectSpectrumAnalyzerInstance, AudioEffectInstance);  public:  	enum MagnitudeMode { @@ -68,7 +68,8 @@ public:  VARIANT_ENUM_CAST(AudioEffectSpectrumAnalyzerInstance::MagnitudeMode)  class AudioEffectSpectrumAnalyzer : public AudioEffect { -	GDCLASS(AudioEffectSpectrumAnalyzer, AudioEffect) +	GDCLASS(AudioEffectSpectrumAnalyzer, AudioEffect); +  public:  	enum FFT_Size {  		FFT_SIZE_256, diff --git a/servers/audio/effects/audio_effect_stereo_enhance.h b/servers/audio/effects/audio_effect_stereo_enhance.h index 787c351a03..44b7d3eb5c 100644 --- a/servers/audio/effects/audio_effect_stereo_enhance.h +++ b/servers/audio/effects/audio_effect_stereo_enhance.h @@ -36,7 +36,7 @@  class AudioEffectStereoEnhance;  class AudioEffectStereoEnhanceInstance : public AudioEffectInstance { -	GDCLASS(AudioEffectStereoEnhanceInstance, AudioEffectInstance) +	GDCLASS(AudioEffectStereoEnhanceInstance, AudioEffectInstance);  	friend class AudioEffectStereoEnhance;  	Ref<AudioEffectStereoEnhance> base; @@ -56,7 +56,7 @@ public:  };  class AudioEffectStereoEnhance : public AudioEffect { -	GDCLASS(AudioEffectStereoEnhance, AudioEffect) +	GDCLASS(AudioEffectStereoEnhance, AudioEffect);  	friend class AudioEffectStereoEnhanceInstance;  	float volume_db; diff --git a/servers/audio/effects/audio_stream_generator.h b/servers/audio/effects/audio_stream_generator.h index c3490ddaa5..33839d3db8 100644 --- a/servers/audio/effects/audio_stream_generator.h +++ b/servers/audio/effects/audio_stream_generator.h @@ -35,7 +35,7 @@  #include "servers/audio/audio_stream.h"  class AudioStreamGenerator : public AudioStream { -	GDCLASS(AudioStreamGenerator, AudioStream) +	GDCLASS(AudioStreamGenerator, AudioStream);  	float mix_rate;  	float buffer_len; @@ -59,7 +59,7 @@ public:  class AudioStreamGeneratorPlayback : public AudioStreamPlaybackResampled { -	GDCLASS(AudioStreamGeneratorPlayback, AudioStreamPlaybackResampled) +	GDCLASS(AudioStreamGeneratorPlayback, AudioStreamPlaybackResampled);  	friend class AudioStreamGenerator;  	RingBuffer<AudioFrame> buffer;  	int skips; diff --git a/servers/audio_server.h b/servers/audio_server.h index 8c0ffd5a6b..942fe7bc87 100644 --- a/servers/audio_server.h +++ b/servers/audio_server.h @@ -147,7 +147,8 @@ class AudioBusLayout;  class AudioServer : public Object { -	GDCLASS(AudioServer, Object) +	GDCLASS(AudioServer, Object); +  public:  	//re-expose this here, as AudioDriver is not exposed to script  	enum SpeakerMode { @@ -390,7 +391,7 @@ VARIANT_ENUM_CAST(AudioServer::SpeakerMode)  class AudioBusLayout : public Resource { -	GDCLASS(AudioBusLayout, Resource) +	GDCLASS(AudioBusLayout, Resource);  	friend class AudioServer;  |