map_gen_util_serialized¶
Quelle: base/tealdef/climates/gen/map_gen_util_serialized.d.tl
Hinweise
Typen der Fluss- und Bergrücken-Helfer des Kartengenerators, /climates/gen/mapgenutil.tl
(MapGenUtil) und /climates/gen/rivermapgenutil.tl (RiverMapGenUtil). Der Knoten-Editor des
Karten-Editors (gui/node_editor/layer_nodes.script.tl) setzt damit Flüsse, Seen und Bergrücken.
Koordinaten sind in Metern.
Globale Namen¶
Typen
| Name | Definition | Beschreibung |
|---|---|---|
RiverId |
integer |
Nummer eines generierten Flusses. |
MapBounds¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:5
global record MapBounds
Hinweise
Rechteck der Kartenfläche in Metern.
Felder
| Name | Typ | Beschreibung |
|---|---|---|
min |
Vec2Serialized.Vec2 |
Ecke unten links. |
max |
Vec2Serialized.Vec2 |
Ecke oben rechts. |
RiverStartConfig¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:10
global record RiverStartConfig
Hinweise
Einstellungen für MapGenUtil.findGoodRiverStarts.
Funktionen
getStartWeight(Vec2Serialized.Vec2) : number base/tealdef/climates/gen/map_gen_util_serialized.d.tl:11
Hinweise
Gewicht einer Position. Positionen mit negativem Gewicht sind Flussquellen.
Rückgabe number
RiverStartResult¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:15
global record RiverStartResult
Hinweise
Ein Startpunkt eines Flusses.
Felder
| Name | Typ | Beschreibung |
|---|---|---|
pos |
Vec2Serialized.Vec2 |
Startposition. |
angle |
number |
Startrichtung im Bogenmaß. |
weight |
number |
Startgewicht an der Position. |
RiverData¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:21
global record RiverData
Hinweise
Eine abgetastete Flussposition im Kollisionsraster.
Felder
| Name | Typ | Beschreibung |
|---|---|---|
riverId |
integer |
Fluss, zu dem der Messpunkt gehört. |
position |
Vec2Serialized.Vec2 |
Position des Messpunkts. |
RiverMap¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:26
global record RiverMap
Hinweise
Kollisionsraster der Fluss-Messpunkte, das Flüsse auseinanderhält.
Felder
| Name | Typ | Beschreibung |
|---|---|---|
riverMap |
{{RiverData}} |
Messpunkte pro Rasterblock (Blöcke von 800 m). |
RiverBuilderConfig¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:30
global record RiverBuilderConfig
Hinweise
Einstellungen für MapGenUtil.makeRivers.
Felder
| Name | Typ | Beschreibung |
|---|---|---|
curvature |
number |
Zufällige Richtungsänderung pro Segment (Standard 0,2). |
map |
RiverMap |
Kollisionsraster, wird bei nil angelegt. |
depthScale |
number |
Faktor auf die Flusstiefe. |
segmentLength |
number |
Länge eines Flusssegments in Metern. Bei nil aus der verbleibenden Länge abgeleitet. |
minLength |
number |
Flüsse, die kürzer sind (in Metern), werden verworfen. |
bounds |
MapBounds |
Kartengrenzen. Flüsse enden 5 km außerhalb davon. |
maxOrder |
integer |
Höchste Verzweigungsordnung der Nebenflüsse. |
baseProbability |
number |
Faktor auf die Wahrscheinlichkeit von Nebenflüssen pro Segment. |
minDist |
number |
Mindestzahl an Segmenten zwischen zwei Nebenflüssen. |
currentRiverId |
RiverId |
Id des Flusses, der gerade gebaut wird. Steigt mit jedem Fluss um eins. |
Funktionen
getRiverWeight(Vec2Serialized.Vec2) : number base/tealdef/climates/gen/map_gen_util_serialized.d.tl:33
Hinweise
Gewicht einer Position. Jeder Schritt wählt die Richtung mit dem höchsten Gewicht unter 1,2.
Rückgabe number
RiverResult¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:44
global record RiverResult
Hinweise
Ein generierter Fluss mit Werten pro Punkt.
Felder
| Name | Typ | Beschreibung |
|---|---|---|
points |
{Vec2Serialized.Vec2} |
Positionen der Punkte. |
widths |
{Vec2Serialized.Vec2} |
Uferbreiten pro Punkt (x links, y rechts). |
depths |
{number} |
Tiefe pro Punkt. |
tangents |
{Vec2Serialized.Vec2} |
Kurventangente pro Punkt. |
widthTangents |
{Vec2Serialized.Vec2} |
Breitentangente pro Punkt. |
depthTangents |
{number} |
Tiefentangente pro Punkt. |
features |
{Feature} |
Flags pro Punkt. |
feeders |
{integer} |
Index des Nebenflusses, der an einem Punkt mündet (-1 oder nil, wenn keiner). |
RiverResult.Feature¶
record base/tealdef/climates/gen/map_gen_util_serialized.d.tl:45
record Feature
Hinweise
Flags eines Flusspunkts.
Felder
| Name | Typ | Beschreibung |
|---|---|---|
curve |
boolean |
Der Punkt wurde als Mäander hinzugefügt. |
lake |
boolean |
Der Punkt gehört zu einem See. |
lakeDist |
number |
Abstand in Punkten zum nächsten See oder Nebenfluss. |
RidgeResult¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:60
global record RidgeResult
Hinweise
Ein generierter Bergrücken.
Felder
| Name | Typ | Beschreibung |
|---|---|---|
points |
{Vec2Serialized.Vec2} |
Punkte des Bergrückens. |
heights |
{number} |
Höhe pro Punkt. |
directions |
{number} |
Richtung pro Punkt im Bogenmaß. |
RidgesBuilderConfig¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:66
global record RidgesBuilderConfig
Hinweise
Einstellungen für MapGenUtil.makeRidges.
Felder
| Name | Typ | Beschreibung |
|---|---|---|
bounds |
MapBounds |
Kartengrenzen. |
density |
number |
Bergrücken pro Kachel von 2048 m. Bei nil werden 0 bis 2 mit probabilityLow und probabilityHigh gewählt. |
minHeight |
number |
Niedrigste Gipfelhöhe. |
maxHeight |
number |
Größte Höhe eines Bergrückens. |
probabilityLow |
number |
Liegt eine Zufallszahl darüber, bekommt die Kachel keinen Bergrücken. |
probabilityHigh |
number |
Liegt eine Zufallszahl darüber (und nicht über probabilityLow), gibt es einen Bergrücken, sonst zwei. |
Funktionen
ridgeMask(Vec2f) : number base/tealdef/climates/gen/map_gen_util_serialized.d.tl:73
Hinweise
Maskenwert einer Position. Bergrücken enden, wo er unter 0,5 liegt.
Rückgabe number
RidgesResult¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:76
global record RidgesResult
Hinweise
Ein generierter Bergrücken mit Punkten als Paare {x, y}.
Felder
| Name | Typ | Beschreibung |
|---|---|---|
points |
{{number, number}} |
Punkte des Bergrückens. |
heights |
{number} |
Höhe pro Punkt. |
directions |
{number} |
Richtung pro Punkt im Bogenmaß. |
SubdivideConfig¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:82
global record SubdivideConfig
Hinweise
Einstellungen für RiverMapGenUtil.subdivide.
Felder
| Name | Typ | Beschreibung |
|---|---|---|
nSegments |
integer |
Anzahl der Teile, in die jedes Flusssegment zerlegt wird. |
LakeConfig¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:86
global record LakeConfig
Hinweise
Einstellungen für RiverMapGenUtil.makeLakes.
Funktionen
probability(Vec2Serialized.Vec2) : number base/tealdef/climates/gen/map_gen_util_serialized.d.tl:87
Hinweise
See-Wahrscheinlichkeit an einer Position.
Rückgabe number
startProbability(Vec2Serialized.Vec2) : number base/tealdef/climates/gen/map_gen_util_serialized.d.tl:88
Hinweise
Ein See beginnt, wo probability diesen Wert übersteigt.
Rückgabe number
endProbability(number, Vec2Serialized.Vec2) : number base/tealdef/climates/gen/map_gen_util_serialized.d.tl:89
Hinweise
Ein See endet, wo 1 - probability diesen Wert übersteigt. Bekommt die aktuelle Seegröße in Punkten.
Rückgabe number
makeProfile(number) : Vec2Serialized.Vec2, number base/tealdef/climates/gen/map_gen_util_serialized.d.tl:90
Hinweise
Breite und Tiefe eines Seepunkts. Das Argument läuft von -1 am Seeanfang bis 1 am Seeende.
Rückgabe Vec2Serialized.Vec2, number
RidgesConfig¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:93
global record RidgesConfig
Hinweise
Einstellungen von MapGenUtil.makeRidges (siehe RidgesBuilderConfig).
Felder
| Name | Typ | Beschreibung |
|---|---|---|
bounds |
MapBounds |
Kartengrenzen. |
probabilityLow |
number |
Liegt eine Zufallszahl darüber, bekommt die Kachel keinen Bergrücken. |
probabilityHigh |
number |
Liegt eine Zufallszahl darüber (und nicht über probabilityLow), gibt es einen Bergrücken, sonst zwei. |
minHeight |
number |
Niedrigste Gipfelhöhe. |
maxHeight |
number |
Größte Höhe eines Bergrückens. |
Funktionen
ridgeMask(pos : Vec2f) : number base/tealdef/climates/gen/map_gen_util_serialized.d.tl:99
Hinweise
Maskenwert einer Position. Bergrücken enden, wo er unter 0,5 liegt.
Rückgabe number
RiverResult2¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:102
global record RiverResult2
Hinweise
Ein Fluss im Format, das der Geländegenerator erwartet, mit Paaren {x, y} statt Vektoren.
Felder
MapGenUtil¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:111
global record MapGenUtil
Hinweise
Erzeugung von Flüssen und Bergrücken, Rückgabe von ug_require "/climates/gen/mapgenutil.tl".
Funktionen
findGoodRiverStartBounds(bounds : MapBounds) : RiverStartResult base/tealdef/climates/gen/map_gen_util_serialized.d.tl:112
Hinweise
Zufälliger Startpunkt 100 m außerhalb einer zufälligen Kante der Grenzen, mit Richtung zur Mitte.
Rückgabe RiverStartResult
findGoodRiverStarts(bounds : MapBounds, startConfig : RiverStartConfig, attempts : integer) : {RiverStartResult} base/tealdef/climates/gen/map_gen_util_serialized.d.tl:113
Hinweise
Tastet zufällige Positionen ab und behält die mit negativem Startgewicht. Die Richtung zeigt zum höchsten Gewicht in 200 m Entfernung (8 Richtungen werden geprüft).
| Parameter | Typ | Beschreibung |
|---|---|---|
bounds |
MapBounds |
|
startConfig |
RiverStartConfig |
|
attempts |
integer |
Anzahl der abgetasteten Positionen. |
Rückgabe {RiverStartResult}: Die gefundenen Startpunkte.
makeRivers(valleys : {RiverResult}, config : RiverBuilderConfig, startLength : number, startPosition : Vec2Serialized.Vec2, startDirection : number, order? : integer, feederId? : integer, feederDir? : number, effluentIndex? : integer, i? : integer) : number base/tealdef/climates/gen/map_gen_util_serialized.d.tl:114
Hinweise
Baut von einem Startpunkt aus einen Fluss und rekursiv seine Nebenflüsse und hängt sie an valleys an.
| Parameter | Typ | Beschreibung |
|---|---|---|
valleys |
{RiverResult} |
Liste, an die die Flüsse angehängt werden. |
config |
RiverBuilderConfig |
Flusseinstellungen. Enthält auch das Kollisionsraster und die aktuelle Fluss-Id. |
startLength |
number |
Längenbudget in Metern. Der Knoten-Editor nutzt 120000. |
startPosition |
Vec2Serialized.Vec2 |
|
startDirection |
number |
|
order? |
integer |
|
feederId? |
integer |
|
feederDir? |
number |
|
effluentIndex? |
integer |
|
i? |
integer |
Rückgabe number: Gesamtvolumen des Flusses, oder nil, wenn der Fluss verworfen wurde (von einem anderen Fluss blockiert oder zu kurz).
makeRidges(RidgesConfig) : {RidgeResult} base/tealdef/climates/gen/map_gen_util_serialized.d.tl:116
Hinweise
Setzt zufällige Bergrücken in Kacheln von 2048 m über die Kartenfläche.
Rückgabe {RidgeResult}
convertRiver(valleys : {RiverResult}) : {RiverResult2} base/tealdef/climates/gen/map_gen_util_serialized.d.tl:117
Hinweise
Wandelt Flüsse in RiverResult2 um, mit Paaren {x, y} statt Vektoren.
Rückgabe {RiverResult2}
RiverMapGenUtil¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:120
global record RiverMapGenUtil
Hinweise
Nachbearbeitung von Flüssen, Rückgabe von ug_require "/climates/gen/rivermapgenutil.tl".
Funktionen
makeSubdivision(river : RiverResult, subdivideConfig : SubdivideConfig) : RiverResult base/tealdef/climates/gen/map_gen_util_serialized.d.tl:121
Hinweise
Gibt eine Kopie des Flusses zurück, in der jedes Segment entlang der Hermite-Kurve in nSegments Teile zerlegt ist.
Rückgabe RiverResult
makeLake(river : RiverResult, lakeConfig : LakeConfig, prepare? : boolean) base/tealdef/climates/gen/map_gen_util_serialized.d.tl:122
Hinweise
Markiert Abschnitte des Flusses mit den Wahrscheinlichkeiten aus lakeConfig als Seen und setzt ihre Breite und Tiefe über makeProfile.
| Parameter | Typ | Beschreibung |
|---|---|---|
river |
RiverResult |
|
lakeConfig |
LakeConfig |
|
prepare? |
boolean |
Bei true werden nur die Punkte markiert, Breite und Tiefe bleiben gleich. |
makeCurve(river : RiverResult, curveConfig : CurveConfig) base/tealdef/climates/gen/map_gen_util_serialized.d.tl:123
Hinweise
Biegt die Tangenten von Punkten abseits von Seen und Nebenflüssen zu Mäandern und skaliert die Breiten mit getWidthMultiplier.
adjustFeeder(river : RiverResult, rivers : {RiverId : RiverResult}, _adjustConfig : AdjustFeederConfig) base/tealdef/climates/gen/map_gen_util_serialized.d.tl:124
Hinweise
Setzt die Tiefe jedes Nebenflusses an seiner Mündung auf die Tiefe des aufnehmenden Flusses.
subdivide(rivers : {RiverResult}, subdivideConfig : SubdivideConfig) base/tealdef/climates/gen/map_gen_util_serialized.d.tl:125
Hinweise
Wendet makeSubdivision auf jeden Fluss an.
makeLakes(rivers : {RiverResult}, lakeConfig : LakeConfig) base/tealdef/climates/gen/map_gen_util_serialized.d.tl:126
Hinweise
Wendet makeLake auf jeden Fluss an.
makeCurves(rivers : {RiverResult}, curveConfig : CurveConfig) base/tealdef/climates/gen/map_gen_util_serialized.d.tl:127
Hinweise
Wendet makeCurve auf jeden Fluss an.
adjustFeeders(rivers : {RiverResult}, adjustConfig : AdjustFeederConfig) base/tealdef/climates/gen/map_gen_util_serialized.d.tl:128
Hinweise
Wendet adjustFeeder auf jeden Fluss an.
CurveConfig¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:131
global record CurveConfig
Hinweise
Einstellungen für RiverMapGenUtil.makeCurves.
Felder
| Name | Typ | Beschreibung |
|---|---|---|
baseStrength |
number |
Grundstärke der Mäander. |
newRiver |
boolean |
Nutzt die neuere Mäandermethode, die Tangenten dreht. |
Funktionen
getCurviness(Vec2Serialized.Vec2) : number base/tealdef/climates/gen/map_gen_util_serialized.d.tl:133
Hinweise
Faktor für die Mäanderstärke an einer Position.
Rückgabe number
getWidthMultiplier(Vec2Serialized.Vec2) : number base/tealdef/climates/gen/map_gen_util_serialized.d.tl:135
Hinweise
Faktor auf die Flussbreite an einer Position.
Rückgabe number
AdjustFeederConfig¶
record global base/tealdef/climates/gen/map_gen_util_serialized.d.tl:138
global record AdjustFeederConfig
Hinweise
Einstellungen für RiverMapGenUtil.adjustFeeders (keine Felder werden genutzt).