== DETAILS
The old code was crashing; I did a minimalized branch and the crash
went away, so I'm bringing that over here. Meaning I'll have to
redo some of the other work I'd put in, but oh well.
(now watch it start crashing again)
== TESTING
Can confirm it builds. Wii U is busy ATM so I can't test.
== DETAILS
We discovered that the controller_patcher code was causing
the WiiU to intermittently crash when switching ROMs.
Changes:
- Completely extricates the controller_patcher code
- Create a skeleton wiiu_hid driver
- Wire up the build system to build/link it successfully
== TESTING
Has not been tested. Probably doesn't crash, since the
skeleton driver is just a copy of the null driver.
There was some type confusion around IOS_Open with libiosuhax, leading
to it treating the first instruction of that function as an address to
point to. Adding -D__WUT__ lets it know that we are using proper symbols
and not function pointers.
As discussed in libretro#5357; controller_patcher is now optional. It's
off by default; though this could be changed with a simple makefile
tweak (ENABLE_CONTROLLER_PATCHER ?= 1, perhaps?)
To re-enable controller_patcher; append ENABLE_CONTROLLER_PATCHER=1 to
your usual make command.
controller_patcher was the only user of c++ constructors in the Wii U
port, so you'll need 26a006c in your tree otherwise you will have a
blackscreen on startup.
Inspired by Makefile.win; this commit will hide compiler commands from
being printed to the shell. Old behaviour can be restored by running
"make -f Makefile.wiiu V=1". Should make it harder to miss warnings now.
- c++ static constructors/destructors fix for rpx builds.
- building both rpx and hbl elf formats doesn't require a clean step
inbetween anymore, both can be now built in a single make call.