scopedvr-map-editor/tools/probe_gen_map.gd
slyphax 491a47d3f1 Editor-Bibliothek auf das Military-Desert-Pack umgestellt
- 423 Objekte in 19 deutschen Kategorien (Panzer, Radfahrzeuge, Flugzeuge, Gebaeude,
  Zelte, Tuerme, Mauern, Sperren, Kisten, Technik, Felsen, Boden, Decals ...);
  Gruppen "Bauwerke" und "Kisten & Barrieren" samt Test-Asset-Namenslisten entfernt
- LibraryBrowser: Gruppen/Namen aus dem Manifest (kategorie, name_de), unbekannte
  Kategorien bekommen automatisch eine eigene Gruppe
- Thumbs neu, library/ synchronisiert (inkl. neuer Kollision)
- Neue Identitaetsprobe: Kollision ALLER Objekte Editor = Client = Server
- Tests auf Pack-Objekte umgestellt

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-25 16:31:28 +01:00

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: acacia_003 und stone_025 — die existieren garantiert als
# flache GLBs in models/ (kein box_001 — 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 = ["acacia_003", "stone_025"]
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)