feat: derive resource visuals from state
This commit is contained in:
@@ -23,6 +23,9 @@ func _run() -> void:
|
||||
var lookdev := scene.instantiate() as Node3D
|
||||
root.add_child(lookdev)
|
||||
await process_frame
|
||||
if not _apply_resource_capture_overrides():
|
||||
quit(1)
|
||||
return
|
||||
_stabilize_lookdev(lookdev)
|
||||
for _frame in WARMUP_FRAMES:
|
||||
await process_frame
|
||||
@@ -73,6 +76,32 @@ func _get_argument_value(prefix: String, default_value: String) -> String:
|
||||
return default_value
|
||||
|
||||
|
||||
func _apply_resource_capture_overrides() -> bool:
|
||||
var hide_labels := OS.get_cmdline_user_args().has("--hide-resource-labels")
|
||||
for resource in ResourceNode.get_all():
|
||||
if hide_labels:
|
||||
resource.set_debug_label_enabled(false)
|
||||
|
||||
for argument in OS.get_cmdline_user_args():
|
||||
if not argument.begins_with("--resource-amount="):
|
||||
continue
|
||||
var override_text := argument.trim_prefix("--resource-amount=")
|
||||
var parts := override_text.split(":", false, 1)
|
||||
if parts.size() != 2 or not parts[1].is_valid_float():
|
||||
push_error("Invalid resource amount override: %s" % override_text)
|
||||
return false
|
||||
var resource := ResourceNode.get_by_id(StringName(parts[0]))
|
||||
if resource == null:
|
||||
push_error("Unknown resource amount override ID: %s" % parts[0])
|
||||
return false
|
||||
var state := ResourceStateRecord.create_from_node(resource)
|
||||
state.set_amount_remaining(parts[1].to_float())
|
||||
if not resource.bind_state(state):
|
||||
push_error("Could not bind capture state for resource: %s" % parts[0])
|
||||
return false
|
||||
return true
|
||||
|
||||
|
||||
func _analyze_image(image: Image) -> Dictionary:
|
||||
var min_luma := INF
|
||||
var max_luma := -INF
|
||||
|
||||
Reference in New Issue
Block a user