Rename Vanilla-Pi to Vanilla (#209)
* Rename vanilla-pi to vanilla-gui * revert weirdly-changed menu.h * Change icon to rounded * Rename vanilla-gui to vanilla, name libvanilla * Fix broken .desktop file * Rename `vanilla-gui` to `vanilla`
@@ -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()
|
||||
|
||||
@@ -12,7 +12,7 @@ public class VanillaActivity extends SDLActivity {
|
||||
// "SDL2_net",
|
||||
"SDL2_ttf",
|
||||
"xml2",
|
||||
"vanilla-pi"
|
||||
"vanilla"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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" "$<TARGET_FILE_DIR:vanilla-pi>/../Resources/assets"
|
||||
TARGET vanilla POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different "${CMAKE_CURRENT_SOURCE_DIR}/assets" "$<TARGET_FILE_DIR:vanilla>/../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()
|
||||
|
Before Width: | Height: | Size: 924 B After Width: | Height: | Size: 924 B |
|
Before Width: | Height: | Size: 939 B After Width: | Height: | Size: 939 B |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 995 B After Width: | Height: | Size: 995 B |
|
Before Width: | Height: | Size: 995 B After Width: | Height: | Size: 995 B |
|
Before Width: | Height: | Size: 995 B After Width: | Height: | Size: 995 B |
|
Before Width: | Height: | Size: 684 B After Width: | Height: | Size: 684 B |
|
Before Width: | Height: | Size: 684 B After Width: | Height: | Size: 684 B |
|
Before Width: | Height: | Size: 684 B After Width: | Height: | Size: 684 B |
|
Before Width: | Height: | Size: 315 B After Width: | Height: | Size: 315 B |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 726 B After Width: | Height: | Size: 726 B |
|
Before Width: | Height: | Size: 726 B After Width: | Height: | Size: 726 B |
|
Before Width: | Height: | Size: 726 B After Width: | Height: | Size: 726 B |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 324 KiB After Width: | Height: | Size: 324 KiB |
|
Before Width: | Height: | Size: 821 B After Width: | Height: | Size: 821 B |
|
Before Width: | Height: | Size: 821 B After Width: | Height: | Size: 821 B |
|
Before Width: | Height: | Size: 821 B After Width: | Height: | Size: 821 B |
@@ -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
|
||||
#endif // VANILLA_PI_CONFIG_H
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
#define VANILLA_PI_ERR_DECODER -1001
|
||||
|
||||
#endif // VANILLA_PI_DEF_H
|
||||
#endif // VANILLA_PI_DEF_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
|
||||
#endif // VANILLA_PI_DRM_H
|
||||
@@ -550,4 +550,4 @@ exit:
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -50,4 +50,4 @@ static const char *lang_str[__VPI_LANG_T_COUNT] = {
|
||||
const char *lang(vpi_lang_t id)
|
||||
{
|
||||
return lang_str[id];
|
||||
}
|
||||
}
|
||||
@@ -51,4 +51,4 @@ typedef enum {
|
||||
|
||||
const char *lang(vpi_lang_t id);
|
||||
|
||||
#endif // VANILLA_PI_LANG_H
|
||||
#endif // VANILLA_PI_LANG_H
|
||||
@@ -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
|
||||
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
@@ -0,0 +1,114 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg:svg
|
||||
width="120mm"
|
||||
height="120mm"
|
||||
viewBox="-60 -60 120 120"
|
||||
sodipodi:docname="com.mattkc.vanilla_rounded.svg"
|
||||
version="1.1"
|
||||
id="svg3"
|
||||
inkscape:version="1.4.2 (ebf0e94, 2025-05-08)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<svg:defs
|
||||
id="defs3">
|
||||
<svg:linearGradient
|
||||
id="linearGradient2"
|
||||
inkscape:collect="always">
|
||||
<svg:stop
|
||||
style="stop-color:#0097c9;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop2" />
|
||||
<svg:stop
|
||||
style="stop-color:#23caff;stop-opacity:1;"
|
||||
offset="0.84329319"
|
||||
id="stop3" />
|
||||
</svg:linearGradient>
|
||||
<svg:radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2"
|
||||
id="radialGradient3"
|
||||
cx="0"
|
||||
cy="0"
|
||||
fx="0"
|
||||
fy="0"
|
||||
r="60"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
</svg:defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.3244432"
|
||||
inkscape:cx="181.96326"
|
||||
inkscape:cy="195.93139"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="Template"
|
||||
showgrid="true"
|
||||
units="mm"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:snap-global="true"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:snap-bbox-midpoints="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1008"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:bbox-paths="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:snap-bbox-edge-midpoints="true"
|
||||
inkscape:snap-grids="true"
|
||||
id="namedview1"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<svg:metadata
|
||||
id="metadata2822">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</svg:metadata>
|
||||
<svg:g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="Template">
|
||||
<svg:rect
|
||||
style="fill:url(#radialGradient3);fill-opacity:1;stroke-width:5.85001"
|
||||
id="rect1"
|
||||
width="120"
|
||||
height="120"
|
||||
x="-60"
|
||||
y="-60"
|
||||
rx="20"
|
||||
ry="20" />
|
||||
<svg:g
|
||||
id="g1">
|
||||
<svg:path
|
||||
id="rect4"
|
||||
d="m -30,-30 c -5.183453,0 -10,4.822056 -10,10 v 40 c 0,5.177938 4.816547,10 10,10 h 60 c 5.183453,0 10,-4.822062 10,-10 v -40 c 0,-5.177944 -4.816547,-10 -10,-10 H 24 L 7,15 H -7 l -17,-45 z"
|
||||
sodipodi:nodetypes="ssssssssccccs"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:1.02791" />
|
||||
<svg:path
|
||||
d="M -10,-30 -6e-6,0 10,-30 Z"
|
||||
id="path1"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:1.02791"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</svg:g>
|
||||
</svg:g>
|
||||
<script />
|
||||
</svg:svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
@@ -1,4 +1,4 @@
|
||||
add_library(vanilla STATIC
|
||||
add_library(libvanilla STATIC
|
||||
gamepad/audio.c
|
||||
gamepad/command.c
|
||||
gamepad/gamepad.c
|
||||
@@ -8,19 +8,20 @@ add_library(vanilla STATIC
|
||||
vanilla.c
|
||||
)
|
||||
|
||||
target_include_directories(vanilla PRIVATE
|
||||
target_include_directories(libvanilla PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
set_target_properties(vanilla PROPERTIES PUBLIC_HEADER "vanilla.h")
|
||||
set_target_properties(libvanilla PROPERTIES PREFIX "")
|
||||
set_target_properties(libvanilla PROPERTIES PUBLIC_HEADER "vanilla.h")
|
||||
|
||||
if (NOT ANDROID)
|
||||
target_link_libraries(vanilla PRIVATE
|
||||
target_link_libraries(libvanilla PRIVATE
|
||||
pthread
|
||||
)
|
||||
endif()
|
||||
|
||||
install(TARGETS vanilla)
|
||||
install(TARGETS libvanilla)
|
||||
|
||||
if (VANILLA_BUILD_TESTS)
|
||||
function(add_test TEST_NAME TEST_FILES)
|
||||
@@ -28,7 +29,7 @@ if (VANILLA_BUILD_TESTS)
|
||||
${TEST_FILES}
|
||||
)
|
||||
|
||||
target_link_libraries(${TEST_NAME} PRIVATE vanilla m)
|
||||
target_link_libraries(${TEST_NAME} PRIVATE libvanilla m)
|
||||
target_include_directories(${TEST_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
endfunction()
|
||||
|
||||
|
||||