
Standalone Desktop App built in Flet / Python for Windows.
For use with Content Manager session results.
Ever wanted to extract a Content Manager Grid Preset from past single player results? Now you can do it!
Reminder: Only download this software from Overtake.gg or my Patreon. If you get this app, do not distribute this app or modify any piece of the app's code. This app is only for private, non-commercial use, okay? :>
----------------------------------
How to Use?
Load a previous result's .json file in the app and pick which session you want to extract the preset from!
Easiest way to do that is to navigate to the .json file via Content Manager's Results tab.

Highly recommended to copy the .json file to a more accessible location.
Load that .json file up in the app.
Enter a Preset name and check one of the session boxes.
Extract preset!
Features
CMPreset Extractor
Easily generate a new Preset from past results directly into Content Manager's "Presets\Race Grids" folder - meaning it will show up in the Detailed Settings drop-down list!
Reverse grid and "Top X" grid cutoff options
Option to fallback to global strength and aggression settings
Adjust overall strength and aggression if you need to adjust the difficulty

Use Cases:
Interrupted Weekend sessions - you've completed Practice / Qualifying and rolled the game over into the Race. For some reason you couldn't finish the Race or AI doesn't move off - now you can easily extract the Qualifying results and retry in a pure Race session. :)
Multi-part racing - extract results from the end of your last Race session and continue - perhaps useful for extending Endurance races and Nascar stages...? :>
Potential Ideas:
Generate a new preset from an existing .cmpreset with grid reversal / cutoff and strength / aggression adjustments
Generate preset by combining results of separate Qualifying sessions (akin to Q1 / Q2 / Q3 sessions)
More in-depth .cmpreset editor -
Define BOP-ed grid frameworks
Generate grid with real-life driver names with pseudo-realistic AI strength / aggression or based on a custom list
Ability to generate a grid framework based on a Wikipedia page, with automated AI strength and aggression
Changelog [v1.1.3-hotfix1]:
BUG FIX - fixed Practice session extraction - wrongly extracts Qualifying results instead, sorry!
BUG FIX - Correctly places entrants at the back of the field if they fail to set a time in Practice or Qualifying
Updated Flet version with some restructuring - log file can now easily be found in the AppData\Local\cmpreset-generator\ folder.
HOTFIX 1 - Ensures creation of cmpreset-generator folder for log file creation
Changelog [v1.1.2]:
NEW FEATURES - Options to fallback to global strength / aggression settings as well as adjust AI strength / aggression level across the field
BUG FIX - fixed reset button making the "Preset Name" part disappear rather than reset the preset name textfield
Changelog [v1.1.1]:
NEW FEATURE - Apply a grid cutoff to retain only "Top X" drivers in the grid!
Changelog [v1.1.0]:
NEW FEATURE - Reverse the grid order easily from any results!
Changelog [v1.0.2]:
Ensure player's starting position is correct - will no longer be one position ahead of actual results
Changelog [v1.0.1]:
Actually order the grid according to their best time (for Practice and Qualifying sessions) and finish positions (for Race sessions)
How to support?
Sub to my Patreon! Patrons will get early access to future updates and can provide valuable input in terms of feature development and other app ideas. All tiers are equal; you'll simply be providing general support and incentive for my work.
New updates will be publicly available after some time from the Patreon release; I'll try to release fixes immediately if necessary.
Thank you to Attila D, Scotty K, Adrian K, Michael T, Elijah G, Sergio M and Sebastien D for your ongoing or past support! <3
FAQ
Any plans for other operating systems?
Not at the moment, and I don't think it will work for Linux / Mac systems due to one of the Python libraries I'm using. I also don't own such systems, although I can get a Linux VM running to try it out.
If there's enough demand, then we'll see. :)
How do I know if your .exe is safe?
You don't - please take a zero trust approach and scan the files anyways, see if anything comes up then use your discretion. I'm currently not open-sourcing my code to prevent bad actors from repackaging / modifying my code.
SHA256 Hash: 296e6b425f0de42afc0b3dbf945b640cd60593ef014e988ce6d4733c1c55445f
Why is the file size kinda big?
With the way Flet works, its essentially packaging a version of Python and Flet along with a compiled version of my Python code to run the app. Hence, the extracted file size is kinda big.
Attributions
Create icons created by Freepik - Flaticon
-------------------------
Let me know if there's any issues or if you have any suggestions. Enjoy the app! :)