wave N+20: agb EF lambda copies (submit/submitPreview x4)
This commit is contained in:
parent
74068b8e26
commit
8ea57a929c
3 changed files with 301 additions and 28 deletions
140
tools/waves_n20.py
Normal file
140
tools/waves_n20.py
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
"""Волна N+20: vfbuild36 — 28 EF в agb.java (submit/submitPreview lambdas ×4).
|
||||
Запуск: python3 tools/waves_n20.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/agb.java")
|
||||
L = open(p, encoding="utf-8", errors="replace").read().splitlines()
|
||||
ok = True
|
||||
|
||||
|
||||
def edit(ln, old, new):
|
||||
global ok
|
||||
i = ln - 1
|
||||
if i < len(L) and old in L[i]:
|
||||
L[i] = L[i].replace(old, new, 1)
|
||||
elif i < len(L) and new in L[i]:
|
||||
pass
|
||||
else:
|
||||
ok = False
|
||||
print(f"MISS {ln}: {old!r} got {(L[i] if i < len(L) else '<oob>').strip()!r}")
|
||||
|
||||
|
||||
def insert_before(ln, anchor_prev, anchor_next, lines):
|
||||
global ok
|
||||
ip = ln - 1
|
||||
prev_ok = anchor_prev in L[ip - 1]
|
||||
next_ok = anchor_next in L[ip]
|
||||
done = any(s.strip() in "\n".join(L[ip : ip + 8]) for s in (lines[0].strip(),))
|
||||
if prev_ok and next_ok and not done:
|
||||
L[ip:ip] = lines
|
||||
elif done or (prev_ok and next_ok):
|
||||
pass
|
||||
else:
|
||||
ok = False
|
||||
print(
|
||||
f"INSERT-MISS {ln}: prev={L[ip - 1].strip()[:50]!r} next={L[ip].strip()[:50]!r}"
|
||||
)
|
||||
|
||||
|
||||
# --- line edits, descending ---
|
||||
# block4 (case 987243760, f-suffix)
|
||||
edit(321, "var18,", "var18f,")
|
||||
edit(318, "var11 * 1.14F", "var11f * 1.14F")
|
||||
edit(317, "var10,", "var10f,")
|
||||
edit(316, "var9,", "var9f,")
|
||||
edit(315, "var16,", "var16f,")
|
||||
edit(314, "var14,", "var14f,")
|
||||
edit(313, "var12,", "var12f,")
|
||||
# block3 (case -1818595167, g-suffix — тот же switch, чтобы не было redefinition)
|
||||
edit(256, "var18,", "var18g,")
|
||||
edit(253, "var11,", "var11g,")
|
||||
edit(252, "var10,", "var10g,")
|
||||
edit(251, "var9,", "var9g,")
|
||||
edit(250, "var16,", "var16g,")
|
||||
edit(249, "var14,", "var14g,")
|
||||
edit(248, "var12,", "var12g,")
|
||||
# block2 (while-body после switch, f-suffix)
|
||||
edit(208, "var7,", "var7f,")
|
||||
edit(205, "var16 * 1.14F", "var16f * 1.14F")
|
||||
edit(204, "var15,", "var15f,")
|
||||
edit(203, "var14,", "var14f,")
|
||||
edit(202, "var12,", "var12f,")
|
||||
edit(201, "var10,", "var10f,")
|
||||
edit(200, "var8,", "var8f,")
|
||||
# block1 (case -1757856855, f-suffix)
|
||||
edit(172, "var7,", "var7f,")
|
||||
edit(169, "var16,", "var16f,")
|
||||
edit(168, "var15,", "var15f,")
|
||||
edit(167, "var14,", "var14f,")
|
||||
edit(166, "var12,", "var12f,")
|
||||
edit(165, "var10,", "var10f,")
|
||||
edit(164, "var8,", "var8f,")
|
||||
|
||||
# --- inserts, descending by line ---
|
||||
# insert B: before line306 (case 987243760, f)
|
||||
insert_before(
|
||||
306,
|
||||
"var18 = 15728880;",
|
||||
"var1.submitCustomGeometry(",
|
||||
[
|
||||
" final double var12f = var12;",
|
||||
" final double var14f = var14;",
|
||||
" final double var16f = var16;",
|
||||
" final Direction var9f = var9;",
|
||||
" final float var10f = var10;",
|
||||
" final float var11f = var11;",
|
||||
" final int var18f = var18;",
|
||||
],
|
||||
)
|
||||
# insert A: before line241 (case -1818595167, g)
|
||||
insert_before(
|
||||
241,
|
||||
"case -1818595167:",
|
||||
"var1.submitCustomGeometry(",
|
||||
[
|
||||
" final double var12g = var12;",
|
||||
" final double var14g = var14;",
|
||||
" final double var16g = var16;",
|
||||
" final Direction var9g = var9;",
|
||||
" final float var10g = var10;",
|
||||
" final float var11g = var11;",
|
||||
" final int var18g = var18;",
|
||||
],
|
||||
)
|
||||
# insert2: before line193 (while-body, f)
|
||||
insert_before(
|
||||
193,
|
||||
"var16 = var4.size();",
|
||||
"var1.submitCustomGeometry(",
|
||||
[
|
||||
" final int var7f = var7;",
|
||||
" final double var8f = var8;",
|
||||
" final double var10f = var10;",
|
||||
" final double var12f = var12;",
|
||||
" final Direction var14f = var14;",
|
||||
" final float var15f = var15;",
|
||||
" final float var16f = var16;",
|
||||
],
|
||||
)
|
||||
# insert1: before line157 (case -1757856855, f)
|
||||
insert_before(
|
||||
157,
|
||||
"case -1757856855:",
|
||||
"var1.submitCustomGeometry(",
|
||||
[
|
||||
" final int var7f = var7;",
|
||||
" final double var8f = var8;",
|
||||
" final double var10f = var10;",
|
||||
" final double var12f = var12;",
|
||||
" final Direction var14f = var14;",
|
||||
" final float var15f = var15;",
|
||||
" final float var16f = var16;",
|
||||
],
|
||||
)
|
||||
|
||||
open(p, "w", encoding="utf-8").write("\n".join(L) + "\n")
|
||||
print("OK" if ok else "PROBLEMS")
|
||||
sys.exit(0 if ok else 1)
|
||||
Loading…
Add table
Add a link
Reference in a new issue