Commit Graph
779 Commits
Author SHA1 Message Date
Frog 68d6977214 Improve Background DLC Logging / Add New Label / SmokeAPI New DLC Enabled by Default
- Adjust logging for background DLC refreshes so they're better timed and groupped appropriately
- Add NEW label for DLCs that are "newly" detected VIA Background refresh
- Ensure newly discovered DLC for SmokeAPI are enabled by default due to how SmokeAPI functions by default unlocking DLC regardless of config
2026-07-21 00:54:10 -07:00
Frog c6756067f3 Bug Fix for Duplicate DLC Entries
- bug fix to avoid duplicates in a games DLC entries from a cached install
2026-07-21 00:33:09 -07:00
Frog 2502f124ee Add Clear Cache / Reconfigure SteamCMD Buttons
- Add button to clear app cache in settings
- Add button to reconfigure SteamCMD in settings
- Add a few edge cases to cleanup old legacy folders
2026-07-20 22:46:33 -07:00
Frog 25c4a6d4c5 Remove Uninstall All Button / Adjust Settings and Select All Buttons
- Rename "All" to "Select All"
- Relocated settings button to top right corner
- Better center the Select All button with the settings button
- Remove the Uninstall All button > fuck it, you can already do this by selecting all and uninstalling selected.
2026-07-20 22:12:50 -07:00
Frog 0b34bc1dad Save Chose Unlocker Toggle State to Settings
- Saves the chosen toggle state for the specified unlocker in the settings
2026-07-20 21:46:30 -07:00
Frog 9468134c1a Fix Bug Where Theme Not applying to Debug Window
- Fixes a bug where the selected them wasn't applying to the debug window until the app was relaunched.
2026-07-20 21:39:43 -07:00
Frog f8e3ea6e3c Add Label for Which Unlocker Is Currently In Use
- Adds label alongisde toggle switch to clearly indiciate which unlocker is in use.
2026-07-20 21:36:38 -07:00
Frog fc89442eb7 Add GroupBoxes to Settings
- Adds groupboxes and groups settings to make it a little more organized
2026-07-20 15:53:51 -07:00
Frog 07ce06c990 Adjust DarkMode Settings Tooltip
- Remove comment about changes taking effect immeditaely, the change only occurs on setting save now.
2026-07-20 11:07:14 -07:00
Frog 8b1cbc65ff Fixes some shitty indentation
- fixes some shit indentations
2026-07-20 02:22:51 -07:00
Frog 3d77095ab9 Fix Minor Setting UI Bug
- Fixes an issue with checkboxes in the settings menu, when checking them there was a slight clipping on the left of the checkbox.
2026-07-20 02:15:55 -07:00
Frog 5686664b98 Add Tooltips to Settings / Fix Sort By Name Setting
- Fixes bug where game list was not updates after saving settings when changing the sort setting
- Add tooltips to the settings menu to describe what each setting does
- Add tooltips to the buttons in the mainform
2026-07-20 01:57:15 -07:00
Frog 9bac1f3944 Rename SelectForm to MainForm and SelectDialogForm to ScanDialog.
- MainForm is the primary application window that displays the list of installed games and DLC unlockers, and is where DLC unlockers are configured and installed.
- ScanDialog performs a library scan and allows the user to select which games to begin configuring DLC unlockers for.
2026-07-20 01:49:30 -07:00
Frog 71d17031b9 WIP Start to Settings Menu / UI Adjustments
- Remove the MainForm cancel button > it doesn't really serve a purpose and it breaks the UI cause I suck.
- Add the start to a settings dialog, relocated several settings from the top bar into the new setttings dialog
- Add a custom Toggle Switch, change the CheckBox for SmokeAPI/CreamAPI to a Toggle Switch
- Relocate Uninstall All button to main form (Currently disabled)
2026-07-20 01:41:55 -07:00
Frog 513dcbb599 Better Handling of Enabled/Disabled DLC for PreExisting CreamAPI/SmokeAPI configs
- Better handling for the enabled/disabled state of a games DLC if an existing SmokeAPI/CreamAPI configuration is detected.
- Some additional checks to avoid duplicate DLC entries in the visual tree
2026-07-18 04:46:10 -07:00
Frog 39fa07f471 Adjust SmokeAPI Config Read Logging
- Add additional clarity to SmokeAPI logs for reading DLC unlocked/original state.
- Count how many DLCs SmokeAPI attempts to auto unlock, include this in the logging
2026-07-18 04:30:10 -07:00
Frog 896ad4857e Adjust Unlocker Scanning Logs
- Adjusts the unlocker scanning logs to go to the correct destination
- Adjusts the headers for some of the logs so logs are slightly more clear
2026-07-18 04:18:41 -07:00
Frog fcb099b960 Background Scan for Cached/Installed Games
- Ensure a DLC check is performed on cached/installed games in the background so if a game has new DLC it's added into the UI
2026-07-18 03:38:08 -07:00
Frog 6c3e9c464a Relocate logs to Logs subdirectory
Move all log files from C:\ProgramData\CreamInstaller\ to
C:\ProgramData\CreamInstaller\Logs\
2026-07-17 00:51:07 -07:00
Frog 6c4d989fcd Relocate Cache Related Data
- Renames choices.json to saved-game-choices.json
- Relocates all cache JSON files to the C:\ProgramData\CreamInstaller\Cache folder
2026-07-17 00:46:34 -07:00
Frog 92379aebfd Persist DLC State / Detect DLC State from DLC Unlocker Configs / Refactor Logging
- Save DLC enabled state to installed.json during install
- Restore DLC enabled state from installed.json when loading saved installed games on launch
- Added SmokeAPI.ReadConfigDlcIds() to read SmokeAPI.config.json and extract enabled/disabled DLC IDs from override_dlc_status and extra_dlcs
- Added CreamAPI.ReadConfigDlcIds() to read cream_api.ini and extract DLC IDs from [dlc] section
- On scan, when a SmokeAPI or CreamAPI unlocker is detected, read its config and adjust DLC enabled state accordingly
- Removed legacy dlc.json entirely (DlcChoicesPath, ReadDlcChoices, WriteDlcChoices, and all references) since installed.json now fully manages DLC state
- Refactored logging methods ProgramData.Log/LogWarning/LogError with a better structured Log.Info/Warn/Error and LogDestination enum for routing logs to the correct file (Scan, Steam, Unlocker, App)
2026-07-17 00:34:06 -07:00
Frog 970ee53bfc Relocate Cooldown Folder/Data Location.
- Relocated the cooldown folder from C:\ProgramData\CreamInstaller\cooldown to C:\ProgramData\CreamInstaller\Cache\cooldown (Does not cleanup the old location currently)
2026-07-08 00:38:20 -07:00
Frog 16811a7ddb Remove Old Buttons / Relocate Uninstall All Button
- Removes the old Save/Load buttons on the main window as they don't provide a real purpose with the new changes of loading installed DLC Unlockers
- Removes the Reset button as it clears the loaded settings which really serves no effective purpose with the new changes
- Moves the Uninstall All button to the Main Window since it doesn't really make sense for it to live on the Rescan window
- Add prompt on Uninstall All to confirm you actually WANT to remove EVERYTHING
2026-07-06 23:28:36 -07:00
Frog 81fe387d8b Merge branch 'main' of https://github.com/FroggMaster/CreamInstaller 2026-06-22 01:18:55 -07:00
Frog cd1f2ac0d6 Update ReadMe
- Include informatioon about DLL Verification in the FAQ. (It's been getting asked about enough.)
2026-06-22 01:18:06 -07:00
FrogandGitHub a7f366f0eb Update Issue Templates
- Some updates to the old issue templates.
2026-06-21 23:25:16 -07:00
FrogandGitHub c1af9d9bef Update issue templates 2026-06-21 23:20:08 -07:00
Frog 75a74751ea Update Github Runners
- Updates the Github CI runner to use the latest versions of the depended upon actions.
2026-06-21 23:18:21 -07:00
Frog 9a9c533d08 Fixes for MISC Build Warnings
- Chaged several classes within ThemeManager to sealed since they're not inherrited from in other areas of the code.
- Added Nullable section and defined some variables as nullable.
2026-06-21 17:21:33 -07:00
Frog fb778bddfa Fix for SteamCMD Migration
- Fix for SteamCMD Migration: Creates SteamCMD directory before trying to start the download (Woops, kinda need to do that.)
- Ensures the application migrates SteamCMD files fom the legacy location C:\ProgramData\Creamlnstaller\ to C:\ProgramData\Creamlnstaller\SteamCMD\
2026-06-21 15:51:43 -07:00
Frog 0478088442 Scan and Logging Performance Improvements
- Parallelized Steam ACF and DLC scanning
- Replaced lock-based logging with async channel to avoid UI locks during parallel thread calls.
- Added MD5 cache during file checks to reduce redundant I/O calls
2026-06-21 00:30:04 -07:00
Frog c4aaab8bdc Improve Game/Library Scan Logging
- Add per-platform library scan timing and per-game detection logs
2026-06-18 01:10:01 -07:00
Frog 34b608207c ReadME Updates
- Add information about proxying DLLs and finding the correct proxy DLL for a game.
- Adjust the FAQ section into an expand/collapse section. (Surely you'll read it if you have to expand it right?!)
- Add additional flags to the false positive section
- Cleanup some of the AI shit. (Yes, I ran the readme through AI, it made the formatting better for sure. ¯\_(ツ)_/¯)
2026-06-18 00:15:41 -07:00
Frog 36623eec09 Improve Game and DLC Scanning Performance / Reduced Steam API Retires
- SteamCMD: Changed output reading from one character at a time to buffered reads, fixing a stderr deadlock issue and making the process much faster and more responsive to cancellation.
- DLC detection: Eliminated a busy-wait loop that was polling every 200ms on a background thread while waiting for game data to arrive. Now uses proper async signaling so the thread is freed up entirely.
- HTTP retries: Previously every Steam API error was retried up to 10 times with delays, even for "403 Forbidden" errors that will never succeed. The scanner now gives up immediately on permanent errors, preventing up to 90 seconds of wasted retries per failed app, and avoids triggering rate limits by hammering the API on doomed requests
- Replaced fixed 1-second waits with smarter retry timing that waits longer after each failed attempt and adds a small random delay to reduce API requests. Also reduced the maximum number of retry attempts from 10 to 3 for temporary network errors.
2026-06-17 13:44:26 -07:00
Frog 6ecab7a4d3 Correct Progress Label Being Slight Cut Off
- Increases the size/position of the progress label so the text doesn't get cut off, also makes it somewhat easier to read.
2026-06-17 01:06:12 -07:00
Frog c33537f549 Improvements to Test Game Form
- Adds the ability to Test Ubisoft Games > Has a search function with a "public" API.
- Remove the DLC section from Steam Game Test Window, never really going to use this as originally the idea with test games was primarily to test DLC resolution.
- Ensure the game name is cleared whens witching between test platforms
- Proper cleanup of test data if the Clear All Tests button is clicked, ensures test games get cleared from the selection list as well.
2026-06-16 01:50:04 -07:00
Frog a264828875 Additional Label/Badge Colors for DLC Unlockers
- Adds a badge/color for ScreamAPI (Epic Games)
- Adds a badge/color for UPlay Unlocker (Ubisoft Games)
- Adds a badge/color for Koaloader (MISC Injection Methods)
2026-06-15 23:19:44 -07:00
Frog 4aa6756140 Improve installed.json
- Serialize Platform and Unlocker as strings rather than just displaying an integer in installed.json so it's easier to distinguish.
2026-06-15 22:20:23 -07:00
Frog 6156272d1b Skip scan dialog on initial launch when DLC unlockers are already installed
- On initial launch, skip the re-scan window if previously installed DLC
  unlockers are detected and load saved games directly instead
2026-06-15 21:42:03 -07:00
Frog d7290e33be Make the Debug Window Log Again
- Restore the debug window logging and ensure it's nice and colorful.
2026-06-15 03:54:21 -07:00
Frog 60487d5313 Create Cache Directory in ProgramData
- Created new Cache folder in Program Data
- Relocated Appinfo to Cache folder
- Relocated installed.json to Cache folder
2026-06-15 03:22:10 -07:00
Frog 6eef5e836a Relocate SteamCMD
- Relocates everything related to SteamCMD to C:\ProgramData\CreamInstaller\SteamCMD
2026-06-15 03:15:09 -07:00
Frog d9e1f0cb08 Remove Double Try
- Remove shitty double try code, cleanup can happen in a single try.
2026-06-15 03:02:51 -07:00
Frog 4f5cd45642 Cleanup Cream-Steam.log
- Ensure we cleanup Cream-Steam.log
2026-06-15 03:01:57 -07:00
Frog 0c3edf1ee7 Further Enhancements to Recall Games Installed With DLC Unlockers
- Rename JSON Proxy field to "Proxy DLL Name" and always store the resolved
  name instead of null for default convention
- Add DetectInstalledProxy() to find proxy dlls winmm/winhttp/version.dll
- Fixes to ensure all detected unlockers are persisted in installed.json on scan so pre-existing unlockers are tracked even if not installed via CreamInstaller
- Restore proxy and extra protection state from saved records for both
  scanned and previously scanned games on reload
- Detect proxy DLLs from disk for previously scanned game reconstruction
2026-06-15 02:55:24 -07:00
Frog 121236632c Recall Games With Installed DLC Unlockers
- Checks if CreamAPI/SmokeAPI/ScreamAPI are present in a game directory. If so, ensures it's stored in installed.json so we recall all games with DLC unlockers that have been detected, even if those DLC unlockers were not installed VIA CreamInstaller.
2026-06-15 02:07:46 -07:00
Frog c0763cff92 Logging Improvements
- Indicate why a blocked game may be blocked/skipped
- Indicate which DLL is missing for a game if we're looking for it
2026-06-15 00:20:23 -07:00
Frog d52c73d79a Further Logging Additions
- Updates further logging lines that were using UTC to instead use current system time.
- Added log lines to include total time for detecting games and DLC during library scan
- Added log lines for why a game may not be processed.
- Added log lines to indicate how many game were detected across all libraries.
- Corrects log line where the game-scan.log was incorrectly reporting double the amount of selected games
2026-06-14 23:58:27 -07:00
Frog d4775d2629 Adjust Logging Time
- Adjust logging time to use system time instead of UTC
2026-06-14 22:53:04 -07:00
Frog c775215be2 Adjustments to New Logging
- Slight adjustments to where SteamAPI calls go in logs
- Renamed cream-steamcmd log to just cream-steam.log
- Added prefixes for SteamCMD / SteamAPI commands to logs
2026-06-14 02:13:29 -07:00