- Added base logging infrastructure
- Create scan log during library/game scan in %ProgramData%\CreamInstaller\scan.log
- Normalize Steam library paths (libraryfolders.vdf) using Path.GetFullPath + ResolvePath to handle slashes, casing, and drive changes
- Diagnostics.ResolvePath: wrap GetFileSystemInfos in try/catch and guard against empty results to prevent IndexOutOfRangeException (May assist with issues on slow or intermittently accessible external drives)
- Added ThemeManager.DrawDarkCheckBox to render dark-themed rounded checkboxes
- Fixed TreeView and Proxy checkboxes showing white backgrounds in dark mode due to CheckBoxRenderer drawing opaque system-themed glyphs. > Still need to fix the actual checkmark to match the top checkboxes.
- Disabled DrawDefault for checkbox tree nodes in dark mode and manually draw the row background, text, and checkbox glyphs.
- Checkbox glyph sizing now uses CheckBoxRenderer.GetGlyphSize for proper DPI scaling. (Probably)
- Removed the game search label in favor of textbox placeholder text.
- Added methods to ensure the placeholder text renders properly
- Added inline comments to explain what NativeMethods is for
- Added a "Game search:" label and text box above the game list in
SelectDialogForm, allowing users to filter the program/game list
by name in real-time (case-insensitive substring match).
- Added TextBox theming support to ThemeManager for both dark and
light modes, ensuring the new search field conforms to the active
theme.
- Fix a NullReferenceException that could occur when the Epic GraphQL API returns a partial response with missing fields (Data, Catalog, SearchStore, or CatalogOffers).
- Moved as much of the legacy theme code as I could find into ThemeManager
- Some shitty comments added VIA AI (probably better than I'd write anyways)
- Some adjustments to how the highlight is being rendered, for some fucking reason the system highlight refuses to match on the left/right (probably some dumb shit I'm doing.) > This version makes things clearer/easier to read in dark mode.
- Moves more color handling to ThemeManager
- Adds dark mode for the proxy combo box
- Adjusts the combo box highlight so its no fucking impossible to read in dark mode.
- Updated common false positives and include a rough description of what they mean.
- Removed link to build instructions (spoilers, I don't have any written.)
- The start of a dark mode theme
- Adds a button to toggle dark mode in the top options panel. (The buttons kind of ugly though and I may change this to a checkbox to align with the other existing options)
- Added library uxtheme.dll for handling scrollbar themeing (Dealing with scrollbars sucks)
- Added ThemeManager for handling of theme colors (Allows for potential expandability I'll probably never implement)
- Fixed unreachable code that provides information about deleted config file
- Adjusted old comment from pointfeev that indiciated SmokeAPI might always be false (it's now toggleable)