Optimize facial customization for low-memory builds

This commit is contained in:
Alexander Sellite 2026-08-15 00:01:16 -04:00
parent 3633f42cae
commit 4f1bfc97b4
81 changed files with 869 additions and 472 deletions

View file

@ -27,6 +27,10 @@ const DEFAULT_PROFILE: Dictionary = {
"detect_3d/compress_to": 0,
},
}
const FACIAL_FEATURE_IMPORT_PATH: String = (
"art/exported/characters/faces/"
)
const FACIAL_FEATURE_SIZE_LIMIT: int = 512
var apply_changes: bool = false
var verbose: bool = false
@ -86,11 +90,11 @@ func _parse_args() -> void:
quit(1)
return
i += 1
roots.append(args[i])
i += 1
elif arg.begins_with("--root="):
roots.append(arg.trim_prefix("--root="))
i += 1
roots.append(args[i])
i += 1
elif arg.begins_with("--root="):
roots.append(arg.trim_prefix("--root="))
i += 1
else:
printerr("Unknown argument: ", arg)
should_exit = true
@ -147,6 +151,8 @@ func _handle_import_file(import_path: String) -> void:
var section_data: Dictionary = DEFAULT_PROFILE[section_name]
for section_key: String in section_data.keys():
var desired: Variant = section_data[section_key]
if section_key == "process/size_limit":
desired = _size_limit_for(import_path)
var existing: Variant = null
if cfg.has_section(section_name) and cfg.has_section_key(section_name, section_key):
existing = cfg.get_value(section_name, section_key)
@ -174,6 +180,13 @@ func _handle_import_file(import_path: String) -> void:
updated += 1
func _size_limit_for(import_path: String) -> int:
var normalized_path := import_path.replace("\\", "/")
if FACIAL_FEATURE_IMPORT_PATH in normalized_path:
return FACIAL_FEATURE_SIZE_LIMIT
return int(DEFAULT_PROFILE["params"]["process/size_limit"])
func print_summary() -> void:
if apply_changes:
_print(

View file

@ -11,6 +11,7 @@ readonly RUN_ROOT="$(mktemp -d -t netfishing-validations.XXXXXX)"
readonly -a QUICK_TESTS=(
"tests/android_readiness_validation.gd"
"tests/dedicated_server_config_validation.gd"
"tests/exported_decal_hotfix_validation.gd"
"tests/fish_catalog_content_validation.gd"
"tests/fish_quality_validation.gd"
"tests/fishing_audio_validation.gd"