Files
mtgodot-poc/audit/remediation-roadmap.md
T
shenleiandClaude Opus 5 67a62e3390 docs(port-plan): data-source switch from m2dev assets to 40250 (batch 2D)
Records the root/uiscript/locale comparison: npclist, msm contents and
motion/combo registration match; msm location differs; item_proto and
mob_proto use a different record layout and TEA instead of XChaCha20,
so proto.cpp cannot read them; pack contents not yet compared.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 18:28:41 +09:00

2.8 KiB
Raw Blame History

40250 1:1 移植队列

路线与决定见 docs/PORT-PLAN.md,工作方法见 .agents/skills/metin2-40250-parity-audit/SKILL.md。本文件只放批次和队列,不写每轮叙述(每轮结果记在 audit/port-map/** 和 audit/history.jsonl)。2026-09-22 之前的按分支修复记录见本文件的 git 历史。

实时剩余量与下一批候选:

python3 .agents/skills/metin2-40250-parity-audit/scripts/port_map.py status
python3 .agents/skills/metin2-40250-parity-audit/scripts/port_map.py queue --limit 20

批次

批次 内容 状态
0 工具:参考根解析、缺失文件报错、port_map.py、构建/测试入口 完成 2026-09-22
1 删除只被自身测试引用的 project/*_system.gd 与其 test_*_parity.gd,清除 manifest 中对应证据 完成 2026-09-22(106+106 个文件)
2 P0 角色/移动单元,移植到 extension/src/port/<Lib>/<File>(并行 worktree) 未开始
2P CPython 2.7.18 静态编入 libmtgodot(macOS → Android APK → iOS),见 docs/PYTHON-EMBED-EVAL.md 未开始(Android 独立程序已验证 b02c49bb)
2D 数据源切到 40250:msm 路径、proto(TEA + TItemTable)、EPK 解包比对、切资源根,见 docs/PORT-PLAN.md 第 5 节 未开始
3 P1 战斗/技能 → P2 游戏阶段封包 → P3 物品;Python 层按 2P 的结论进行 未开始
4 NEEDS_LIVE 真服验证批 未开始

批次 2 单元(互不共享实现文件的可并行)

实现位置一律是镜像文件 extension/src/port/<Lib>/<File>.{h,cpp};下面列出的是需要删减旧逻辑的迁移来源。 第一个单元负责建立 extension/src/port/ 与 extension/src/platform/ 目录和 CMake 目标。

  • UserInterface/PythonPlayerEventHandler.cpp(OnMove/OnMoving/OnStop 已在 net_play.gd 对齐,需迁到镜像文件;OnWaiting DIVERGENT)— net_play.gd
  • UserInterface/InstanceBaseMovement.cpp + UserInterface/InstanceBase.cpp(同一 owner,串行)— player_controller.gd、entity_store.cpp
  • UserInterface/PythonPlayerInput.cpp + PythonPlayerInputKeyboard.cpp + PythonPlayerInputMouse.cpp — player_controller.gd(与上一项串行)
  • GameLib/ActorInstanceMotion.cpp + ActorInstanceEvent.cpp — 动作/事件
  • GameLib/ActorInstance.cpp + ActorInstancePosition.cpp + ActorInstanceRotation.cpp + ActorInstanceCollisionDetection.cpp
  • UserInterface/PythonCharacterManager.cpp — net_world.gd、entity_store.cpp
  • UserInterface/PythonPlayer.cpp

已知参考位置

  • Python UI 以 40250 的 Client/Eternexus/root(打包为 pack/root.epk,90 个文件)为准;仓库内 assets/root 是另一版本(m2dev),与 40250 有实质差异(如 uitarget.py 按钮表),不能作为参考。