audit(2A): include-dependency tool, 2V0-2V3 slice unit lists and batch-2 order

port_deps.py resolves explicit #include edges plus the implicit edges each
40250 library's StdAfx.h supplies (symbol index restricted to StdAfx-visible
headers), writes cumulative slice lists and the P0 topological order.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-22 19:21:10 +09:00
co-authored by Claude Opus 5
parent ae68ec5944
commit 4521845a69
9 changed files with 7610 additions and 2 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ python3 .agents/skills/metin2-40250-parity-audit/scripts/port_map.py queue --lim
| 3 | 剩余 Python 模块和窗口 → P1 战斗/技能 → P2 游戏阶段封包 → P3 物品 | 未开始 |
| 4 | `NEEDS_LIVE` 真服验证批 | 未开始 |
## 批次 2 单元(顺序由 2A 的依赖图重新生成;下表仅为候选)
## 批次 2 单元(顺序以 `audit/slices/batch2-order.json` 为准,由 `port_deps.py order --write` 生成;下表仅为候选)
实现位置一律是镜像文件 `extension/src/port/<Lib>/<File>.{h,cpp}`;下面列出的是需要删减旧逻辑的迁移来源。
目录、CMake 目标和公共头由 2A 建立。
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+205
View File
@@ -0,0 +1,205 @@
{
"generated_by": ".agents/skills/metin2-40250-parity-audit/scripts/port_deps.py order --write",
"note": "P0 logic units; a unit starts only after every unit in `after` has landed. `serial_group` units include each other's headers and are ported as one serial group.",
"steps": [
{
"units": [
"GameLib/ActorInstance.cpp"
],
"serial_group": false,
"after": []
},
{
"units": [
"GameLib/ActorInstanceCollisionDetection.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp"
]
},
{
"units": [
"GameLib/ActorInstanceEvent.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp"
]
},
{
"units": [
"GameLib/ActorInstanceMotion.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp"
]
},
{
"units": [
"GameLib/ActorInstanceMotionEvent.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp"
]
},
{
"units": [
"GameLib/ActorInstancePosition.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp"
]
},
{
"units": [
"GameLib/ActorInstanceRotation.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp"
]
},
{
"units": [
"GameLib/ActorInstanceSync.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp"
]
},
{
"units": [
"UserInterface/InstanceBase.cpp",
"UserInterface/PythonCharacterManager.cpp",
"UserInterface/PythonPlayer.cpp",
"UserInterface/PythonPlayerEventHandler.cpp"
],
"serial_group": true,
"after": [
"GameLib/ActorInstance.cpp"
]
},
{
"units": [
"UserInterface/InstanceBaseBattle.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp",
"UserInterface/InstanceBase.cpp",
"UserInterface/PythonCharacterManager.cpp",
"UserInterface/PythonPlayer.cpp",
"UserInterface/PythonPlayerEventHandler.cpp"
]
},
{
"units": [
"UserInterface/InstanceBaseEffect.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp",
"UserInterface/InstanceBase.cpp",
"UserInterface/PythonCharacterManager.cpp",
"UserInterface/PythonPlayer.cpp",
"UserInterface/PythonPlayerEventHandler.cpp"
]
},
{
"units": [
"UserInterface/InstanceBaseEvent.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp",
"UserInterface/InstanceBase.cpp",
"UserInterface/PythonCharacterManager.cpp",
"UserInterface/PythonPlayer.cpp",
"UserInterface/PythonPlayerEventHandler.cpp"
]
},
{
"units": [
"UserInterface/InstanceBaseMotion.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp",
"UserInterface/InstanceBase.cpp",
"UserInterface/PythonCharacterManager.cpp",
"UserInterface/PythonPlayer.cpp",
"UserInterface/PythonPlayerEventHandler.cpp"
]
},
{
"units": [
"UserInterface/InstanceBaseMovement.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp",
"UserInterface/InstanceBase.cpp",
"UserInterface/PythonCharacterManager.cpp",
"UserInterface/PythonPlayer.cpp",
"UserInterface/PythonPlayerEventHandler.cpp"
]
},
{
"units": [
"UserInterface/InstanceBaseTransform.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp",
"UserInterface/InstanceBase.cpp",
"UserInterface/PythonCharacterManager.cpp",
"UserInterface/PythonPlayer.cpp",
"UserInterface/PythonPlayerEventHandler.cpp"
]
},
{
"units": [
"UserInterface/PythonPlayerInput.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp",
"UserInterface/InstanceBase.cpp",
"UserInterface/PythonCharacterManager.cpp",
"UserInterface/PythonPlayer.cpp",
"UserInterface/PythonPlayerEventHandler.cpp"
]
},
{
"units": [
"UserInterface/PythonPlayerInputKeyboard.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp",
"UserInterface/InstanceBase.cpp",
"UserInterface/PythonCharacterManager.cpp",
"UserInterface/PythonPlayer.cpp",
"UserInterface/PythonPlayerEventHandler.cpp"
]
},
{
"units": [
"UserInterface/PythonPlayerInputMouse.cpp"
],
"serial_group": false,
"after": [
"GameLib/ActorInstance.cpp",
"UserInterface/InstanceBase.cpp",
"UserInterface/PythonCharacterManager.cpp",
"UserInterface/PythonPlayer.cpp",
"UserInterface/PythonPlayerEventHandler.cpp"
]
}
]
}