diff --git a/CMakeLists.txt b/CMakeLists.txt index 5349786..54a643a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,8 +19,7 @@ else() set(vendored_default FALSE) endif() -OPTION(VANILLA_BUILD_DESKTOP "Build Qt app for Linux desktop" OFF) -OPTION(VANILLA_BUILD_RPI "Build SDL2 app for Raspberry Pi" ON) +OPTION(VANILLA_BUILD_GUI "Build SDL2 GUI app" ON) OPTION(VANILLA_BUILD_TESTS "Build unit tests for Vanilla" OFF) OPTION(VANILLA_BUILD_PIPE "Build vanilla-pipe for connecting to Wii U (Linux only)" ${LINUX}) OPTION(VANILLA_BUILD_VENDORED "Build Vanilla with \"vendored\" third-party libraries" ${vendored_default}) @@ -29,9 +28,6 @@ add_subdirectory(lib) if (VANILLA_BUILD_PIPE) add_subdirectory(pipe) endif() -if (VANILLA_BUILD_DESKTOP) - add_subdirectory(app) -endif() -if (VANILLA_BUILD_RPI) - add_subdirectory(rpi) +if (VANILLA_BUILD_GUI) + add_subdirectory(gui) endif() diff --git a/android/app/src/main/java/com/mattkc/vanilla/VanillaActivity.java b/android/app/src/main/java/com/mattkc/vanilla/VanillaActivity.java index 6203a03..afa533b 100644 --- a/android/app/src/main/java/com/mattkc/vanilla/VanillaActivity.java +++ b/android/app/src/main/java/com/mattkc/vanilla/VanillaActivity.java @@ -12,7 +12,7 @@ public class VanillaActivity extends SDLActivity { // "SDL2_net", "SDL2_ttf", "xml2", - "vanilla-pi" + "vanilla" }; } } diff --git a/rpi/CMakeLists.txt b/gui/CMakeLists.txt similarity index 88% rename from rpi/CMakeLists.txt rename to gui/CMakeLists.txt index 117e63a..ae9e832 100644 --- a/rpi/CMakeLists.txt +++ b/gui/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.22) set(_sdl_lib SDL2::SDL2) -set(_vanilla_pi_libs "") +set(_vanilla_gui_libs "") set(_ffmpeg_components avformat avcodec avutil swscale) function(compile_ffmpeg _target_name _system_name _system_processor) @@ -150,7 +150,7 @@ if (VANILLA_BUILD_VENDORED) # Link zlib for PNG if (UNIX) - list(APPEND _vanilla_pi_libs "z") + list(APPEND _vanilla_gui_libs "z") endif() include(FetchContent) @@ -230,7 +230,7 @@ if (VANILLA_BUILD_VENDORED) endif() endif() -list(APPEND VANILLA_PI_SRC +list(APPEND VANILLA_GUI_SRC config.c def.c # drm.c @@ -262,19 +262,19 @@ list(APPEND VANILLA_PI_SRC # Declare executable if (ANDROID) - add_library(vanilla-pi SHARED ${VANILLA_PI_SRC}) + add_library(vanilla SHARED ${VANILLA_GUI_SRC}) else() - add_executable(vanilla-pi MACOSX_BUNDLE ${VANILLA_PI_SRC}) + add_executable(vanilla MACOSX_BUNDLE ${VANILLA_GUI_SRC}) endif() if (APPLE) # Set bundle name to be more user-friendly - set_target_properties(vanilla-pi PROPERTIES + set_target_properties(vanilla PROPERTIES OUTPUT_NAME Vanilla ) else() # Ensure executable is installed - install(TARGETS vanilla-pi) + install(TARGETS vanilla) endif() # Find packages (unless using vendored build) @@ -284,17 +284,17 @@ if (NOT VANILLA_BUILD_VENDORED) find_package(SDL2_image REQUIRED) endif() -target_link_libraries(vanilla-pi PRIVATE +target_link_libraries(vanilla PRIVATE ${_sdl_lib} SDL2::SDL2main SDL2_ttf SDL2_image - vanilla + libvanilla m ) if (ANDROID) - target_link_libraries(vanilla-pi PRIVATE + target_link_libraries(vanilla PRIVATE SDL2main log ) @@ -305,48 +305,48 @@ if (NOT VANILLA_BUILD_VENDORED) find_package(FFmpeg REQUIRED COMPONENTS avformat avcodec avutil swscale) endif() -target_link_libraries(vanilla-pi PRIVATE +target_link_libraries(vanilla PRIVATE FFmpeg::avformat FFmpeg::avcodec FFmpeg::avutil FFmpeg::swscale - ${_vanilla_pi_libs} + ${_vanilla_gui_libs} ) if (APPLE) - target_link_libraries(vanilla-pi PRIVATE "-framework VideoToolbox" "-framework CoreMedia" iconv) + target_link_libraries(vanilla PRIVATE "-framework VideoToolbox" "-framework CoreMedia" iconv) endif() if (LINUX) # Assume this platform is capable of running vanilla-pipe - target_compile_definitions(vanilla-pi PRIVATE VANILLA_PIPE_AVAILABLE) + target_compile_definitions(vanilla PRIVATE VANILLA_PIPE_AVAILABLE) # Link with DRM if available find_package(DRM) if (DRM_FOUND) - target_link_libraries(vanilla-pi PRIVATE ${DRM_LIBRARIES}) - target_include_directories(vanilla-pi PRIVATE ${DRM_INCLUDE_DIRS}) + target_link_libraries(vanilla PRIVATE ${DRM_LIBRARIES}) + target_include_directories(vanilla PRIVATE ${DRM_INCLUDE_DIRS}) endif() endif() # Find libxml2 (used for storing/parsing user config) if (VANILLA_BUILD_VENDORED) - target_link_libraries(vanilla-pi PRIVATE LibXml2::LibXml2) + target_link_libraries(vanilla PRIVATE LibXml2::LibXml2) else() find_package(LibXML2 REQUIRED) - target_link_libraries(vanilla-pi PRIVATE ${LibXML2_LIBRARIES}) - target_include_directories(vanilla-pi PRIVATE ${LibXML2_INCLUDE_DIR}) + target_link_libraries(vanilla PRIVATE ${LibXML2_LIBRARIES}) + target_include_directories(vanilla PRIVATE ${LibXML2_INCLUDE_DIR}) endif() # Link with winsock2 on Windows if (WIN32) - set_target_properties(vanilla-pi PROPERTIES WIN32_EXECUTABLE true) - target_link_libraries(vanilla-pi PRIVATE wsock32 ws2_32) + set_target_properties(vanilla PROPERTIES WIN32_EXECUTABLE true) + target_link_libraries(vanilla PRIVATE wsock32 ws2_32) endif() # Set up include directories around the repository -target_include_directories(vanilla-pi PRIVATE +target_include_directories(vanilla PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../lib" "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/.." @@ -356,31 +356,32 @@ target_include_directories(vanilla-pi PRIVATE if(ANDROID) # Put assets in correct place relative to build add_custom_command( - TARGET vanilla-pi POST_BUILD + TARGET vanilla POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/assets" "${CMAKE_CURRENT_SOURCE_DIR}/../android/app/src/main/assets" ) elseif(APPLE) # Put assets in correct place relative to build add_custom_command( - TARGET vanilla-pi POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different "${CMAKE_CURRENT_SOURCE_DIR}/assets" "$/../Resources/assets" + TARGET vanilla POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different "${CMAKE_CURRENT_SOURCE_DIR}/assets" "$/../Resources/assets" ) else() # Put assets in correct place relative to build add_custom_command( - TARGET vanilla-pi POST_BUILD + TARGET vanilla POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different "${CMAKE_CURRENT_SOURCE_DIR}/assets" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/../share/vanilla/assets" ) if(WIN32) - set(_vanilla_pi_asset_destination "bin") + set(_vanilla_gui_asset_destination "bin") else() - set(_vanilla_pi_asset_destination "share/vanilla") + set(_vanilla_gui_asset_destination "share/vanilla") endif() - install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/assets" DESTINATION "${_vanilla_pi_asset_destination}") + install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/assets" DESTINATION "${_vanilla_gui_asset_destination}") if (LINUX) install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/res/com.mattkc.vanilla.desktop" DESTINATION share/applications) install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/res/com.mattkc.vanilla.svg" DESTINATION share/pixmaps) + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/res/com.mattkc.vanilla_rounded.svg" DESTINATION share/pixmaps) endif() endif() diff --git a/rpi/assets/font/OFL.txt b/gui/assets/font/OFL.txt similarity index 100% rename from rpi/assets/font/OFL.txt rename to gui/assets/font/OFL.txt diff --git a/rpi/assets/font/system.ttf b/gui/assets/font/system.ttf similarity index 100% rename from rpi/assets/font/system.ttf rename to gui/assets/font/system.ttf diff --git a/rpi/assets/tex/backspace.svg b/gui/assets/tex/backspace.svg similarity index 100% rename from rpi/assets/tex/backspace.svg rename to gui/assets/tex/backspace.svg diff --git a/rpi/assets/tex/backspace_black.svg b/gui/assets/tex/backspace_black.svg similarity index 100% rename from rpi/assets/tex/backspace_black.svg rename to gui/assets/tex/backspace_black.svg diff --git a/rpi/assets/tex/checkmark.svg b/gui/assets/tex/checkmark.svg similarity index 100% rename from rpi/assets/tex/checkmark.svg rename to gui/assets/tex/checkmark.svg diff --git a/rpi/assets/tex/club.svg b/gui/assets/tex/club.svg similarity index 100% rename from rpi/assets/tex/club.svg rename to gui/assets/tex/club.svg diff --git a/rpi/assets/tex/club_black.svg b/gui/assets/tex/club_black.svg similarity index 100% rename from rpi/assets/tex/club_black.svg rename to gui/assets/tex/club_black.svg diff --git a/rpi/assets/tex/club_white.svg b/gui/assets/tex/club_white.svg similarity index 100% rename from rpi/assets/tex/club_white.svg rename to gui/assets/tex/club_white.svg diff --git a/rpi/assets/tex/diamond.svg b/gui/assets/tex/diamond.svg similarity index 100% rename from rpi/assets/tex/diamond.svg rename to gui/assets/tex/diamond.svg diff --git a/rpi/assets/tex/diamond_black.svg b/gui/assets/tex/diamond_black.svg similarity index 100% rename from rpi/assets/tex/diamond_black.svg rename to gui/assets/tex/diamond_black.svg diff --git a/rpi/assets/tex/diamond_white.svg b/gui/assets/tex/diamond_white.svg similarity index 100% rename from rpi/assets/tex/diamond_white.svg rename to gui/assets/tex/diamond_white.svg diff --git a/rpi/assets/tex/edit.svg b/gui/assets/tex/edit.svg similarity index 100% rename from rpi/assets/tex/edit.svg rename to gui/assets/tex/edit.svg diff --git a/rpi/assets/tex/gamepad.svg b/gui/assets/tex/gamepad.svg similarity index 100% rename from rpi/assets/tex/gamepad.svg rename to gui/assets/tex/gamepad.svg diff --git a/rpi/assets/tex/heart.svg b/gui/assets/tex/heart.svg similarity index 100% rename from rpi/assets/tex/heart.svg rename to gui/assets/tex/heart.svg diff --git a/rpi/assets/tex/heart_black.svg b/gui/assets/tex/heart_black.svg similarity index 100% rename from rpi/assets/tex/heart_black.svg rename to gui/assets/tex/heart_black.svg diff --git a/rpi/assets/tex/heart_white.svg b/gui/assets/tex/heart_white.svg similarity index 100% rename from rpi/assets/tex/heart_white.svg rename to gui/assets/tex/heart_white.svg diff --git a/rpi/assets/tex/settings.png b/gui/assets/tex/settings.png similarity index 100% rename from rpi/assets/tex/settings.png rename to gui/assets/tex/settings.png diff --git a/rpi/assets/tex/settings2.png b/gui/assets/tex/settings2.png similarity index 100% rename from rpi/assets/tex/settings2.png rename to gui/assets/tex/settings2.png diff --git a/rpi/assets/tex/spade.svg b/gui/assets/tex/spade.svg similarity index 100% rename from rpi/assets/tex/spade.svg rename to gui/assets/tex/spade.svg diff --git a/rpi/assets/tex/spade_black.svg b/gui/assets/tex/spade_black.svg similarity index 100% rename from rpi/assets/tex/spade_black.svg rename to gui/assets/tex/spade_black.svg diff --git a/rpi/assets/tex/spade_white.svg b/gui/assets/tex/spade_white.svg similarity index 100% rename from rpi/assets/tex/spade_white.svg rename to gui/assets/tex/spade_white.svg diff --git a/rpi/config.c b/gui/config.c similarity index 100% rename from rpi/config.c rename to gui/config.c diff --git a/rpi/config.h b/gui/config.h similarity index 96% rename from rpi/config.h rename to gui/config.h index 0233a7a..8552ee3 100644 --- a/rpi/config.h +++ b/gui/config.h @@ -30,4 +30,4 @@ void vpi_config_rename_console(uint8_t index, const char *name); void vpi_config_remove_console(uint8_t index); void vpi_config_save(); -#endif // VANILLA_PI_CONFIG_H \ No newline at end of file +#endif // VANILLA_PI_CONFIG_H diff --git a/rpi/def.c b/gui/def.c similarity index 100% rename from rpi/def.c rename to gui/def.c diff --git a/rpi/def.h b/gui/def.h similarity index 76% rename from rpi/def.h rename to gui/def.h index 5a676c1..bc62c46 100644 --- a/rpi/def.h +++ b/gui/def.h @@ -3,4 +3,4 @@ #define VANILLA_PI_ERR_DECODER -1001 -#endif // VANILLA_PI_DEF_H \ No newline at end of file +#endif // VANILLA_PI_DEF_H diff --git a/rpi/drm.c b/gui/drm.c similarity index 100% rename from rpi/drm.c rename to gui/drm.c diff --git a/rpi/drm.h b/gui/drm.h similarity index 95% rename from rpi/drm.h rename to gui/drm.h index 12637a6..729a566 100644 --- a/rpi/drm.h +++ b/gui/drm.h @@ -23,4 +23,4 @@ int initialize_drm(vanilla_drm_ctx_t *ctx); int free_drm(vanilla_drm_ctx_t *ctx); int display_drm(vanilla_drm_ctx_t *ctx, AVFrame *frame); -#endif // VANILLA_PI_DRM_H \ No newline at end of file +#endif // VANILLA_PI_DRM_H diff --git a/rpi/game/game_decode.c b/gui/game/game_decode.c similarity index 99% rename from rpi/game/game_decode.c rename to gui/game/game_decode.c index 1facec2..2881093 100644 --- a/rpi/game/game_decode.c +++ b/gui/game/game_decode.c @@ -550,4 +550,4 @@ exit: } return 0; -} \ No newline at end of file +} diff --git a/rpi/game/game_decode.h b/gui/game/game_decode.h similarity index 100% rename from rpi/game/game_decode.h rename to gui/game/game_decode.h diff --git a/rpi/game/game_main.c b/gui/game/game_main.c similarity index 100% rename from rpi/game/game_main.c rename to gui/game/game_main.c diff --git a/rpi/game/game_main.h b/gui/game/game_main.h similarity index 100% rename from rpi/game/game_main.h rename to gui/game/game_main.h diff --git a/rpi/game/game_record.c b/gui/game/game_record.c similarity index 100% rename from rpi/game/game_record.c rename to gui/game/game_record.c diff --git a/rpi/game/game_record.h b/gui/game/game_record.h similarity index 100% rename from rpi/game/game_record.h rename to gui/game/game_record.h diff --git a/rpi/lang.c b/gui/lang.c similarity index 99% rename from rpi/lang.c rename to gui/lang.c index ba38f4e..4bdce7d 100644 --- a/rpi/lang.c +++ b/gui/lang.c @@ -50,4 +50,4 @@ static const char *lang_str[__VPI_LANG_T_COUNT] = { const char *lang(vpi_lang_t id) { return lang_str[id]; -} \ No newline at end of file +} diff --git a/rpi/lang.h b/gui/lang.h similarity index 97% rename from rpi/lang.h rename to gui/lang.h index 3b3cfc2..a87496a 100644 --- a/rpi/lang.h +++ b/gui/lang.h @@ -51,4 +51,4 @@ typedef enum { const char *lang(vpi_lang_t id); -#endif // VANILLA_PI_LANG_H \ No newline at end of file +#endif // VANILLA_PI_LANG_H diff --git a/rpi/main.c b/gui/main.c similarity index 100% rename from rpi/main.c rename to gui/main.c diff --git a/rpi/main_old.c b/gui/main_old.c similarity index 100% rename from rpi/main_old.c rename to gui/main_old.c diff --git a/rpi/menu/menu.c b/gui/menu/menu.c similarity index 100% rename from rpi/menu/menu.c rename to gui/menu/menu.c diff --git a/rpi/menu/menu.h b/gui/menu/menu.h similarity index 100% rename from rpi/menu/menu.h rename to gui/menu/menu.h diff --git a/rpi/menu/menu_common.c b/gui/menu/menu_common.c similarity index 100% rename from rpi/menu/menu_common.c rename to gui/menu/menu_common.c diff --git a/rpi/menu/menu_common.h b/gui/menu/menu_common.h similarity index 100% rename from rpi/menu/menu_common.h rename to gui/menu/menu_common.h diff --git a/rpi/menu/menu_connection.c b/gui/menu/menu_connection.c similarity index 100% rename from rpi/menu/menu_connection.c rename to gui/menu/menu_connection.c diff --git a/rpi/menu/menu_connection.h b/gui/menu/menu_connection.h similarity index 100% rename from rpi/menu/menu_connection.h rename to gui/menu/menu_connection.h diff --git a/rpi/menu/menu_delete.c b/gui/menu/menu_delete.c similarity index 100% rename from rpi/menu/menu_delete.c rename to gui/menu/menu_delete.c diff --git a/rpi/menu/menu_delete.h b/gui/menu/menu_delete.h similarity index 100% rename from rpi/menu/menu_delete.h rename to gui/menu/menu_delete.h diff --git a/rpi/menu/menu_edit.c b/gui/menu/menu_edit.c similarity index 100% rename from rpi/menu/menu_edit.c rename to gui/menu/menu_edit.c diff --git a/rpi/menu/menu_edit.h b/gui/menu/menu_edit.h similarity index 100% rename from rpi/menu/menu_edit.h rename to gui/menu/menu_edit.h diff --git a/rpi/menu/menu_game.c b/gui/menu/menu_game.c similarity index 100% rename from rpi/menu/menu_game.c rename to gui/menu/menu_game.c diff --git a/rpi/menu/menu_game.h b/gui/menu/menu_game.h similarity index 100% rename from rpi/menu/menu_game.h rename to gui/menu/menu_game.h diff --git a/rpi/menu/menu_gamepad.c b/gui/menu/menu_gamepad.c similarity index 100% rename from rpi/menu/menu_gamepad.c rename to gui/menu/menu_gamepad.c diff --git a/rpi/menu/menu_gamepad.h b/gui/menu/menu_gamepad.h similarity index 100% rename from rpi/menu/menu_gamepad.h rename to gui/menu/menu_gamepad.h diff --git a/rpi/menu/menu_main.c b/gui/menu/menu_main.c similarity index 100% rename from rpi/menu/menu_main.c rename to gui/menu/menu_main.c diff --git a/rpi/menu/menu_main.h b/gui/menu/menu_main.h similarity index 100% rename from rpi/menu/menu_main.h rename to gui/menu/menu_main.h diff --git a/rpi/menu/menu_region.c b/gui/menu/menu_region.c similarity index 100% rename from rpi/menu/menu_region.c rename to gui/menu/menu_region.c diff --git a/rpi/menu/menu_region.h b/gui/menu/menu_region.h similarity index 100% rename from rpi/menu/menu_region.h rename to gui/menu/menu_region.h diff --git a/rpi/menu/menu_rename.c b/gui/menu/menu_rename.c similarity index 100% rename from rpi/menu/menu_rename.c rename to gui/menu/menu_rename.c diff --git a/rpi/menu/menu_rename.h b/gui/menu/menu_rename.h similarity index 100% rename from rpi/menu/menu_rename.h rename to gui/menu/menu_rename.h diff --git a/rpi/menu/menu_settings.c b/gui/menu/menu_settings.c similarity index 100% rename from rpi/menu/menu_settings.c rename to gui/menu/menu_settings.c diff --git a/rpi/menu/menu_settings.h b/gui/menu/menu_settings.h similarity index 100% rename from rpi/menu/menu_settings.h rename to gui/menu/menu_settings.h diff --git a/rpi/menu/menu_sync.c b/gui/menu/menu_sync.c similarity index 100% rename from rpi/menu/menu_sync.c rename to gui/menu/menu_sync.c diff --git a/rpi/menu/menu_sync.h b/gui/menu/menu_sync.h similarity index 100% rename from rpi/menu/menu_sync.h rename to gui/menu/menu_sync.h diff --git a/rpi/pipemgmt.c b/gui/pipemgmt.c similarity index 100% rename from rpi/pipemgmt.c rename to gui/pipemgmt.c diff --git a/rpi/pipemgmt.h b/gui/pipemgmt.h similarity index 100% rename from rpi/pipemgmt.h rename to gui/pipemgmt.h diff --git a/rpi/platform.c b/gui/platform.c similarity index 100% rename from rpi/platform.c rename to gui/platform.c diff --git a/rpi/platform.h b/gui/platform.h similarity index 100% rename from rpi/platform.h rename to gui/platform.h diff --git a/rpi/res/com.mattkc.vanilla.desktop b/gui/res/com.mattkc.vanilla.desktop similarity index 68% rename from rpi/res/com.mattkc.vanilla.desktop rename to gui/res/com.mattkc.vanilla.desktop index 3918552..2d21a23 100644 --- a/rpi/res/com.mattkc.vanilla.desktop +++ b/gui/res/com.mattkc.vanilla.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Version=1.0 -Name=Vanilla U +Name=Vanilla Comment=Open Source Wii U Gamepad Implementation -Exec=vanilla-gui -Icon=com.mattkc.vanilla +Exec=vanilla +Icon=com.mattkc.vanilla_rounded Terminal=false Type=Application Categories=Game diff --git a/rpi/res/com.mattkc.vanilla.svg b/gui/res/com.mattkc.vanilla.svg similarity index 100% rename from rpi/res/com.mattkc.vanilla.svg rename to gui/res/com.mattkc.vanilla.svg diff --git a/gui/res/com.mattkc.vanilla_rounded.svg b/gui/res/com.mattkc.vanilla_rounded.svg new file mode 100644 index 0000000..d3bffe5 --- /dev/null +++ b/gui/res/com.mattkc.vanilla_rounded.svg @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + +