Yay 100% hardware-acceleration. Yes, I know 2.1 is outdated and
crappy, but it was the easiest one to write. I'll probably make an
OpenGL 3.0 Core renderer at some point.
Anyway, font rendering isn't here yet, because I plan to overhaul it.
Now the Makefile and CMake build systems are identical:
Release builds are named CSE2, and debug builds are named CSE2d.
Language no longer has an effect on filename for the Makefile.
It's annoying, but vcpkg *really* didn't agree with it (it would just
build Debug anyway). The instructions provided with the repo already
tell you to manually define Release builds anyway.
The Linux port's get_resource function seems to be using the original
filenames, rather than the 8.3 filenames used by the Windows EXE's
resource system. Too bad it doesn't tell us the original file extensions.
This forces CMake to use the local libraries, even if system libs
are readily available. This is useful for MSYS2, since find_package
would link dynamic libraries, but local libraries are static.
I'm taking a page from Dolphin's book, and including copies of each
dependency's source code. This combines the ease of use of including
pre-built libraries instead of needing to navigate a package manager
- as is (or was) the case for MSVC - with the portability of using
packages. Granted, this method's more of a jack of all trades,
master of none, since it's *less* user-friendly than prebuilt
packages (compilation times), and you don't get the per-distro
compatibility fixes you'd get from a package manager.
You can still use system libs if you want. In fact, it's still the
default behaviour: compiling the libs manually is just a fallback.
I'll add an option to force-enable this soon, however, since it's a
nicer way to produce static MSYS2 builds than the hackish nightmare
that I was using before. Not to mention, having my own copy of the
sources means I can provide my own fixes and tweaks your package
manager may not. For example, I can combine MSYS2's FreeType
subpixel rendering with vcpkg's fix for SDL2 exporting its symbols
in static builds.
This way, we don't need to tell everyone who uses the enhanced branch
that they need to copy res/data_en. It also gives the CMake project a
way to bundle everything into a neat little folder.
The official(?) binaries weren't statically-linked, and being compiled
with MSVC2017 probably meant they weren't compatible with old OSes
anyway.
So now, the 32-bit one's compiled with MSVC2003. The other's still
MSVC2017 though. While I was at it, I made them both static. *Also*
while I was at it, I made sure subpixel-rendering was enabled.