diff --git a/README.md b/README.md index ba1ade2..fb3483e 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ - [Chunk](#chunk) - [Builder](#builder) - [Changelog](#changelog) + - [vX.Y.Z](#vxyz) - [v1.7.0](#v170) - [v1.6.0](#v160) - [v1.5.0](#v150) @@ -1171,6 +1172,9 @@ storage :: component[] default :: component duplicate :: {component -> component} +realloc :: {storage?, integer, integer -> storage} +compmove :: {storage, integer, integer, integer, storage} + execute :: {chunk, entity[], integer, any...} prologue :: {any...} epilogue :: {any...} @@ -1200,6 +1204,9 @@ INTERNAL :: fragment DEFAULT :: fragment DUPLICATE :: fragment +REALLOC :: fragment +COMPMOVE :: fragment + PREFAB :: fragment DISABLED :: fragment @@ -1335,6 +1342,9 @@ builder_mt:internal :: builder builder_mt:default :: component -> builder builder_mt:duplicate :: {component -> component} -> builder +builder_mt:realloc :: {storage?, integer, integer -> storage} -> builder +builder_mt:compmove :: {storage, integer, integer, integer, storage} -> builder + builder_mt:prefab :: builder builder_mt:disabled :: builder @@ -1361,6 +1371,10 @@ builder_mt:destruction_policy :: id -> builder ## Changelog +### vX.Y.Z + +- Added the new [`evolved.REALLOC`](#evolvedrealloc) and [`evolved.COMPMOVE`](#evolvedcompmove) fragment traits that allow customizing component storages + ### v1.7.0 - Added the new [`evolved.VARIANTS`](#evolvedvariants) query fragment that allows specifying any of multiple fragments in queries @@ -1430,6 +1444,10 @@ builder_mt:destruction_policy :: id -> builder ### `evolved.DUPLICATE` +### `evolved.REALLOC` + +### `evolved.COMPMOVE` + ### `evolved.PREFAB` ### `evolved.DISABLED` @@ -2047,6 +2065,22 @@ function evolved.builder_mt:default(default) end function evolved.builder_mt:duplicate(duplicate) end ``` +#### `evolved.builder_mt:realloc` + +```lua +---@param realloc evolved.realloc +---@return evolved.builder builder +function evolved.builder_mt:realloc(realloc) end +``` + +#### `evolved.builder_mt:compmove` + +```lua +---@param compmove evolved.compmove +---@return evolved.builder builder +function evolved.builder_mt:compmove(compmove) end +``` + #### `evolved.builder_mt:prefab` ```lua diff --git a/evolved.d.tl b/evolved.d.tl index 8e390b0..d0d7df1 100644 --- a/evolved.d.tl +++ b/evolved.d.tl @@ -64,6 +64,9 @@ default: function(self: Builder, default: Component): Builder duplicate: function(self: Builder, duplicate: function(Component): Component): Builder + realloc: function(self: Builder, realloc: function({ Component } | nil, integer, integer): { Component }): Builder + compmove: function(self: Builder, compmove: function({ Component }, integer, integer, integer, { Component })): Builder + prefab: function(self: Builder): Builder disabled: function(self: Builder): Builder @@ -98,6 +101,9 @@ DEFAULT: Fragment DUPLICATE: Fragment + REALLOC: Fragment + COMPMOVE: Fragment + PREFAB: Fragment DISABLED: Fragment