diff --git a/tools/probe_gen_map.gd b/tools/probe_gen_map.gd index ad42e97..0ec6072 100644 --- a/tools/probe_gen_map.gd +++ b/tools/probe_gen_map.gd @@ -12,11 +12,22 @@ func _init() -> void: if a.begins_with("--out="): out = a.substr(6) var doc := SvmapDocument.create_new("Probe-Map Eigenständig", 64.0, "mittag") - # baum_kiefer_1 und stein_mittel_1 existieren garantiert als flache GLBs in - # models/assets/objekte/ (kein crate_wood — das gibt es als GLB nicht). - (doc["objects"] as Array).append({"id": "baum_kiefer_1", "pos": [0.0, 0.6, 0.0], "rot_y_deg": 0.0, "scale": 1.0}) - (doc["objects"] as Array).append({"id": "baum_kiefer_1", "pos": [4.0, 0.6, 2.0], "rot_y_deg": 45.0, "scale": 2.0}) - (doc["objects"] as Array).append({"id": "stein_mittel_1", "pos": [8.0, 0.6, 4.0], "rot_y_deg": 90.0, "scale": 1.0}) + # Vorgabe: baum_kiefer_1 und stein_mittel_1 — die existieren garantiert als + # flache GLBs in models/ (kein crate_wood — das gibt es als GLB nicht). + # Operator-Erweiterung 20.10.: --oid=a,b,c prüft beliebige OIDs, damit auch + # VERSCHACHTELTE Pack-Modelle belegt werden können + # (models/military_desert//.glb). + var ids: Array = ["baum_kiefer_1", "stein_mittel_1"] + for a in OS.get_cmdline_user_args(): + if a.begins_with("--oid="): + ids = [] + for x in a.substr(6).split(",", false): + if not x.strip_edges().is_empty(): + ids.append(x.strip_edges()) + for i in ids.size(): + (doc["objects"] as Array).append({ + "id": ids[i], "pos": [float(i) * 4.0, 0.6, 0.0], "rot_y_deg": 0.0, "scale": 1.0, + }) var result := SvmapIO.save_to_file(out, doc) if result.ok: print("PROBE_MAP_GENERATED: ", out, " objects=", SvmapDocument.object_count(doc))