Some small compiling fix
~~See commit description for details, I'm not repeating it all here with different words.~~
~~Needs testing before we actually merge the changes in, I don't have anything besides Windows so I can't actually try this fix out for myself sadly. :(~~
This was originally a quick branch I made to fix a problem so that @wolfy852 could compile with Linux on some thing of his ...turned out not to be the only problem, and then I found a slightly unrelated problem altogether. So it's now a small assortment of compiling-related fixes.
Also should be merged to next, which is hopefully obvious.
See merge request !29
Apparently all parts of the source code that require GLPatch_t are themselves used only if HWRENDER is defined. Do I need to say more?
Not sure if this will fix Wolfy's latest problem or not though
Basically, Wolfy's linux (non-CMake) compiling apparently fails here, and config.in.h actually lives outside of the sdl folder. Blame a particular someone for blindly copy+pasting these includes in this file without considering the consequences when adding support for CMake everywhere.
Core code has too many #define dependencies on interface-specific
defines. This means that it's currently not possible to safely
separate the core and interface code into different contexts. The
core code should be refactored to accomadate for this because we
should not have any interface-specific code in core in the first
place.
This reverts the static library SRB2Core from a7135094 and instead
adds the core sources to the SRB2SDL2 target directly.
So frustrating...
Core and SDL2 are two separate targets now. Core is a static library
that is linked into SRB2SDL2. The sources for both are separated.
When using an IDE like Visual Studio or Xcode, the source code
organized into groups that explain what that group of sources does.
In the future, "Main" could be split into a few more groups based on
file prefixes, but I think the way it is set up works for now.
Makefile targets are not affected by source_groups and typing `make`
will automatically compile both the "Core" library and SRB2SDL2
itself.
It is really messy at the moment. There is no support for copying the
necessary frameworks and dylibs out to the bundle for distribution, and
it is a frankenstein of manual find_library and find_package which can
sometimes pick up Homebrew dylibs.
Apparently the mistake also caused myargc to be cleared in Linux64 SDL2 (as pointed out by that ilag11111 guy on GitHub), so that should be fixed now too.