That should make this convoluted copypasta a bit easier to read. And sure, I could have done something about the loop as well, but SHOT_FUNC_INIT already hides enough control flow behind a macro… Part of P0037, funded by zorg.
Part of P0035, funded by zorg.