Fix 40250 classic login and world loading

This commit is contained in:
shen
2026-09-02 07:03:25 +08:00
parent 8f61990a83
commit 44bdcb0781
17 changed files with 446 additions and 45 deletions
+3 -1
View File
@@ -243,7 +243,9 @@ func _ensure_spec() -> void:
if race < 0 or assets_root == "":
return
var cls: String = CLASS_OF[race & 3]
for rel in ["PC/ymir work/pc/%s/%s.msm" % [cls, cls],
var suffix := "w" if race in [1, 3, 4, 6] else "m"
for rel in ["root/msm/%s_%s.msm" % [cls, suffix],
"PC/ymir work/pc/%s/%s.msm" % [cls, cls],
"pc2/ymir work/pc2/%s/%s.msm" % [cls, cls],
"season1/season1/pc/%s.msm" % cls]:
var p := _resolve_asset(rel)
+3 -2
View File
@@ -57,7 +57,7 @@ func shape(idx: int) -> Dictionary:
if e.is_empty():
return {}
e = e.duplicate()
e["path"] = shape_path
e["path"] = String(e.get("special_path", shape_path))
e["spec_dir"] = _dir
return e
@@ -66,7 +66,7 @@ func hair(idx: int) -> Dictionary:
if e.is_empty():
return {}
e = e.duplicate()
e["path"] = hair_path
e["path"] = String(e.get("special_path", hair_path))
e["spec_dir"] = _dir
return e
@@ -77,6 +77,7 @@ func _entry(g: Dictionary) -> Dictionary:
"model": _s(g.get("Model", g.get("local_model", ""))).strip_edges(),
"source_skin": _s(g.get("SourceSkin", "")).strip_edges(),
"target_skin": _s(g.get("TargetSkin", "")).strip_edges(),
"special_path": _s(g.get("SpecialPath", "")).strip_edges(),
}
func _s(v) -> String: