Legend:
- ✅ Eliminated (open source)
⚠️ Wrapped (hybrid)- 🔄 In progress
- 📋 Planned
- 🟢 Low priority
┌─────────────────────────────────────────────────────────────────────────────┐
│ │
│ ORIGINAL GAME (2003) │
│ ┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────┐ │
│ │ DirectX 8 (MSFT) │ │ Miles Sound (RAD) │ │ Bink Video │ │
│ │ ✗ Proprietary │ │ ✗ Proprietary │ │ ✗ Proprietary │ │
│ │ ✗ Windows only │ │ ✗ Windows only │ │ ✗ Windows only │ │
│ │ ✗ Black box │ │ ✗ Black box │ │ ✗ Black box │ │
│ └──────────────────────┘ └──────────────────────┘ └──────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
↓ (Phase 1-2)
┌─────────────────────────────────────────────────────────────────────────────┐
│ │
│ PHASE 2 (CURRENT - 80% LIBERATION) │
│ │
│ ┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────┐ │
│ │ Vulkan + DXVK ✅ │ │ OpenAL ✅ │ │ FFmpeg ✅ │ │
│ │ Wrapped, open │ │ Open source │ │ Open source │ │
│ │ Cross-platform │ │ Cross-platform │ │ Cross-platform │ │
│ │ DirectX→Vulkan │ │ 3D audio support │ │ Video fallback │ │
│ └──────────────────────┘ └──────────────────────┘ └──────────────────┘ │
│ │
│ REMAINING PROPRIETARY: │
│ └─ DirectX 8 (Windows only, acceptable interim) │
│ └─ BuildTools (VC6, being replaced with CMake) │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
↓ (Phase 4)
┌─────────────────────────────────────────────────────────────────────────────┐
│ │
│ PHASE 4 (STRATEGIC UNIFICATION - 95% LIBERATION) │
│ │
│ ┌──────────────────────────────────────────────────────────────────────┐ │
│ │ SDL3 Unified Ecosystem (audio + graphics) ✅ │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ SDL3 Video │ │ SDL3 Audio │ │ Vulkan GPU │ │ │
│ │ │ (rendering) │ │ (music+sfx) │ │ (rendering) │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
│ │ + │ │
│ │ ┌──────────────────────────────────────────────────────────────┐ │ │
│ │ │ FFmpeg (video codec library) │ │ │
│ │ └──────────────────────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────────────────┘ │
│ │
│ RESULT: Unified, auditable core (3 open-source libs total) │
│ 100% community-maintainable │
│ Full Linux + Windows parity │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
↓ (Phase 5+, optional)
┌─────────────────────────────────────────────────────────────────────────────┐
│ │
│ PHASE 5 (COMPLETE LIBERATION - 100%, UNIFIED SDL3 ECOSYSTEM) │
│ │
│ ┌──────────────────────────────────────────────────────────────────────┐ │
│ │ SDL3 UNIFIED ECOSYSTEM ✅ │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ │ │
│ │ │ SDL3 Video │ │ SDL3 Audio │ │ SDL3 GPU API │ │ │
│ │ │ (rendering) │ │ (music+sfx) │ │ (multi │ │ │
│ │ │ │ │ │ │ backend) │ │ │
│ │ └─────────────┘ └─────────────┘ └──────────────┘ │ │
│ │ + │ │
│ │ ┌──────────────────────────────────────────────────────────────┐ │ │
│ │ │ FFmpeg (video codec library - standalone) │ │ │
│ │ └──────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Backend Support (choose at runtime): │ │
│ │ ├─ Linux: Vulkan (RADV/AMDVLK/NVIDIA) │ │
│ │ ├─ macOS: Metal (native) │ │
│ │ ├─ Windows: DirectX 12 (SDL3) + Vulkan │ │
│ │ └─ Alternative: OpenGL (fallback) │ │
│ └──────────────────────────────────────────────────────────────────────┘ │
│ │
│ STRATEGIC VICTORY: │
│ • 100% open source core (3 libs) │
│ • Fully unified SDL3 (graphics + audio + input) │
│ • Multi-platform support (Windows + Linux + macOS) │
│ • Community-maintained indefinitely │
│ • Zero proprietary tech anywhere │
│ • Futureproof (add Metal/GL backends easily) │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
| System | Windows Build | Linux Build | Proprietary? | Status |
|---|---|---|---|---|
| Rendering | DirectX 8 | DXVK+Vulkan | Wrapped | |
| Audio | Miles* | OpenAL | ✅ None | Migrated |
| Video | Bink* | FFmpeg | ✅ None (Bink optional) | Migrated |
| Input | Win32 API | SDL3 | ✅ None | Migrated |
| Windowing | Win32 API | SDL3 | ✅ None | Migrated |
| Build Tools | VC6/MSVC | CMake/GCC | ✅ CMake open | Modernized |
Result: ~80% proprietary tech eliminated ✅
| System | Build | Technology | Proprietary? | Benefit |
|---|---|---|---|---|
| Rendering | All | SDL3 GPU API (multi-backend) | ✅ Open | Vulkan/Metal/DX12/GL support |
| Audio | All | SDL3 Audio | ✅ Open | Unified with graphics |
| Video | All | FFmpeg | ✅ Open | Universal codec support |
| Input | All | SDL3 | ✅ Open | Cross-platform |
| Windowing | All | SDL3 | ✅ Open | Cross-platform |
| Build Tools | All | CMake | ✅ Open | Cross-platform |
Result: 100% open source core, fully SDL3-based, zero proprietary tech ✅
| System | Windows Build | Linux Build | Proprietary? | Status |
|---|---|---|---|---|
| Rendering | DirectX 8 | DXVK+Vulkan | Wrapped | |
| Audio | Miles* | OpenAL | ✅ None | Migrated |
| Video | Bink* | FFmpeg | ✅ None (Bink optional) | Migrated |
| Input | Win32 API | SDL3 | ✅ None | Migrated |
| Windowing | Win32 API | SDL3 | ✅ None | Migrated |
| Build Tools | VC6/MSVC | CMake/GCC | ✅ CMake open | Modernized |
Result: ~80% proprietary tech eliminated ✅
| System | Windows Build | Linux Build | Proprietary? | Status |
|---|---|---|---|---|
| Rendering | DirectX 8 | DXVK+Vulkan | As-is (interim) | |
| Audio | SDL3 Audio | SDL3 Audio | ✅ Unified | Migrated ✅ |
| Video | FFmpeg | FFmpeg | ✅ Unified | Migrated ✅ |
| Input | SDL3 | SDL3 | ✅ Unified | Migrated ✅ |
| Windowing | SDL3 | SDL3 | ✅ Unified | Migrated ✅ |
| Build Tools | CMake | CMake | ✅ Unified | Modernized ✅ |
Result: ~90% proprietary tech eliminated, SDL3 ecosystem mostly unified ✅
Miles Sound System (Phase 2 ✅ → Phase 4 🔄)
Current: OpenAL (working)
Planned: SDL3 Audio (unification, Phase 4)
Win Impact: Builds fine with OpenAL on Windows
Bink Video (Phase 3 📋)
Current: FFmpeg fallback (non-blocking)
Planned: Full FFmpeg (Phase 4, optional)
Win Impact: Can skip intros or use FFmpeg
DirectX 8 (Phase 1 → Phase 5+ optional)
Current: DXVK wrapper (works, open!)
Planned: Native Vulkan rewrite (large effort, Phase 5+)
Win Impact: Acceptable as-is (wrapped in DXVK)
GameSpy (Phase 5+ optional)
Current: Disabled (broken, defunct)
Planned: Custom solution or shelved
Win Impact: Not blocking (never worked anyway)
MaxSDK (Phase 5+ optional)
Current: Optional (VC6 builds only)
Planned: Blender SDK integration
Win Impact: Not blocking (artists already use exported assets)
VC6 Build System (Phase 0 ✅)
Current: Replaced with CMake ✅
Impact: Users can choose VC6 or CMake
| Date | Phase | Milestone | Status |
|---|---|---|---|
| 2026-02 | Phase 0 | Architecture analysis complete | ✅ Done |
| 2026-02 | Phase 1 | DXVK graphics foundation | 🔄 In progress |
| 2026-03 | Phase 1 | Graphics smoke tests | 📋 Target |
| 2026-03 | Phase 2 | OpenAL audio implementation | 📋 Target |
| 2026-04 | Phase 2 | Audio + graphics integration | 📋 Target |
| 2026-05 | Phase 3 | FFmpeg video spike | 📋 Target |
| 2026-06 | Phase 3 | Video+Audio sync working | 📋 Target |
| 2026-06 | Phase 4 | SDL3 Audio decision | 📋 Target |
| 2026-07 | Phase 4 | Polish & hardening | 📋 Target |
| 2026-08 | Phase 5 | macOS port (if planned) | 📋 Target |
| 2026-09 | Phase 5 | Long-term arch decisions | 📋 Target |
| 2026-10+ | Phase 5+ | Full open source target | 🎯 Long-term |
- Current State: Look at "Phase 2" table to see what's been eliminated
- Next Goal: See "Phase 4" table for near-term target
- Long-term Vision: "Phase 5+" shows ultimate goal (100% open)
- Decision Points: Red X marks mean "Make a decision here"
Document: Quick visual reference for proprietary tech elimination
Updated: 2026-02-13
Related: Proprietary Tech Roadmap (detailed version)