fix(headless): Set DX8Wrapper_IsWindowed to false to suppress assertion dialogs during shutdown#2298
Conversation
… suppress assertion dialogs during shutdown
|
| Filename | Overview |
|---|---|
| Generals/Code/GameEngine/Source/Common/CommandLine.cpp | Adds explicit DX8Wrapper_IsWindowed = false in parseHeadless() so ignoringAsserts() suppresses assertion dialogs during shutdown even after TheGlobalData is destroyed. |
| GeneralsMD/Code/GameEngine/Source/Common/CommandLine.cpp | Identical fix mirrored from Generals/ — sets DX8Wrapper_IsWindowed = false in parseHeadless() for Zero Hour. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["-headless flag parsed\nparseHeadless()"] -->|before this PR| B["DX8Wrapper_IsWindowed\nremains true (default)"]
A -->|after this PR| C["DX8Wrapper_IsWindowed = false"]
B --> D["ignoringAsserts() called\nduring shutdown"]
C --> D
D --> E{DX8Wrapper_IsWindowed\n== false?}
E -->|Yes - after fix| F["return true\n✅ Assert suppressed"]
E -->|No - before fix| G{TheGlobalData &&\nm_headless?}
G -->|TheGlobalData == nullptr\nduring shutdown| H["return false\n❌ Dialog shown"]
G -->|TheGlobalData alive| I["return true\n✅ Assert suppressed"]
Reviews (4): Last reviewed commit: "Replicate headless DX8Wrapper_IsWindowed..." | Re-trigger Greptile
|
Summary
DX8Wrapper_IsWindowedto false in headless mode soignoringAsserts()works - particularly during shutdown afterTheGlobalDatahas been destroyed.Testing
-replay test.rep -headless -ignoreAsserts)