61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
"""Волна N+12: vfbuild27 — 31 EF в afa.java (submitRoots lambda). Запуск: python3 tools/waves_n12.py"""
|
|
|
|
import os, sys
|
|
|
|
ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
JAVA = os.path.join(ROOT, "src/main/java")
|
|
p = os.path.join(JAVA, "defpackage/afa.java")
|
|
L = open(p, encoding="utf-8", errors="replace").read().splitlines()
|
|
ok = True
|
|
|
|
|
|
def edit(ln, pairs):
|
|
global ok
|
|
i = ln - 1
|
|
if i >= len(L):
|
|
ok = False
|
|
print(f"MISS {ln} oob")
|
|
return
|
|
line = L[i]
|
|
for old, new in pairs:
|
|
if old in line:
|
|
line = line.replace(old, new)
|
|
elif new not in line:
|
|
ok = False
|
|
print(f"MISS {ln}: {old!r} got {L[i].strip()!r}")
|
|
return
|
|
L[i] = line
|
|
|
|
|
|
edit(159, [("apply(var7, var8, var12, var6)", "apply(var7f, var8f, var12f, var6)")])
|
|
for ln in range(153, 159):
|
|
edit(
|
|
ln,
|
|
[
|
|
("applyLimb(var7, var8, var11[", "applyLimb(var7f, var8f, var11f["),
|
|
(", var10.", ", var10f."),
|
|
],
|
|
)
|
|
edit(152, [("resetPose(var7, var8)", "resetPose(var7f, var8f)")])
|
|
edit(145, [("apply(var7, var8, var6)", "apply(var7f, var8f, var6)")])
|
|
|
|
# insert before 139 (submitRoots)
|
|
INS = [
|
|
" final aif var7f = var7;",
|
|
" final Map var8f = var8;",
|
|
" final aez var10f = var10;",
|
|
" final String[] var11f = var11;",
|
|
" final aeu var12f = var12;",
|
|
]
|
|
if (
|
|
L[138].strip().startswith("this.modelRenderer.submitRoots(")
|
|
and "final aif var7f" not in L[133:139]
|
|
):
|
|
L[138:138] = INS
|
|
else:
|
|
ok = False
|
|
print(f"INSERT-MISS: L139 = {L[138].strip()[:60]!r}")
|
|
|
|
open(p, "w", encoding="utf-8").write("\n".join(L) + "\n")
|
|
print("OK" if ok else "PROBLEMS")
|
|
sys.exit(0 if ok else 1)
|