@@ -107,6 +107,7 @@ ImageMemLoadFunc Image::_tga_mem_loader_func = nullptr;
107
107
ImageMemLoadFunc Image::_bmp_mem_loader_func = nullptr ;
108
108
ScalableImageMemLoadFunc Image::_svg_scalable_mem_loader_func = nullptr ;
109
109
ImageMemLoadFunc Image::_ktx_mem_loader_func = nullptr ;
110
+ ImageMemLoadFunc Image::_gif_mem_loader_func = nullptr ;
110
111
111
112
// External VRAM compression function pointers.
112
113
@@ -3579,6 +3580,7 @@ void Image::_bind_methods() {
3579
3580
ClassDB::bind_method (D_METHOD (" load_tga_from_buffer" , " buffer" ), &Image::load_tga_from_buffer);
3580
3581
ClassDB::bind_method (D_METHOD (" load_bmp_from_buffer" , " buffer" ), &Image::load_bmp_from_buffer);
3581
3582
ClassDB::bind_method (D_METHOD (" load_ktx_from_buffer" , " buffer" ), &Image::load_ktx_from_buffer);
3583
+ ClassDB::bind_method (D_METHOD (" load_gif_from_buffer" , " buffer" ), &Image::load_gif_from_buffer);
3582
3584
3583
3585
ClassDB::bind_method (D_METHOD (" load_svg_from_buffer" , " buffer" , " scale" ), &Image::load_svg_from_buffer, DEFVAL (1.0 ));
3584
3586
ClassDB::bind_method (D_METHOD (" load_svg_from_string" , " svg_str" , " scale" ), &Image::load_svg_from_string, DEFVAL (1.0 ));
@@ -4104,6 +4106,14 @@ Error Image::load_ktx_from_buffer(const Vector<uint8_t> &p_array) {
4104
4106
return _load_from_buffer (p_array, _ktx_mem_loader_func);
4105
4107
}
4106
4108
4109
+ Error Image::load_gif_from_buffer (const Vector<uint8_t > &p_array) {
4110
+ ERR_FAIL_NULL_V_MSG (
4111
+ _gif_mem_loader_func,
4112
+ ERR_UNAVAILABLE,
4113
+ " The GIF module isn't enabled. Recompile the Redot editor or export template binary with the `module_gif_enabled=yes` SCons option." );
4114
+ return _load_from_buffer (p_array, _gif_mem_loader_func);
4115
+ }
4116
+
4107
4117
void Image::convert_rg_to_ra_rgba8 () {
4108
4118
ERR_FAIL_COND (format != FORMAT_RGBA8);
4109
4119
ERR_FAIL_COND (data.is_empty ());
0 commit comments