List processor is used to perform advanced operations on lists.
Execute | Perform the set actions |
Enabled | Enable or disable the Node. Disabled Nodes cannot be executed |
Input List | Define the list the processor will pull data from |
Output List | Define the list the processor will output data to |
Index X/Y | Index for which the operation is done |
Argument A/B | Argument value used for Operation |
Sub position X/Y | Sub position is added to the Index X/Y in visibility calculation operations. |
Operation | Set the action the processor will perform |
Clone input list | Clones the input list into the output list. |
Replace all A with B | Replaces all argument A values with argument B values |
Replace values less than A with B | Replaces values that are less than A with B |
Replace values greater than A with B | Replaces values that are greater than A with B |
Multiply values by A | Multiplies all list values by A |
Maximize output list values against input list | Compares the Input and Output list values and replaces the values on Output list with the bigger value. |
Minimize output list values against input list | Compares the Input and Output list values and replaces the values on Output list with the smaller value. |
Sum input list values into output | Adds Input list values to Output list values |
Expand index to rectangle | Copies the currently indexed value so that it forms a rectangle in the 2D list. X1: Index X, Y1: Index Y X2: Argument A, Y2 Argument B |
Expand index to filled box | Copies the currently indexed value so that it forms a filled box in the 2D list. X1: Index X, Y1: Index Y X2: Argument A, Y2 Argument B |
Fill From Index | Flood fills the list starting from the Index, spreading into neighboring zeroes and onwards, walking in all directions. Walks diagonally (for example NW) in 2D unless both the main directions (N & W for NW) were initially blocked Operates on Output list only. |
Fill Ascending From Index | Flood fills starting from the Index, spreading values increasing from the Initial Index Value onto zeroes next to it and onwards, walking in all directions. Walks diagonally in 2D unless both the main directions were initially blocked This should be useful in measuring distances on a grid (incl. path finding). Operates on Output list only. If Argument A is 0, then diagonal steps increase the values by 1 If Argument A is anything else, then diagonal steps increase the value by √2 Operates on Output list only. |
Fill from all A values | Flood fills starting from all occurrences of nonzero Argument A, spreading it onto zeroes next to them and onwards, walking in all directions. Operating on the output list only; walks diagonally (for example NW) in 2D unless both the main directions (W & N for NW) were initially blocked Operates on Output list only. |
Fill ascending from all A values | Flood fills starting from all occurrences of nonzero Argument A, spreading it onto zeroes next to them and onwards, walking in all directions. Walks diagonally in 2D unless both the main directions were initially blocked This should be useful in measuring distances on a grid (incl. path finding to closest Argument A). If Argument B is 0, then diagonal steps increase the values by 1 If Argument B is anything else than 0, then diagonal steps increase the value by √2 Operates on Output list only. |
Calculate visibility (radius A, above B blocking) | A 2D visibility calculation originating from Index (X,Y) with radius of Argument A. Considers input list values blocking when value is greater than Argument B. Results in identically sized output list of values 0 (Not visible) or 1 (Visible) Withing range, the traced visibility is extended by 1 tile (also diagonally) onto blocking tiles in contact with visible tiles. Non-integer origin can be specified using Sub position X/Y. Similar to fills, tracing diagonally (for example NW) only when main directions (N & W for NW) are not blocked |
Calculate direction towards nearby lower values | Studies the input list, looking for lowest nearby value withing a few indexes that's not blocked with higher values. Argument A can be used as radius (between 0 and 0.5) Outputs normalized Vector (X,Y,0). |