Skip to content

Commit

Permalink
Merge pull request #30 from Baldrax/release-prep
Browse files Browse the repository at this point in the history
Release prep for v0.22.0
  • Loading branch information
Baldrax authored Aug 3, 2024
2 parents dfe4d10 + d3609e3 commit 16f9c6f
Show file tree
Hide file tree
Showing 10 changed files with 461 additions and 11 deletions.
112 changes: 112 additions & 0 deletions help/nodes/obj/TaleSpire_Biome.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
= TaleSpire Biome =

"""Defines a Biome which controls what TaleSpire Tiles and Props get put on to the terrain."""
=== Overview ===
Defines a TaleSpire biome.

All biomes except for the one marked "Default Biome" in the Biome Settings require a mask. These masks are set in the
"Terrain Edit" area of the TaleSpire_Terrain node and accessible from the "Biome Mask Layer Name" on this node.

NOTE:
When you set a node as the "Default Biome" it will disable that option on all other nodes in this network, however,
if you copy a node from somewhere else that has this toggle enabled you could end up with two biomes set as the
default biome and end up with unpredictable results.

If this node is a sub-biome of another biome node, check the "Use as Sub-Biome" option, this will access the
"Sub-Biome Settings" panel for more options.

== Sub-Biomes ==
Sub-Biomes do not place tiles or props like a normal biome, these networks can be ignored or their contents deleted.
Instead of placing objects the sub-biome just instructs the main biome which objects to swap out. In
"Edit Biome Objects", keep all the network boxes and objects in place with the same names but change the assets the
TaleSpire_Object nodes are accessing.

The point of a sub-biome is to replace the existing objects in the biome with different objects in the defined regions.
So you can make a winter version of a map keeping all the trees and bushes in place and just changing them with
something else.

@parameters
== General ==
Disable Biome:
#id: disable_biome

If enabled this biome will not be used.

Use as Sub-Biome:
#id: enable_sub_biome

If enabled this biome will be used as a sub-biome.

Biome Mask Layer Name:
#id: biome_layer_name

The name of the heightfield layer to use as a mask for defining the region of this biome.

Biome Priority:
#id: biome_priority

Priority for when biomes overlap. The higher priority will be applied in the case where the biome masks are equal.

== Biome Settings ==
Default Biome:
#id: default_biome

Defines this as the default biome, which means it applies to everything that isn't defined in another biome.
There should be only a single default biome defined in a terrain. If you enable this on one biome it will automatically be disabled on all other biomes in the same network.

Scattering:
#id: biome_exclusion

Sets the default scattering behavior for the biome. The default, "Excludes Other Biomes", will only scatter objects
within the current biome. Setting this to "Includes Other Biomes" will cause the biome to scatter objects into all
other biomes. This can be overridden on individual TaleSpire_Scatter nodes.

Sub Biomes:
#id: sub_biomes

Sets the number of sub-biomes to use.

Sub Biome Node:
#id: sub_biome_#

The path to another biome node to be used as a sub-biome. The referenced biome should have "Use as Sub-Biome" set.

== Sub-Biome Settings ==
Mask Threshold:
#id: sb_mask_threshold

If the mask value is above this threshold it will be included in the sub-biome.

Mask Jitter:
#id: sb_mask_jitter

Noise added to the mask to randomize the edge of biomes. This works best if your mask has a large feather to the edge.

== Navigation ==
Edit Biome Objects:
#id: edit_objects

Navigates to the sub-network to define the TaleSpire objects used to define this biome.

Edit Biome Masks:
#id: edit_masks

Navigates to the sub-network to define layer masks for this biome, the masks set in here can be accessed in both the
tile and props networks.

Edit Tiles:
#id: edit_tiles

Navigates to the sub-network to define where tiles are placed on the terrain.

Edit Props:
#id: edit_props

Navigates to the sub-network to define where objects are placed/scattered on the terrain.
~~~
Refresh Biome:
#id: refresh_biome
When changing the objects and sets in the "Edit Objects" area it is sometimes necessary to use this button to refresh the biome.

@related
* [Node:obj/TaleSpire_Terrain]
262 changes: 262 additions & 0 deletions help/nodes/obj/TaleSpire_Terrain.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,262 @@
<style>
.fieldborder {
border-width:3px;
border-style:solid;
border-color:#424242;
background-color:#000000;
color:#e3e3e3;
}
</style>

= TaleSpire Terrain =

"""The main node for creating a terrain for TaleSpire."""

== Overview ==
Controls and sub-networks for creating and exporting a terrain to TaleSpire.

@parameters
=== Map Setup ===
Terrain Name:
#id: terrain_name

The name used to store data on disk. The default, $OS, uses the name of the node.

Terrain Size:
#id: terrain_size

The size of the map in tiles in both X and Z. Y being Up.

Max Tile Stack:
#id: terrain_stack_max

The maximum number of tiles to stack under the surface tile, this will fill vertical gaps in steep terrain.

==== Water ====
Enable Water Plane:
#id: enable_water

When enabled, the water plane is used within the system.

Show Water Plane:
#id: show_water

When enabled, the water plane is visible in the viewport.

Water Plane Level:
#id: water_level

The height of the water plane. For interactivity, you may want to turn off "Enable Water Plane" while adjusting this.

Max Water Tile Depth:
#id: water_stack_max

The maximum number of tiles to stack under the water surface.

Enable Water Tile Generation:
#id: enable_water_tile_gen

When enabled, water tiles will be generated when needed.

Exclude Water Tiles Below Water Plane:
#id: exclude_tiles_below_water_plane

When enabled, and the water plane is active, no water tiles will be generated under the water plane.

==== Ground ====
Show TS Board Level:
#id: show_ground

When enabled, the board level (Ground Plane) in TaleSpire will be shown.

Automatically Determine Board Level:
#id: auto_ground_plane

When enabled, the ground plane will be automatically set slighly under the lowest asset on the map.

Board Level:
#id: ground_level

The height of the ground plane.
=== Display Options ===
Display Heightfield Terrain:
#id: display_terrain

Toggles visibility of the heightfield terrain.

Display Tiles:
#id: display_tiles

Toggles visibility of the surface tiles of the terrain.

Display Props:
#id: display_props

Toggles visibility of the props/objects on the terrain.

Textured Tiles:
#id: textured_tiles

Toggles the visibility of textured floor tiles.

BBOX LOD Size Cutoff:
#id: bbox_lod_vis_size

A threshold for turning off the display of objects represented by bounding boxes based on their size.
The higher this value, large and larger bounding boxes will be hidden from view but the objects will still be exported.

=== Edit ===
Edit Terrain:
#id: edit_terrain

Navigates to the terrain editing network to sculpt the terrain and setup masks.

Build/Cache Terrain Tiles:
#id: cache_terrain_tiles

Re-calculates and saves out the base tiles for the terrain.
This builds the 1x1 and 2x2 tiles of the surface terrain, it should be done every time the terrain is edited,
and when new biomes are defined or biome masks are changed.

Edit Biomes:
#id: edit_biomes

Navigates to the biomes network to create and edit the TaleSpire_Biome nodes that populate the terrain.

=== Export ===

==== Limit Area ====
Export Limited Area:
#id: export_limited_area

When enabled, exporting of the map will be limited to an area defined by the "Bounding Box Geo"

Bounding Box Geo:
#id: limit_bbox_geo

The path to an object to use as the bounding box to limit the area of the map to be exported.
A houdini object node can be dragged into this field to link it.

==== Slab Orientation and Order ====
Show North:
#id: show_north

Toggles the visibility of an arrow over the terrain that points North.

North Direction:
#id: north_dir

Sets the north direction of the map.

Reorient Slab Order:
#id: reorient_slab_order

Uses the "North Direction" to re-orient the slabs so the slabs are placed from West to East and North to South.

Zig Zag Slab Order:
#id: zig_zag_slab_order

Reverses the order of the slabs every other row, so if you are placing slabs manually you don't have to move your camera as far.
==== Export Controls ====
Display Slab Bounds:
#id: display_current_slab

Toggles the visibility of the bounding box of the current slab.

Slab Size:
#id: slabsize

Sets the max size of the slabs to be exported. If you get a slab size error when exporting this will need to be lowered.

Get Slab Index Range:
#id: set_slab_range

Calculates how many slabs are needed, based off the the "Slabe Size", and sets the Slab Index range.

Slab Index:
#id: slabindex

Two fields that depict the currently active slab and the total number of slabs.

Use Registration Marks:
#id: use_reg_marks

When enabled, registration tiles will be exported along with the slab. These are red tiles below the surface of the
slab that help with manually placing the slabs in TaleSpire.

Copy Current Slab:
#id: copy_current_slab

Copies the currently active slab to the clipboard so it can be pasted into TaleSpire.

Copy Slab and Advance:
#id: copy_slab_plus

Copies the currently active slab to the clipboard and advances the slab index to the next slab.
This allows you to repeatedly press this button to manually place every slab in the map.

Multi Copy Slabs:
#id: multi_copy_slabs

Copies all slabs to the clipboard at once. This requires the Multi-Paste Slabs mod to paste into TaleSpire but saves a ton of time.

Use Range List:
#id: multi_use_list

Enable to use a list of slabs as an export, for testing, or if the export missed a few slabs.

Range List:
#id: multi_range_list

A comma separated list of ranges to use for exporting slabs.
- Individual slabs: <span class="fieldborder">&nbsp; 8, 13, 22 &nbsp;</span>
- Ranges: <span class="fieldborder">&nbsp; 1-10, 21-30 &nbsp;</span>
- Ranges with increments: <span class="fieldborder">&nbsp; 1-30:2 &nbsp;</span>
- Full Range with increment: <span class="fieldborder">&nbsp; 1:3 &nbsp;</span>
- Full Range with offset increment: <span class="fieldborder">&nbsp; 2:3 &nbsp;</span> ...
<span class="fieldborder">&nbsp; 3:3 &nbsp;</span>

==== Multi Slab Offset ====
Offset:
#id: multi_slab_offset

When using "Multi Copy Slabs" this offset applies to the entire map within TaleSpire.

=== Attributions ===
Generate:
#id: generate_attributions

Analyzes all the slabs used to make this map and generates a list of attributions.

Copy to Clipboard:
#id: clip_attributions

Copies the list of attributions to the clipboard so they can be pasted elsewhere.

Attributions:
#id: attribution_string

The attributions generated. To utilizes attributions they must be set on the TaleSpire_Object nodes in your biomes.
=== Settings ===
==== Configs ====
Refresh Configs:
#id: cfg_refresh

Reloads the configs from disk in case they were changed while this file was open.

TaleSpire Directory:
#id: cfg_talespire_directory

The base directory of where TaleSpire is installed on the filesystem. The toolset will not work if TaleSpire is not installed on the same machine.

Textured Tiles Enabled by Default:
#id: cfg_textured_tiles

If enabled, all new TaleSpire_Terrain nodes will have textured_tiles enabled when placed.

==== Hacks ====
Force Recook all the things!:
#id: cook_the_things

Forces a recook of the terrain and biomes in case things are not looking as expected.
This shouldn't have to be used much anymore, most of the re-cooking issues have been dealt with.
Binary file modified otls/OBJ_TaleSpire_Biome.hdanc
Binary file not shown.
Binary file modified otls/OBJ_TaleSpire_Cavern_Helper.hdanc
Binary file not shown.
Binary file modified otls/OBJ_TaleSpire_Object.hdanc
Binary file not shown.
Binary file modified otls/OBJ_TaleSpire_Terrain.hdanc
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
gAAAAABmpbl5-IfuiZgdBfeEeDG7uDg3gtpOCQt6gJgWOwI1ynX2HsDDM8T1EArcViDs9vTaDYZJKWCkNIW8LXxphSYVtmpFLwemh0Qa4MMYhwozOlgSQs0I0AqXJHKanYdHHg8qKDSv7vh85DONLd-52-4ti86Zn71Q6p4J84Fa1PwPyXrWP1WUkK3R8xUEdq1CAklBkpYdH5DY6l8JBJxTZFslxdAtml2ReYw_vs53x1NhX-g-zG6L_ovSPHvs_A_9UMXq4xnhtkZ34V-l4mK1WDa1OAdW8_rt1j3avX0vsl-H6B4yRFaevoNO8w_6K-77pY61_lxwIB9ipMB3eVmRCZs7dP_yY7TC9L27XbfYy8SAYLtU1OuRoy6Oq-FEgBDWW3q2_SQIGAPa-UmCSVdcG_kPRPy7PQbte88eATBcSpXdifUzmshoS3wq1fKVInze7-9KPqtcBhrh8sWRD5WzX0wlYm58evGrHUzQLHnVl1SJYvBUVfhOipLtPU8tfoCqwQV7eShJ5qj2Df5CIK6DC0ltWjcDKjW8RyZUA0SmlhL0Rh5Xun5_xZyO4hlGG8qmavS6k7F6-ns3ZJfcorh5TeNNc7tP2bO513zMPKA2NXMirJME8DUpLzMgmI7LjyWGyvC5OGj_gsuZtuI55FLoOWhqZf7JZUoCduC-RGQFFCVPkQj9keUhfU4YPGI77kkMZnupnURgSto8PTuY8vzO_RQztDlTTDhuWb--XJg8Plh8q2p5v3qVVtdszHIWBn0sBmhqCBz4WkZq-BsDe5IZzdvVCYKeJ3d6k6gsnOQkB9c7ItC6vITmdmTmgq42Ym77PMFGCZORRKUbRD0gG_SD8WK8H--iFErhG-Av3IX2P2iqFseEaQ3zUXeI1AIhcAJ2qAVbdkBdL2fS8xULY7zgQJai5OzB4j5E0Uvg7Yg7lmlhWNbBto-AOVhXLBxbVnqoCz84qXO5uHqejsDFmJx1FPJ50HcdhmqVgApjDttiO_VBBgds9hYaKQT5QDUWSoSAGwYoGE5izcnjVJMXI9M2VuV6bFBqMtOcaLvSN4xJl1fdhbFNhX3uHX2XfGyjLfZXPfFoNFmiRorUfioohb058BKo0a5Rv4O-5_a18AHmKd_KjeIHVuEVgCPnQexY2NjpG6_nWqBOfLYUfD2xAxhCE5pLPPShFXXO1LPMaZ-gJdQrJb04wHzWJDvxJM_zloU6pfk3D8Dfbi1XATjj1U-IrnHswf_tgUiTg3WysSZ_aY4TJHhr-30a2sitPsjzxi-WjADBQlSBV3azU9iLV4Ne189fbhhwag_54nke4pK2UsYDiCHLCuwHFYLrAdySHrcjYaTzUiASx3FhB_J2B2LqnPa2ww1y-zY3ybdCFdDph-ZO2pLKF1Via9du4X3sszemrwmMFAiGbNXHCypmGKlYdSmuEIbpmGy4BtkkKOQhScLWt6-SLMKEg4uIZm4cxISuKkkb8pz-eScdCtGGyCrJJYldXZm4zAx-llok6rKs4Csa4ELYyNCfq0RCE3XimcyXFaHLIPPUWgHP4DUehh4yIrnC3VjnWSxGWxphczu5zKr05NPJfbfdXDpP4Va6jDD1g_waO9M4GmAQEugx8eAtTHq0prgqPapkSo-y4rQ5GehkAX_vn2c_78M5xwC_aEEtRhpm8KIVq6cChe_XxaJqplDSshLiVRf3j4kKY-oDcsw7eAdVUibNKGMLZkwb1MowwDUJEheeqD0VVgmZxTZlaxaxGJa3q7W-PGkl7nr-QTuq4pexzycv6NuDnYyF0nGjtZu14T9cIyYHuDHpZmNwUlIzg2g7PwpPaGdPIokYra7QwsC7hAi6gvkU-UsbfiaZIFyMfLExvNUEAW1I7592T_Bl4gBcRqBdMkvEg7iMKzTXPw1TQMblL-o71xE-Hw7A_wmpuMnODkFPKWVIDj7wTvygUC7LTfIwcHj1w7iiRFMwjHP2azrld63JMApnd_GiVHeIXerhYQlEXCfyXGBeCQuR18XGiQE_1yy73R1xqch9j_lb7YEnuIB9LLg-4YKqYPRsPOAaHVElhomlvmTdRv--rvn0Y65VO0CEU4cubJlrxeP2Bhq0HIa1n7IPmeg1XvVCv60aMJS6uSldTGlb3g7k9skRg-nkuOLgt9CTJhq_r_Oy4qNFgSEepNzrAo-xxPWVNUZIu8UYKk12C-9JBtDFjyjlfHlYlRzmQoxfR5Pj0cTo4TpfZ7952CGECqj7_9pXRUQEKvr9r1VTrBAolBR3x72iW8uM7nmeB1rQgdH6_LJKTevqlNL6mlK2h9Dz59-b4Hu_yg-LA9Wz7WF2ueLkg_f3NCUqU82naeF6FZm1FzFWVMNL0GZgD1RmIwHPNxHp4ZiaOEPFagC1qGl_n74WbExpHXZTzhdGsdG6EZZUEBrq2LItcCLpKbnToH0k5yxiucCTb8Iks3aRG9RunqVr-O3CCFR867po9yhMnIttQFU-8PbIgDcJBsytlsMhWJg3Y4e4fRX-OlL0rHQce0Cb3YkGg_LcoqurVl2JOnVSbprMD8MYj2R4ebFNdPgG3Rq9YvNkcJ7pwBQ-ldPKPFQhKeqJkqhd7pjxApG71Aw2Ttm1xPzsg9vOE-Ntz2YfjZRMX4xc2Ev-cg1qwHGIaYdOJkfBQMuWFHXBTpMf0pXfWg6qySLZ743bP_pmUFXI9nxLpX4lOqqu6TMYon7kpejrRYfSez3Z4jIRrAMQOal6LFwL89XPWiJFi5N7BF5Ub5Z9rH6KSvnK-nJKl29DAFclT6GaF5JV2bBXQ2tb35rwqiwugxTcb8IMy1QqAu93OReHcjkrI9AsZERvpPuTMN6IpjpY9ZtvDSDFtuYusG-J7kTlT15rYin8BkS7tDk8cb3hJ1SNDtQ-Oi0ipaEsOVKoQvnFExijparSnNSUP6zehKuc1NqHf1dBmw-a9pWl-EWCedmqo-6AoOSjADVlImyX_9VHOZIud8PS1w4sv89Zhh_52Sz6qwVu6juPJHZOqpO1Hw9caVGsR_mvjbdg0sdog088ImxAjnkGO-wXY_kZn9PE5XIyFcjt9CNdlFlJJgiRF0XhoWVSGielj4bTQrJhfh9S2Z92DtlVIF2D7FFiNseY_mWwOkFxdVfc_BoYz4PeoORYXZUAhnH3gpl_iu-k92pUyyes3AlRavoMo6fZQgTJP4oQZxgjpiem7H0KWT8KZV7Jd2Ik0vBKMcpaI52LetZ2Zv4CdbLNlOWJjWwM7_Vf6ETNJj5ra7_1oQO12EoztT-5CjaawOP1lAaZgzZtqo5rqXdMD8jHXEWiZQVUbH2JQjE6Hv25kfd83rYOGDhzkM4B7CeAF5kDJd94T386pFru97B33kdJyqdvMlYvIbw1HO14RZTEf9NgPhw7bwNZ75DgQXnlHCm1CabhYpjxZXiEy1t7BwPkLQgyiWmYaxJcGUt-GhcxMViWuf-HQSd-Vt59LN92aiyMka8Hp4mDQf8LXQYPPHZaV_1gpiJMvTjzJJIthWC18SvGrzCBSRB5aW-0ykiUmXK9PMq87SnGlUZ1eNsJA3iYSKPzgg0Gp9YwSAce9IbGeTTRCufmS1DY58slBbIvfPoW1jFa-Z_EUcLzuqBeBbIkSBN-v8vN-DD7PmLIQ5nxiyUyeX7T_9iHUOg9GBh6MiCKxPaEXAvWL1eDcXvqDM_SaOGZ1CBVQfw-zqSN7aJuD99hlsimONv5eIrDMVg6abH3X8a3Yl2sYAbLMKbLE1d02mOincLXjH8wO84j_iH3WFGFJbYxpxF2-iNuNNleoNeKxnzmgwQQ_IuPWX3MdwGvF-G53H8t1iucZ7w9qYWETqAvbZ_ga9Hm7EEUHMrv-CCkYLivIZ0tL-mIEwqZ91KuULuRPu28cStbdipvGOHyvZODYHddzCcHcSD1XnPVKYiDfMX_6jc_nBGxCpLEIh0C98qwqMSpvavTOWSyj68FNFJIi5jd56hrV_9Xh-DB-ANLOOy7p819Nrqu8wK86S3qYtM5jinv7okvIffbnds8fz92Cj37Dowi9Ct2BE5lCiih0X7VpDYLFLkcz038zVv0r4k6FnrRzRcFDOjH0wd0-h-Ag4IjCH5ySLeEnDVB3PocJ66pIXf3zoQo7-jGJuFWxrvXGsn0qhl1uoPp5ludvqcnpCrwvHyUPKW20HeXDeXVJMPxpiTiCaHem3vxaP7RKGCA0tpFxyzQI9UJ7bZer_u8hHX0NnAE5Xt9wCEebE6_kYYwp_-MNxNHXWSyy_g8qWKXRbEtTWyFlC8-9kNYgbElADWjAJUrCVZV1VdU9CuZTN_O0GfZQENXqW8slIKc8mOfS_EWt5lMTiNJwx7OhN-L-wQl-NrMu1mMYzS2jcjJCrMg9Wp-kaFRHaSJkxvrKe9iNihFog-FpijaG4mUiH6Q9jOzVS54oJHKfwPJVT_TzLjOVY-VrNqlCqLmw26MjWRx1FTrdChLz7UAvrj2YBGusFIYhkgbqib1
Loading

0 comments on commit 16f9c6f

Please sign in to comment.