AppendFmt calls vsnprintf twice, first to check the size of the formatted string, then to write it for real, but it used the same va_list for both calls, so the second call got an invalid va_list after the first call had already consumed all its arguments. This is UB and at least on Linux makes the second call print garbage. I presume Windows implements va_list differently such that this somehow worked correctly, because on Linux, all of the dialog items get parsed into invalid JSON due to this bug, with lines like this (note the missing second array element and closing bracket): "pos" : [ -55947262,
About Aerofoil
Aerofoil is a port of John Calhoun's Glider PRO, the classic paper airplane game for Apple Macintosh computers released in 1994.
The port features a 90's-style GUI, gamepad support, high-quality upscaling and color correction, a full port of the level editor, a set of import tools for unpacking and converting the vast majority of existing community content, and a new touchscreen interface for mobile devices.
To play:
Windows, macOS: Download from the Releases page, or from https://galeforcegames.itch.io/aerofoil
Android: Download from Google Play Store: https://play.google.com/store/apps/details?id=org.thecodedeposit.aerofoil from itch.io: https://galeforcegames.itch.io/aerofoil, or from the Releases page
Browser (HTML5): Visit https://galeforcegames.itch.io/aerofoil