The shift to libfmt means that plenty of CONSOLE.addx now reliably throw an exception instead of being mere (inconsequential) UB, even if they are rare enough not to be recognized. We might want to investigate if modern C++ stuff allows us to catch these formatting issues at compile-time (or even compile down the format strings directly) with little intervention.
Seems like sprintf args cannot be checked compile time, but catching an exception in the console formatting code will suffice to prevent crashes, which is the biggest worry
The shift to libfmt means that plenty of
CONSOLE.addx
now reliably throw an exception instead of being mere (inconsequential) UB, even if they are rare enough not to be recognized. We might want to investigate if modern C++ stuff allows us to catch these formatting issues at compile-time (or even compile down the format strings directly) with little intervention.