User Tools

Site Tools


migration

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
migration [2019/10/09 14:27] maximemigration [2021/06/10 10:57] polymorphgames
Line 1: Line 1:
 ====== Migration Notes ====== ====== Migration Notes ======
 +
 +===== Foundation Preview 1.7.1.0610 =====
 +
 +  * [[changelog:1.7|Full Preview Changelog]]
 +  * [[preview:api|Preview Scripting API]]
 +  * [[preview:assets|Preview Assets]]
 +
 +==== Texture loading ====
 +
 +Some ''[[api:texture|TEXTURE]]'' properties have been changed, depending on their use, to a new type: ''[[preview:api:atlas_cell|ATLAS_CELL]]''.
 +
 +Therefore, we added a way to explicitly choose the type of an asset to load, when calling ''[[mod-management-functions#registerassetid|registerAssetId]]''. Specifying the type is optional, ''TEXTURE'' will be inferred for texture assets if absent.
 +
 +This third parameter is currently only used for image assets.
 +
 +<file lua>
 +mod:registerAssetId("test_img1.png", "TEST_IMAGE_1") -- without type specified, loads as a TEXTURE asset
 +mod:registerAssetId("test_img2.png", "TEST_IMAGE_2", "TEXTURE") -- loads as a TEXTURE asset
 +mod:registerAssetId("test_img3.png", "TEST_IMAGE_3", "ATLAS_CELL") -- loads as an ATLAS_CELL asset
 +</file>
 +
 +**Technical Info:**  Atlas Cells are images packed in a large unique texture (commonly called atlas). This is especially useful for the GUI engine, allowing to draw most of the interface without having to switch the active binded texture.
 +
 +===== Foundation Preview 1.6.0.0522 =====
 +
 +==== BUILDING and MONUMENT asset types ====
 +
 +Monuments have been reworked, and the ''MONUMENT'' type has been merged into ''[[api:building|BUILDING]]''. This means there are a few changes to the way buildings and monuments are created.
 +
 +=== Buildings ===
 +
 +A building's only building part should be specified with the property ''[[api:building#assetcorebuildingpart|AssetCoreBuildingPart]]'' instead of ''BuildingPartSetList''. For the game to not mistake a building for a monument, the property ''[[api:building#buildingpartsetlist|BuildingPartSetList]]'' shoud be left empty.
 +
 +<file lua>
 +local myBuilding = 
 +{
 +    DataType = "BUILDING",
 +    ...
 +}
 +
 +if (foundation.getGameVersion == nil or version.cmp(foundation.getGameVersion(), "1.6") < 0) then
 +    myBuilding.BuildingPartSetList = {
 +        {
 +            Name = "DEFAULT",
 +            BuildingPartList = { "CORE_BUILDING_PART" }
 +        }
 +    }
 +else
 +    myBuilding.AssetCoreBuildingPart = "CORE_BUILDING_PART"
 +end
 +
 +mod:register(myBuilding)
 +</file>
 +
 +=== Monuments ===
 +
 +Monuments are now created around a single building part, placed before all the others. This part is the one selected just after selecting the monument in the building selection menu. This part has to be specified in the property ''[[api:building#assetcorebuildingpart|AssetCoreBuildingPart]]''. All other parts still are in ''[[api:building#buildingpartsetlist|BuildingPartSetList]]''.
 +
 +The core building part, if removed, will remove the whole monument. Like for the market, the core building part can be used for preview only, and be invisible once built by setting ''[[api:building_part#isvisiblewhenbuild|BUILDING_PART.IsVisibleWhenBuilt]]'' to ''false''.
 +
 +<file lua>
 +local myMonument = {
 +    ...
 +}
 +
 +if (foundation.getGameVersion == nil or version.cmp(foundation.getGameVersion(), "1.6") < 0) then
 +    myMonument.DataType = "BUILDING"
 +    myMonument.BuildingPartSetList = {
 +    {
 +        Name = "DEFAULT",
 +        BuildingPartList = { "CORE_BUILDING_PART", "ADDITIONAL_PART_1", "ADDITIONAL_PART_2", "ADDITIONAL_PART_3" }
 +    }
 +else
 +    myMonument.DataType = "BUILDING"
 +    myMonument.AssetCoreBuildingPart = "CORE_BUILDING_PART"
 +    myMonument.BuildingPartSetList = {
 +    {
 +        Name = "DEFAULT",
 +        BuildingPartList = { "ADDITIONAL_PART_1", "ADDITIONAL_PART_2", "ADDITIONAL_PART_3" }
 +    }
 +end
 +
 +mod:register(myMonument)
 +</file>
 +
 +==== Bridge mover ====
 +
 +The way bridges are placed has been modified, and requires a small mover change. A bridge mover (''BUILDING_PART_MOVER_BRIDGE'') was previously needed on a bridge's root part, and on the end part.
 +
 +Now, to have a functional bridge, you need instead to place a bridge mover on the start part and end part, and remove the mover of the core part.
 +
 +Before:
 +  * CorePart - ''[[api:building_part_mover_bridge|BUILDING_PART_MOVER_BRIDGE]]''
 +    * StartPart - ''[[api:building_part_mover|BUILDING_PART_MOVER]]''
 +    * EndPart - ''[[api:building_part_mover_bridge|BUILDING_PART_MOVER_BRIDGE]]''
 +
 +Now:
 +  * CorePart - ''[[api:building_part_mover|BUILDING_PART_MOVER]]''
 +    * StartPart - ''[[api:building_part_mover_bridge|BUILDING_PART_MOVER_BRIDGE]]''
 +    * EndPart - ''[[api:building_part_mover_bridge|BUILDING_PART_MOVER_BRIDGE]]''
 +
 +==== Slope constructor ====
 +
 +Improvements have been made to the bridge, and you now have to setup bridge end parts (''StartPart'' and ''EndPart'') with a ''[[api:building_constructor_slope|BUILDING_CONSTRUCTOR_SLOPE]]''.
 +
 +==== Building zone and basement ====
 +
 +To improve the number of basement spawned, scalable building parts (with constructor ''[[api:building_constructor_scaler|BUILDING_CONSTRUCTOR_SCALER]]'' or ''[[api:building_constructor_basement|BUILDING_CONSTRUCTOR_BASEMENT]]'') now need a non-empty building zone that fits the size of your basement filler. If no building zone is set, basements will not be placed.
 +
 +The [[api:building_zone|BUILDING_ZONE]] type has also been reworked to allow zone polygons per building part.
  
 ===== Foundation 1.4.5.1009 ===== ===== Foundation 1.4.5.1009 =====
migration.txt · Last modified: 2023/09/05 11:21 by mathieu

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki