                    SELENE PROTOCOL  //  LNR loader src

  Two DLLs, no dependencies beyond the Win32 API. Both are 64-bit.

  ---------------------------------------------------------------- toolchain

  Debian / Ubuntu     apt install gcc-mingw-w64-x86-64 make
  Fedora              dnf install mingw64-gcc make
  Arch                pacman -S mingw-w64-gcc make
  macOS               brew install mingw-w64 make

  Windows, natively, if you would rather:

    MSYS2/mingw       pacman -S mingw-w64-x86_64-gcc make   (then: make)
    MSVC              cl /LD /O2 winmm_proxy.c
                      cl /LD /O2 licensefix.c

  ------------------------------------------------------------------- build

    make

  Drops winmm.dll and licensefix64.dll next to the sources. Copy both plus
  winmm.txt into the install directory.

  ------------------------------------------------------------------ docker

  If you would rather not install anything:

    docker build -t lnr-build .
    docker run --rm -v "$PWD:/src" lnr-build

  ------------------------------------------------------------------- notes

  winmm.dll is a proxy. Windows resolves it from the application directory
  before System32, so it loads first; it forwards timeGetTime to the real
  one in %SystemRoot%\System32 and LoadLibrary's every line of winmm.txt.
  One DLL name per line, resolved next to the proxy.

  licensefix64.dll is whatever winmm.txt points at. Ours emulates the store
  client and hooks the game's import table so it gets asked.

  Both build clean with -Wall -Wextra. If yours does not, that is on you.

                                                    orbiter // LNR
