2019-08-26 02:54:57 +01:00
<?xml version="1.0" encoding="UTF-8" ?>
2021-05-31 17:23:29 +01:00
<class name= "VoxelStreamRegionFiles" inherits= "VoxelStream" version= "3.4" >
2019-08-26 02:54:57 +01:00
<brief_description >
2021-01-21 20:04:53 +00:00
Loads and saves blocks to region files indexed by world position, under a directory.
2019-08-26 02:54:57 +01:00
</brief_description>
<description >
2021-01-21 20:04:53 +00:00
Loads and saves blocks to the filesystem, in multiple region files indexed by world position, under a directory. Regions pack many blocks together, so it reduces file switching and improves performance. Inspired by [url=https://www.seedofandromeda.com/blogs/1-creating-a-region-file-system-for-a-voxel-game]Seed of Andromeda[/url] and Minecraft.
Region files are not thread-safe. Because of this, internal mutexing may often constrain the use by one thread only.
2019-08-26 02:54:57 +01:00
</description>
<tutorials >
</tutorials>
<methods >
<method name= "convert_files" >
<return type= "void" >
</return>
<argument index= "0" name= "new_settings" type= "Dictionary" >
</argument>
<description >
</description>
</method>
<method name= "get_block_size_po2" qualifiers= "const" >
<return type= "int" >
</return>
<description >
</description>
</method>
<method name= "get_region_size" qualifiers= "const" >
<return type= "Vector3" >
</return>
<description >
</description>
</method>
</methods>
<members >
<member name= "block_size_po2" type= "int" setter= "set_block_size_po2" getter= "get_region_size_po2" default= "4" >
</member>
<member name= "directory" type= "String" setter= "set_directory" getter= "get_directory" default= """" >
2021-01-21 20:04:53 +00:00
Directory under which the data is saved.
2019-08-26 02:54:57 +01:00
</member>
<member name= "lod_count" type= "int" setter= "set_lod_count" getter= "get_lod_count" default= "1" >
</member>
<member name= "region_size_po2" type= "int" setter= "set_region_size_po2" getter= "get_region_size_po2" default= "4" >
</member>
<member name= "sector_size" type= "int" setter= "set_sector_size" getter= "get_sector_size" default= "512" >
</member>
</members>
<constants >
</constants>
</class>