Use rendered imgui in code for settings (and more...)#57
Conversation
Enabled address sanitation, removed console entry point, disabled bakkesmod-caused warning `4251`, enabled string pooling Updated the set language standard to `stdcpplatest` Removed the reliance (and files) on the `fmt` library in favor of `std::format` Added IMGUI files to the project's filters for building alongside the project
Needs layout cleanup. Needs keybinding to be better.
NitrOP7674
left a comment
There was a problem hiding this comment.
Thanks for the PR. This sounds really cool! I'll want to try it out for sure - please give me a few days. In the meantime I have some small comments. Thanks!
|
|
||
| std::string line = get_prev_line(); | ||
| std::transform(begin(line), end(line), begin(line), [](unsigned char c) { return std::toupper(c); }); | ||
| //log::log_debug("liNE: {}", line); |
There was a problem hiding this comment.
I didn't want to be constrained by the case of the string that I searched for,
if (line.contains("CURRENTLY ACTIVE WINDOWS")) {
so I put that transforming insurance there... I'll remove the commented out log lines, if that's what you meant.
| loadCurCheckpoint(); | ||
| } | ||
|
|
||
| /** |
There was a problem hiding this comment.
Is it possible to move all the settings UI stuff to another file, maybe Settings.cpp or something?
There was a problem hiding this comment.
I moved things around to decouple them from the class itself in the latest update. IMGUI stuff stays with the class, but other stuff was just moved outside of it. I moved the IMGUI related stuff (related to the plugin) to another source file. Check whatever commit follows this one (this one 8a68486).
Made refactors of different parts that weren't really related to where they were. So they were put in the pch. Improved the little popup that appears when binding a key.
- Removed `cpt_capture_key` because key inputs are captured differently now. - Set defaults to what they should be given what they were previously - Put bindings related functions are `bindings.cpp` - Separated out stuff into a header file `bindings.h` - Put IMGUI stuff related to the plugin class in its own file `PluginSettings.cpp` The biggest contentious thing IMO is around `CheckpointPlugin.cpp`L578 where I discriminate against binds that would affect steer and pitch.
Added IMGUI libraries to the plugin, inherited
pluginsettings, rewrote settings into pluginSettingsFile.cppandwriteSettingsFilefunctionDecoupled rewind and fast-foward from the
Steerparameter ofControllerInputrewindStatethat tracks it