Damit lassen sich auch VERSCHACHTELTE Pack-Modelle pruefen (models/military_desert/<kategorie>/<oid>.glb) — noetig, weil der erste Eigenstaendigkeits-Beweis nur flache Modelle abdeckte.
37 lines
1.5 KiB
GDScript
37 lines
1.5 KiB
GDScript
extends SceneTree
|
|
## Probe-Map-Generator (Karte t_12cf94fe): erstellt eine .svmap mit Objekten,
|
|
## die in der Bibliothek existieren, um den Eigenständigkeits-Beweis der
|
|
## exportierten App zu fahren.
|
|
## Aufruf: godot4 --headless --path . --script res://tools/probe_gen_map.gd \
|
|
## -- --out=/pfad/zu/probe_map.svmap
|
|
|
|
|
|
func _init() -> void:
|
|
var out := "/tmp/scopedvr_sandbox/probe_map.svmap"
|
|
for a in OS.get_cmdline_user_args():
|
|
if a.begins_with("--out="):
|
|
out = a.substr(6)
|
|
var doc := SvmapDocument.create_new("Probe-Map Eigenständig", 64.0, "mittag")
|
|
# 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))
|
|
quit(0)
|
|
else:
|
|
print("PROBE_MAP_FEHLSCHLAG: ", str(result))
|
|
quit(1)
|