docs(control): trace AniMesh loading chain
This commit is contained in:
@@ -243,6 +243,28 @@ World3D и делает virtual call slot `+0x24` с literal `0x15` и стро
|
||||
следующим объектом динамической трассировки. Поэтому reference movement в
|
||||
новом runtime намеренно не использует неподтверждённые параметры Control.
|
||||
|
||||
### Связь с AniMesh
|
||||
|
||||
PE import table GOG `AniMesh.dll` показывает, что это прямой consumer
|
||||
`CreateCollManager`, `CreateCollObject` и `LoadControlSystem`; других DLL,
|
||||
которые статически импортируют эти три named exports, не найдено. Внутренний
|
||||
AniMesh path по VA `0x100032e7` вызывает Control thunks в строгой наблюдаемой
|
||||
последовательности:
|
||||
|
||||
```text
|
||||
LoadControlSystem (thunk 0x1001934e)
|
||||
-> CreateCollObject (thunk 0x10019348)
|
||||
-> CreateCollManager (thunk 0x10019342)
|
||||
```
|
||||
|
||||
После factory calls caller immediately берёт returned interface vtable и
|
||||
делает дальнейшие virtual calls; это связывает Control с загрузкой
|
||||
AniMesh/unit components, а не с одной глобальной настройкой процесса. В
|
||||
частности, `CreateCollObject` получает два stack arguments, а
|
||||
`CreateCollManager` — один. Предметные значения этих arguments, ownership
|
||||
private objects и per-tick update slots пока не восстановлены; порядок
|
||||
создания не доказывает скорость, collision algorithm или AI semantics.
|
||||
|
||||
### Control system и physical model
|
||||
|
||||
`LoadControlSystem` загружает настройки controller-а: ограничения скорости,
|
||||
|
||||
Reference in New Issue
Block a user