- Jun 03, 2019
-
-
Lioncash authored
We can just pass a pointer to GMainWindow directly and make it a requirement of the interface. This makes the interface a little safer, since this would technically otherwise allow any random QWidget to be the parent of a render window, downcasting it to GMainWindow (which is undefined behavior).
-
Lioncash authored
We can just invoke these functions by qualifying the object name before the function.
-
- May 31, 2019
-
-
Lioncash authored
Makes the conversions explicit, as opposed to implicit.
-
Lioncash authored
Allows for things such as: auto rect = Common::Rectangle{0, 0, 0, 0}; as opposed to being required to explicitly write out the underlying type, such as: auto rect = Common::Rectangle<int>{0, 0, 0, 0}; The only requirement for the deduction is that all constructor arguments be the same type.
-
- May 30, 2019
-
-
Zach Hilman authored
-
- May 27, 2019
-
-
ReinUsesLisp authored
The intention behind this commit is to hint someone inspecting an apitrace dump to ignore this ill-formed GLSL code.
-
ReinUsesLisp authored
This addresses a bug on geometry shaders where code was being written before all #extension declarations were done. Ref to #2523
-
- May 26, 2019
-
-
Zach Hilman authored
-
Zach Hilman authored
-
Zach Hilman authored
Preserves list of add ons and the icon, which are the two costliest parts of game list population.
-
Zach Hilman authored
-
ReinUsesLisp authored
There's no performance improvement in passing an unsigned pair by reference.
-
- May 25, 2019
-
-
Lioncash authored
We can just make the conversion explicit instead of implicit here to silence -Wsign-compare warnings.
-
Lioncash authored
This was previously performing a size_t == int comparison. Silences a -Wsign-compare warning.
-
ReinUsesLisp authored
-
Lioncash authored
Nothing from the hotkeys dialog relies on this call occurring, and is already called from the dialog that calls applyConfiguration().
-
Lioncash authored
Avoids mentioning the user and formalizes the error itself.
-
Lioncash authored
critical() is intended for critical/fatal errors that threaten the overall stability of an application. A user entering a conflicting key sequence is neither of those.
-
Lioncash authored
We don't need to extract the entire set of hotkeys into a list and then iterate through it. We can traverse the list and early-exit if we're able to.
-
Lioncash authored
1. This is something that should be solely emitted by the hotkey dialog itself 2. This is functionally unused, given there's nothing listening for the signal.
-
Lioncash authored
The previous code was all "smushed" together wasn't really grouped together that well. This spaces things out and separates them by relation to one another, making it easier to visually parse the individual sections of code that make up the constructor.
-
Lioncash authored
QDialogButtonBoxes are horizontal by default.
-
Lioncash authored
Uses a std::string_view instead of a std::string, given the pointed to string isn't modified and is only used in a formatting operation. This is nice because a few usages directly supply a string literal to the function, allowing these usages to otherwise not heap allocate, unlike the std::string overloads. While we're at it, we can combine the address formatting into a single formatting call.
-
Lioncash authored
Now that all of our code is compilable with implicit QString conversions, we can enforce it at compile-time by disabling them.
-
Lioncash authored
This isn't actually used anywhere, so it can be removed.
-
Lioncash authored
Given the std::optional can contain an object type that heap allocates, we can use std::move to avoid an unnecessary copy/allocation from occurring.
-
Lioncash authored
Qt uses a signed value to represent container sizes, so this was causing a sign mismatch warning.
-
Lioncash authored
Allows the software keyboard applet code to compile with implicit string conversions disabled.
-
Lioncash authored
Allows the error applet to build successfully with implicit string conversions disabled.
-
Lioncash authored
-
- May 23, 2019
-
-
Lioncash authored
While we're at it, also invert the conditional into a guard clause.
-
Lioncash authored
nullptr was being returned in the error case, which, at a glance may seem perfectly OK... until you realize that std::string has the invariant that it may not be constructed from a null pointer. This means that if this error case was ever hit, then the application would most likely crash from a thrown exception in std::string's constructor. Instead, we can change the function to return an optional value, indicating if a failure occurred.
-
Lioncash authored
These are already present within the header, so they don't need to be repeated in the cpp file.
-
Lioncash authored
Makes the parameter ordering consistent, and also makes the filename parameter a std::string. A std::string would be constructed anyways with the previous code, as IOFile's only constructor with a filepath is one taking a std::string. We can also make WriteStringToFile's string parameter utilize a std::string_view for the string, making use of our previous changes to IOFile.
-
Lioncash authored
The file stream open functions have supported std::string overloads since C++11, so we don't need to use c_str() here. Same behavior, less code.
-
Lioncash authored
We don't need to force the usage of a std::string here, and can instead use a std::string_view, which allows writing out other forms of strings (e.g. C-style strings) without any unnecessary heap allocations.
-
Lioncash authored
This allows for forming comment nodes without making unnecessary copies of the std::string instance. e.g. previously: Comment(fmt::format("Base address is c[0x{:x}][0x{:x}]", cbuf->GetIndex(), cbuf_offset)); Would result in a copy of the string being created, as CommentNode() takes a std::string by value (a const ref passed to a value parameter results in a copy). Now, only one instance of the string is ever moved around. (fmt::format returns a std::string, and since it's returned from a function by value, this is a prvalue (which can be treated like an rvalue), so it's moved into Comment's string parameter), we then move it into the CommentNode constructor, which then moves the string into its member variable).
-
Lioncash authored
Keeps the shader code file endings consistent.
-
Lioncash authored
Amends cases where we were using things that were indirectly being satisfied through other headers. This way, if those headers change and eliminate dependencies on other headers in the future, we don't have cascading compilation errors.
-
Lioncash authored
Previously, the code was accumulating data into a std::vector and then tossing all of it away if a setting was disabled. Instead, we can just check if it's disabled and do no work at all if possible. If it's enabled, then we can append to the vector and allocate. Unlikely to impact usage much, but it is slightly less sloppy with resources.
-