From cd52c209770f664e22dab279e3bf4a8ab6c3fd49 Mon Sep 17 00:00:00 2001 From: Macocian Alexandru Victor Date: Sun, 8 Feb 2026 11:53:33 -0800 Subject: [PATCH] Update documentation (#1384) --- Daybreak.wiki | 2 +- README.md | 32 +------------------------------- 2 files changed, 2 insertions(+), 32 deletions(-) diff --git a/Daybreak.wiki b/Daybreak.wiki index aeac88a9..bce989ec 160000 --- a/Daybreak.wiki +++ b/Daybreak.wiki @@ -1 +1 @@ -Subproject commit aeac88a9be3be0b2c9cc698407d7ae7acad1457f +Subproject commit bce989ec010ae41bec4ba9e88c9070bf189884e5 diff --git a/README.md b/README.md index 0ac2e9ea..cdcdb363 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ graph TB ### Component Descriptions | Project | Description | -|---------|-------------| +| ------- | ----------- | | **Daybreak.Windows** | Windows executable with WebView2, MSAL authentication, shortcuts, and native screen management | | **Daybreak.Linux** | Linux executable using GTK/WebKit via Photino, with Wine-based game injection | | **Daybreak.Core** | Shared Blazor UI, services, and configuration (multi-targeted for Windows-specific features) | @@ -66,13 +66,6 @@ graph TB | **Daybreak.API** | NativeAOT x86 library injected into Guild Wars, exposes game data via WebSocket/REST | | **Daybreak.Installer** | Standalone installer/updater executable | -### Platform-Specific Services - -The platform executables provide their own implementations for OS-specific functionality: - -- **Windows**: Native Win32 APIs for screen management, keyboard hooks, process injection, Microsoft Graph integration -- **Linux**: Stub implementations with Wine-based process injection (uses `wine Daybreak.Injector.exe`) - --- ## Build Requirements @@ -207,29 +200,6 @@ public static string ToWinePath(string linuxPath) } ``` -### Injection Flow on Linux - -1. **User clicks "Launch"** in the Daybreak UI -2. **DaybreakInjector (Linux)** receives the launch request -3. **WinePrefixManager.LaunchProcess()** is called with: - - `exePath`: Path to `Daybreak.Injector.exe` (translated to Wine path) - - `arguments`: `launch false "Z:\path\to\Gw.exe" ` -4. **Wine** executes `Daybreak.Injector.exe` within the managed prefix -5. **Daybreak.Injector.exe** launches Guild Wars suspended and returns process/thread handles -6. **DaybreakInjector** parses the output and continues with injection -7. **WinePrefixManager.LaunchProcess()** is called again for DLL injection -8. **Resume** is called to start the game - -### Implementation Checklist - -- [ ] Create `IWinePrefixManager` interface in `Daybreak.Shared` -- [ ] Create `WinePrefixManager` implementation in `Daybreak.Linux` -- [ ] Add `ToWinePath()` method to `PathUtils` -- [ ] Update `DaybreakInjector` (Linux) to use `WinePrefixManager` -- [ ] Handle Wine process ID mapping (Wine PIDs vs native PIDs) -- [ ] Add Wine installation detection and user guidance -- [ ] Test with Guild Wars launch and injection - --- ## Credits