Update docs with Phase 6 progress
CLAUDE.md: Update status to Phase 6 in progress, add new pitfalls and key files discovered during verification. PLAN.md: Mark Steps 1, 2, and 2b complete with results (50/50 CLSIDs, 13/13 DAT tests). Add DecalDat functional test as Step 2b. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
6a67ec2056
commit
84e3cb5a77
2 changed files with 36 additions and 22 deletions
34
docs/PLAN.md
34
docs/PLAN.md
|
|
@ -92,32 +92,32 @@ All preserve original CLSIDs/GUIDs for plugin compatibility.
|
|||
|
||||
---
|
||||
|
||||
## Phase 6: Verification & Implementation (NEXT)
|
||||
## Phase 6: Verification & Implementation (IN PROGRESS)
|
||||
|
||||
Goal: **Pixel-perfect drop-in replacement** for the closed-source Decal v2.9.8.3.
|
||||
|
||||
Strategy: **Bottom-up, one DLL at a time.** Replace one original DLL with our C#
|
||||
version while keeping all other original DLLs in place. Test. Move to the next.
|
||||
|
||||
### Step 1: Build on Windows
|
||||
### Step 1: Build on Windows ✅ COMPLETE
|
||||
```
|
||||
# C++ native projects (requires VS 2022 + Windows SDK)
|
||||
cd Native
|
||||
cmake -G "Visual Studio 17 2022" -A Win32 -B build
|
||||
cmake --build build --config Release
|
||||
|
||||
# Managed solution
|
||||
dotnet build Managed\Decal.sln -c Release
|
||||
dotnet build Managed\Decal.sln -c Release # 25 projects, 0 errors
|
||||
```
|
||||
|
||||
### Step 2: COM Registration Test
|
||||
Register all C# COM servers and verify GUIDs match originals:
|
||||
```
|
||||
regasm /codebase Managed\bin\Release\Decal.Core.dll
|
||||
regasm /codebase Managed\bin\Release\Decal.DecalDat.dll
|
||||
... (all 10 COM server DLLs)
|
||||
```
|
||||
Then verify in registry: `HKCR\CLSID\{GUID}\InprocServer32` points to our DLLs.
|
||||
### Step 2: COM Registration Test ✅ COMPLETE
|
||||
Automated script: `tools/Test-ComRegistration.ps1 -Build`
|
||||
- 10/10 DLLs register successfully with regasm /codebase
|
||||
- 50/50 CLSIDs verified in registry (WOW6432Node for 32-bit on 64-bit Windows)
|
||||
- 0 GUID mismatches vs original Decal .rgs files
|
||||
- 35 CLSIDs match original .rgs files exactly
|
||||
- 15 additional CLSIDs from decompiled interops (no .rgs source available)
|
||||
- 23 original CLSIDs not in scope (Inject module C++, internal action classes)
|
||||
|
||||
### Step 2b: DecalDat Functional Test ✅ COMPLETE
|
||||
`Managed/Decal.DecalDat.Tests/` — 13/13 tests pass against real AC DAT files:
|
||||
- Opens portal.dat (884 MB, sector size 1024) and cell.dat (332 MB, sector size 256)
|
||||
- Reads 6 known file IDs from portal.dat (SpellTable, ComponentTable, etc.)
|
||||
- DatStream: Read, Restart, ReadBinary with Tell tracking
|
||||
|
||||
### Step 3: Smoke Test — DenAgent
|
||||
Run `Decal.DenAgent.exe` and verify:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue