2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								<?xml version="1.0" encoding="UTF-8" ?>  
						 
					
						
							
								
									
										
										
										
											2023-03-01 01:44:37 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								<class  name= "ResourceSaver"  inherits= "Object"  version= "4.1"  xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation= "../class.xsd" >  
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									<brief_description > 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 01:35:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										A singleton for saving [Resource]s to the filesystem.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</brief_description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<description > 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 01:35:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										A singleton for saving resource types to the filesystem.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										It uses the many [ResourceFormatSaver] classes registered in the engine (either built-in or from a plugin) to save resource data to text-based (e.g. [code].tres[/code] or [code].tscn[/code]) or binary files (e.g. [code].res[/code] or [code].scn[/code]).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<tutorials > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</tutorials> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<methods > 
							 
						 
					
						
							
								
									
										
										
										
											2022-05-15 15:42:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "add_resource_format_saver" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "format_saver"  type= "ResourceFormatSaver"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "1"  name= "at_front"  type= "bool"  default= "false"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-05-15 15:42:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Registers a new [ResourceFormatSaver]. The ResourceSaver will use the ResourceFormatSaver as described in [method save].
							 
						 
					
						
							
								
									
										
										
										
											2022-07-21 07:37:00 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												This method is performed implicitly for ResourceFormatSavers written in GDScript (see [ResourceFormatSaver] for more information).
							 
						 
					
						
							
								
									
										
										
										
											2022-05-15 15:42:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										<method  name= "get_recognized_extensions" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "PackedStringArray"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "type"  type= "Resource"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-01 11:07:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the list of extensions available for saving a resource of a given type.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2022-05-15 15:42:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "remove_resource_format_saver" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "format_saver"  type= "ResourceFormatSaver"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-05-15 15:42:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Unregisters the given [ResourceFormatSaver].
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										<method  name= "save" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "int"  enum= "Error"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "resource"  type= "Resource"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "1"  name= "path"  type= "String"  default= """"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-15 17:06:22 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "2"  name= "flags"  type= "int"  enum= "ResourceSaver.SaverFlags"  is_bitfield= "true"  default= "0"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-09 22:00:19 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Saves a resource to disk to the given path, using a [ResourceFormatSaver] that recognizes the resource object. If [param path] is empty, [ResourceSaver] will try to use [member Resource.resource_path].
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												The [param flags] bitmask can be specified to customize the save behavior using [enum SaverFlags] flags.
							 
						 
					
						
							
								
									
										
										
										
											2019-06-27 13:24:03 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns [constant OK] on success.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</methods> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<constants > 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-24 11:16:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "FLAG_NONE"  value= "0"  enum= "SaverFlags"  is_bitfield= "true" > 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-10 20:11:40 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											No resource saving option.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-24 11:16:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "FLAG_RELATIVE_PATHS"  value= "1"  enum= "SaverFlags"  is_bitfield= "true" > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-18 18:04:29 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Save the resource with a path relative to the scene which uses it.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-24 11:16:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "FLAG_BUNDLE_RESOURCES"  value= "2"  enum= "SaverFlags"  is_bitfield= "true" > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-18 18:04:29 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Bundles external resources.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-24 11:16:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "FLAG_CHANGE_PATH"  value= "4"  enum= "SaverFlags"  is_bitfield= "true" > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Changes the [member Resource.resource_path] of the saved resource to match its new location.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-24 11:16:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "FLAG_OMIT_EDITOR_PROPERTIES"  value= "8"  enum= "SaverFlags"  is_bitfield= "true" > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-18 18:04:29 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Do not save editor-specific metadata (identified by their [code]__editor[/code] prefix).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-24 11:16:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "FLAG_SAVE_BIG_ENDIAN"  value= "16"  enum= "SaverFlags"  is_bitfield= "true" > 
							 
						 
					
						
							
								
									
										
										
										
											2022-09-05 13:01:31 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Save as big endian (see [member FileAccess.big_endian]).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-24 11:16:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "FLAG_COMPRESS"  value= "32"  enum= "SaverFlags"  is_bitfield= "true" > 
							 
						 
					
						
							
								
									
										
										
										
											2022-09-05 13:01:31 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Compress the resource on save using [constant FileAccess.COMPRESSION_ZSTD]. Only available for binary resource types.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-24 11:16:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "FLAG_REPLACE_SUBRESOURCE_PATHS"  value= "64"  enum= "SaverFlags"  is_bitfield= "true" > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-18 18:04:29 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Take over the paths of the saved subresources (see [method Resource.take_over_path]).
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 15:14:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</constants> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								</class>