tools/probe_gen_map.gd: OIDs per --oid= waehlbar

Damit lassen sich auch VERSCHACHTELTE Pack-Modelle pruefen
(models/military_desert/<kategorie>/<oid>.glb) — noetig, weil der erste
Eigenstaendigkeits-Beweis nur flache Modelle abdeckte.
This commit is contained in:
scopedvr-operator 2026-10-20 10:00:29 +00:00
parent e317706df0
commit a62357dad8

View file

@ -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/<kategorie>/<oid>.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))