-
Notifications
You must be signed in to change notification settings - Fork 103
Lua_SyncedControl
The original height map represents the correct levels that the map should have if the map has sustained no damage and used by the restore terrain command to determine what the correct level should be.
The following functions are only needed if you want to change the height map after gadget initialization. If you change the current height map using normal height map functions during gadget initialization, the engine will commit those changes automatically to the original height map after all gadgets are initialized.
Note that this does not affect the current height map. You will need to call functions such as LevelHeightMap to change the map's current terrain levels.
Adds the given height (which can be negative) the original height map in the specified area.
Change the original height map to a specific value in the specified area.
Restore an area of the original height map to the levels as first read from the map file.
Spring.SetOriginalHeightMapFunc( lua_function [, arg1 [, arg2 [, ... ]]] ) -> nil | number absTotalOriginalHeightMapAmountChanged
Use a custom function to change the original height map. These custom functions have to use special function to apply the changes to the original height map: AddOriginalHeightMap and SetOriginalHeightMap (see the following functions)
Example code:
Spring.SetOriginalHeightMapFunc(function()
for z=0,Game.mapSizeZ, Game.squareSize do
for x=0,Game.mapSizeX, Game.squareSize do
Spring.SetOriginalHeightMap( x, z, 200 + 20 * math.cos((x + z) / 90) )
end
end
end)
Can only be called in SetOriginalHeightMapFunc(). Adds the given height (which can be negative) the original height map in the specified area.
Spring.SetOriginalHeightMap( number x, number z, number height [, number terraform = 1 ] ) -> nil | number absHeightDiff
Can only be called in SetOriginalHeightMapFunc(). Change the original height map to a specific value in the specified area. The terraform argument is a scaling factor. It represents how much towards the specified height the current height map should be changed, for exmaple:
If =0 nothing will be changed (the terraform starts) and if =1 the terraform will be finished and the specific height value will be the new current height map level.