This should make it so if you try to load an incompatible save, it simply doesn't load, instead of crashing dolphin. (I can't guarantee no crash but it's much less likely now)
The "Notes" column is gone and in it's place an "Emulation Notes" column is placed (it contains the emulationissues lines from the game inis). Notes that contain useful info about the game can be seen with just a glance this way.
Fixes issue 5043.
I incorrectly assumed that since wx 2.8.8 lacked wxAuiToolBar, the entire 2.8.x
series lacked it. In fact in wx 2.8.9 this feature was added.
Thanks to Glenn Rice for spotting this issue.
If we are actually missing symbols because a required architecture is missing
from a library, we'll get a link error as usual, so suppressing this warning
is pretty safe.
The "dsptool" executable is not included in the bundle.
The "tester" executable is not included in the bundle and it no longer
installed on other platforms, since it is neither expected nor useful
to install unit tests.
The code from 748be364e5 incorrectly accepted -0x100000000 on x86_64.
Also if ERANGE is returned by strtoul(), reject the parsed value regardless
of what that value is. This fixes invalid values being returned when compiling
with Visual C++. Thanks to "cotton" for testing this.
The following changes were made:
Restricted the "-march=core2" option to i386 because the first Intel Macs
had Intel Core CPUs, not Core2.
Removed the "-mdynamic-no-pic" flag as GCC lists it as a PPC specific flag.
Removed "-Wl,-read_only_relocs,suppress" because it seems to be related
to "-mdynamic-no-pic" and I see no need for it.
Removed "-Wextra-tokens -Wnewline-eof" because they are GCC specific and
not OS X specific.
This allows us to add keys that don't exist in the CMake template.
I added the keys from the Info.plist that was generated by our SCons build
to the new template.
Previously, there was just one list of frameworks regardless of which part
of the code depended on which frameworks. Now we keep separate lists for
the Dolphin core, the Dolphin GUI and internal use by wxWidgets.
Flags in CMAKE_CXX_FLAGS are passed to both compile and link commands.
A cleaner solution would be to use set_source_files_properties().
However, currently there are headers (StdThread.h, maybe more) that contain
Objective syntax. So it is not easy to determine exactly which source files
should be compiled as Objective C/C++ and that set can quickly change when
certain #include directives are modified. The solution for that would be to
move all uses of Objective syntax to implementation (.cpp) files and then
apply set_source_files_properties() to those.
If the systemwide wxWidgets is too old, we can fall back to the version
from Externals instead of letting the build fail.
Note that while the version in Externals appears to be wxWidgets 2.8,
it has post-2.8 features manually added to it (wxAuiToolBar), so the
version check only accepts 2.9 or higher.
To enforce SM2.0 compatibility, the OpenGL plugin was made to crash when
compiling a shader which does not fit in the SM2.0a limits. However, on some
combinations of OS/drivers/GPU, our shaders already do not fit in these limits,
causing artificial failures only to try to keep a non existant SM2.0a compat.
Basically, this sucks.
This commit increases the artificial limit to SM3.0. If you're using a GPU
which does not support SM3.0 and Dolphin works properly, this should not cause
any problem at all.
On x86-64, "unsigned long" is 64 bits wide, so it is possible for a number
to not trigger a range error on strtoul() but still not fit inside an u32.
An extra check is added to ensure that 32-bit and 64-bit builds will accept
the same numbers.