Remove mirror links, fix prebuilt exe link
Communicate through TCP instead of stdout and exit codes
Add mirror links
This is an ACL bypass for Win32 apps, but specifically is used for Dalamud injection into FFXIV. This is a C++ alternative for FFXIVQuickLauncher's own bypass which is in C#. This makes it usable for launchers which aren't in C# like Astra. This is mainly used for external use (i.e. calling NativeLauncher as a wrapper).
This communicates via IPC through TCP sockets. This is to handle usecases such as running within Wine which not only clogs up stdout but also throws away the error code of the application which makes those two communication methods impossible.
The only data it will send over the TCP socket (and the port is specified as the second argument) is the PID number, which you can then use to bootstrap Dalamud or any other injector.
I've been testing this under latest Wine Staging (as of writing, 6.22) and the process still works out-of-the box.
You can compile this using MinGW or MSVC. If you're using MSVC, just use the vcxproj. If you're trying to compile it using MinGW, use this command:
x86_64-w64-mingw32-g++ -municode NativeLauncher.cpp -static -lwsock32 -o NativeLauncher.exe
Of course there's always a prebuilt EXE for you if can't compile it.