-
Notifications
You must be signed in to change notification settings - Fork 199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wii: Add SDL2 support #3332
Wii: Add SDL2 support #3332
Conversation
- Improve button mapping and comments - Write SDL1 config in a different file
- Fix OGG playback (Wii uses tremor, playback is fine) - Prevent Fullscreen toggling via command when the setting is disabled Allowing fullscreen toggling messes up the rendering on WiiU
Since the SDL2 ogc driver uses libaesnd anyway it should not make much difference, because both use our genericaudio class. I have somewhere a custom audio backend like for the 3ds, which can be used when we drop Wii SDL support completely and have a custom video backend (i have some code bitrotting for this as well). |
@@ -851,8 +897,7 @@ target_link_libraries(${PROJECT_NAME} PIXMAN::PIXMAN) | |||
|
|||
# Always enable Wine registry support on non-Windows, but not for console ports | |||
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows" | |||
AND NOT ${PLAYER_TARGET_PLATFORM} MATCHES "^(psvita|3ds|switch|wii)$" | |||
AND NOT NINTENDO_WIIU) | |||
AND NOT PLAYER_CONSOLE) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PLAYER_CONSOLE
vs. PLAYER_CONSOLE_PORT
.
# if defined(__WIIU__) | ||
// FIXME: This is the endianess of the audio and not of the host but the byteswapping in ov_read does | ||
// not sound like it works | ||
int byte_order = 1; // BE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had this kind of problems when porting as well. Somehow the endianess is broken in the toolchain or the build scripts.
So, do we merge in half broken state now? |
Also not happy with this situation... I'll add the And I rushed a quickfix for the CI builders (currently still set to SDL1) |
When targeting Wii the possible
PLAYER_TARGET_PLATFORM
are nowSDL2
(default) andSDL1
. SDL1 is still supported for testing purposes (and the code was already written ^^)For
PLAYER_AUDIO_BACKEND
the default is as beforeAESND
, butSDL2/SDL1
can be also selected (I moved the mutex code a bit, hopefully this fixes the random crashes when changing maps).Besides the build system this is not very invasive, only had to change the button mapping and thats all.
Note: The CMakeLists changes are quite large because this is already the preparation for the SDL3 support. (initially I had Wii SDL2 and PC SDL3 commit combined)
Prebuilt for testing: https://easyrpg.org/downloads/tmp/wii-test.zip (contains both a SDL2 and a SDL1 build)
Before you open SDL2 for the first time delete the file
/data/easyrpg-player/config.ini
on your SD card (or when the file is missing just do nothing) or input will be broken.