toxic-royale-env / scripts /bluestacks_diff_gameplay_configs.py
omm7's picture
Upload folder using huggingface_hub
b0620f3 verified
from __future__ import annotations
import json
from pathlib import Path
def _load(p: Path) -> dict:
return json.loads(p.read_text(encoding="utf-8"))
def _is_zero_pt(v) -> bool:
return isinstance(v, list) and len(v) == 2 and int(v[0]) == 0 and int(v[1]) == 0
def main() -> int:
root = Path(__file__).resolve().parents[1]
base = root / "config" / "bluestacks_gameplay.json"
local = root / "config" / "bluestacks_gameplay.local.json"
if not base.exists():
raise SystemExit(f"missing: {base}")
if not local.exists():
raise SystemExit(f"missing: {local} (run calibration wizard)")
b = _load(base)
l = _load(local)
missing = []
changed = []
# card slots
for k in ["1", "2", "3", "4"]:
bv = (b.get("card_slots") or {}).get(k)
lv = (l.get("card_slots") or {}).get(k)
if not lv or _is_zero_pt(lv):
missing.append(f"card_slots.{k}")
elif bv != lv:
changed.append((f"card_slots.{k}", bv, lv))
# elixir bar
for k in ["start", "end"]:
bv = (b.get("elixir_bar") or {}).get(k)
lv = (l.get("elixir_bar") or {}).get(k)
if not lv or _is_zero_pt(lv):
missing.append(f"elixir_bar.{k}")
elif bv != lv:
changed.append((f"elixir_bar.{k}", bv, lv))
# grid
grid_b = b.get("grid") or {}
grid_l = l.get("grid") or {}
for cell in [f"{r}{c}" for r in "ABCDEFGH" for c in "12345678"]:
bv = grid_b.get(cell)
lv = grid_l.get(cell)
if not lv or _is_zero_pt(lv):
missing.append(f"grid.{cell}")
elif bv != lv:
changed.append((f"grid.{cell}", bv, lv))
print("=== bluestacks gameplay config diff ===")
print("base :", base)
print("local:", local)
print()
if missing:
print(f"missing/zero points: {len(missing)}")
for m in missing[:40]:
print(" -", m)
if len(missing) > 40:
print(f" ... +{len(missing) - 40} more")
print()
else:
print("missing/zero points: 0")
print()
print(f"non-default points (local != base template zeros): {len(changed)}")
# print a small, useful sample
for name, _bv, lv in changed[:20]:
print(f" - {name} = {lv}")
if len(changed) > 20:
print(f" ... +{len(changed) - 20} more")
return 0
if __name__ == "__main__":
raise SystemExit(main())