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.
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.
The previous computation was very likely to go out of array bounds,
which could result in crashes on EFB access.
Also, the cache size was rounded down instead of up. This is a problem
since EFB_HEIGHT (528) is not a multiple of EFB_CACHE_RECT_SIZE (64).
Passing MAP_FIXED to mmap causes already mapped pages in the requested
region to be replaced. On Mac OS X this caused pages for JIT-generatd
code to appear in the memory range previously auto-allocated for the RAM
of the emulated machine. This led to a hang at boot time. The same problem
can probably occur on FreeBSD, but not on Linux since MAP_32BIT is used
there instead of MAP_FIXED.
The solution is to not use MAP_FIXED, but instead rely on the OS honoring
the hinted address which is below 4 GB: we don't need an exact match,
just a low address.
On Linux with recent versions of gettext these formatting fixes are done
automatically by gettext when updating the PO files. They create conflicts each
time a rebase / merge is done and need to be reset manually.
- Fixes all (I hope) BBox-related unknown pointer crashes.
- Fixes wrong BBox values with Frame Skip on (and the resulting unknown pointer crashes).
- Fixes a small oversight on the change I made to the ISO Properties dialog.
This should also be a (very very little) bit faster than the previous version.
Should fix most graphical issues with Paper Mario: TTYD and Super Paper Mario. Fixes issue 360.
Since only those two games seem to require BBox support, and as per ector's suggestion, BBox is only enabled for those two games.
BBoxes and Display List Caches don't get along too well, causing Paper Mario: TTYD to hang during certain effects where BBoxes are used. For now, I disabled DList Cache for the Paper Mario games, hopefully both will be compatible in the future.
The DK Bongos are just a standard controller in disguise (ie, it uses your GCPad input mapping):
Clap Sensor = Analog R Trigger
start = start
Top of Left Bongo = Y Button
Bottom of Left Bongo = B Button
Top of Right Bongo = X Button
Bottom of Right Bongo = A Button