MS-DOS Player translates long names to the 8.3 format via
GetShortPathNameA(), but it fundamentally can't do Unicode.
Part of P0284, funded by [Anonymous] and Blue Bolt.
Especially helpful on Linux where there's the Linux-native `PATH`, the
completely unrelated `PATH` inside Wine, and `WINEPATH` to prefill the
latter from the former.
Part of P0284, funded by [Anonymous] and Blue Bolt.
Creates at least somewhat of a better diff than if we had renamed the
batch file two commits ago.
Now that we invoke TLINK ourselves, the `tlink.exe` error can no longer
appear. Since it did take a few hours to RE this back in 624e0cb, I've
preserved the section at a more dedicated place, at
https://gist.github.com/nmlgc/6229345c74d1a7d3c6c1b3e988beb0e9
It will also be spelled out in the blog post of this delivery.
Completes P0004, funded by GhostPhanom.
Windows 9x requires CRLF for batch files to work at all. While Windows
XP and later appear to work with LF line endings, they introduce
devious glitches with certain commands:
https://www.dostips.com/forum/viewtopic.php?t=8988
However, we still want to use LF endings in the repo to prevent the
annoying ^M whitespace errors.
Part of P0002, funded by GhostPhanom.
So yeah, that'll be our build environment - just plain batch files calling the
Borland command-line assembler, linker, and eventually C compiler. These are
the exact tools that ZUN used as well. There certainly are other assemblers,
compilers and linkers that could compile this code into 16-bit DOS
executables; Open Watcom is the only free one I know, and the master.lib
manual also mentions C compilers by Microsoft and Symantec. However, I favor
having one clear build path for a single toolchain that will, with the correct
command-line switches for each game, create builds that are bit-perfect to
ZUN's original ones over the possibility of cross-platform builds and the
maintenance nightmare they add.
So, Borland-only it is.
(Also, no Makefile, due to our messy build setup. I think I still prefer this
solution though, as we can have these really nice error messages that double
as build instructions without any dependencies on installed software.)