Files
mtgodot-poc/project/dds_lifecycle_test.gd
T

23 lines
951 B
GDScript

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)