extends SceneTree const UiAssets = preload("res://ui/ui_assets.gd") func _init() -> void: var path := AssetRoot.path().path_join("PC/ymir work/pc/shaman/effect/shamanblackcore.dds") var before := int(Performance.get_monitor(Performance.OBJECT_NODE_COUNT)) var images: Array[Image] = [] var failed := false for i in range(20): var decoded := UiAssets.load_dds_image(path) if decoded == null or decoded.is_empty(): failed = true else: images.append(decoded) var after := int(Performance.get_monitor(Performance.OBJECT_NODE_COUNT)) failed = failed or before != after or images.size() != 20 for decoded in images: failed = failed or decoded.get_data() != images[0].get_data() if failed: printerr("FAIL: DDS helper ownership/images before=%d after=%d images=%d" % [before, after, images.size()]) else: print("PASS: dds_lifecycle_test (20 decodes, node count unchanged, images survive helper release)") quit(1 if failed else 0)