mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-02-13 07:57:37 +00:00
use ifdefs for all d3drm backends, cpack to generate vpk
This commit is contained in:
parent
6c8abe85c4
commit
d360fa290b
9
.github/workflows/ci.yml
vendored
9
.github/workflows/ci.yml
vendored
@ -132,7 +132,7 @@ jobs:
|
||||
run: cmake --build build --verbose --config Release
|
||||
|
||||
- name: Package (CPack)
|
||||
if: ${{ !matrix.n3ds && !matrix.vita }}
|
||||
if: ${{ !matrix.n3ds }}
|
||||
run: |
|
||||
cd build
|
||||
success=0
|
||||
@ -180,13 +180,6 @@ jobs:
|
||||
mkdir dist
|
||||
mv *.3dsx dist/
|
||||
mv *.cia dist/
|
||||
|
||||
- name: Package (Vita)
|
||||
if: ${{ matrix.vita }}
|
||||
run: |
|
||||
cd build
|
||||
mkdir dist
|
||||
mv *.vpk dist/
|
||||
|
||||
- name: Upload Build Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
|
||||
@ -69,6 +69,7 @@ if (DOWNLOAD_DEPENDENCIES)
|
||||
SDL3
|
||||
GIT_REPOSITORY "https://github.com/Helloyunho/SDL3-uwp.git"
|
||||
GIT_TAG "main"
|
||||
UPDATE_DISCONNECTED TRUE
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
else()
|
||||
@ -86,6 +87,7 @@ if (DOWNLOAD_DEPENDENCIES)
|
||||
iniparser
|
||||
GIT_REPOSITORY "https://gitlab.com/iniparser/iniparser.git"
|
||||
GIT_TAG "main"
|
||||
UPDATE_DISCONNECTED TRUE
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
block()
|
||||
@ -711,7 +713,7 @@ endif()
|
||||
if(BUILD_SHARED_LIBS)
|
||||
list(APPEND install_extra_targets lego1)
|
||||
endif()
|
||||
if (NOT (NINTENDO_3DS OR WINDOWS_STORE))
|
||||
if (NOT (NINTENDO_3DS OR WINDOWS_STORE OR VITA))
|
||||
install(TARGETS isle ${install_extra_targets}
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
@ -822,63 +824,31 @@ if(VITA)
|
||||
|
||||
vita_create_self(isle.self isle UNSAFE)
|
||||
|
||||
list(APPEND VPK_FILE_ARGS FILE ${ISLE_CONFIG_SELF} isle-config.self)
|
||||
list(APPEND VPK_FILE_ARGS FILE ${ISLE_CONFIG_RCO} config_plugin.rco)
|
||||
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/icon0.png sce_sys/icon0.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/pic0.png sce_sys/pic0.png)
|
||||
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/livearea/contents/bg.png sce_sys/livearea/contents/bg.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/livearea/contents/configure.png sce_sys/livearea/contents/configure.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/livearea/contents/gate.png sce_sys/livearea/contents/gate.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/livearea/contents/logo.png sce_sys/livearea/contents/logo.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/livearea/contents/template.xml sce_sys/livearea/contents/template.xml)
|
||||
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/001.png sce_sys/manual/001.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/002.png sce_sys/manual/002.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/003.png sce_sys/manual/003.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/004.png sce_sys/manual/004.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/005.png sce_sys/manual/005.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/006.png sce_sys/manual/006.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/007.png sce_sys/manual/007.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/008.png sce_sys/manual/008.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/009.png sce_sys/manual/009.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/010.png sce_sys/manual/010.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/011.png sce_sys/manual/011.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/012.png sce_sys/manual/012.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/013.png sce_sys/manual/013.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/014.png sce_sys/manual/014.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/015.png sce_sys/manual/015.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/016.png sce_sys/manual/016.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/017.png sce_sys/manual/017.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/018.png sce_sys/manual/018.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/019.png sce_sys/manual/019.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/020.png sce_sys/manual/020.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/021.png sce_sys/manual/021.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/022.png sce_sys/manual/022.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/023.png sce_sys/manual/023.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/024.png sce_sys/manual/024.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/025.png sce_sys/manual/025.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/026.png sce_sys/manual/026.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/027.png sce_sys/manual/027.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/028.png sce_sys/manual/028.png)
|
||||
|
||||
vita_create_vpk(isle.vpk ${VITA_TITLEID} isle.self
|
||||
VERSION ${VITA_VERSION}
|
||||
NAME ${VITA_APP_NAME}
|
||||
${VPK_FILE_ARGS}
|
||||
)
|
||||
add_dependencies(isle.vpk-vpk
|
||||
isle-config.self-self
|
||||
config_plugin.rco_target
|
||||
add_custom_command(
|
||||
OUTPUT param.sfo
|
||||
COMMAND ${VITA_MKSFOEX} -s APP_VER=${VITA_VERSION} -s TITLE_ID=${VITA_TITLEID} \"${VITA_APP_NAME}\" param.sfo
|
||||
)
|
||||
add_custom_target(param_sfo ALL DEPENDS param.sfo)
|
||||
add_dependencies(isle param_sfo)
|
||||
add_dependencies(isle config_plugin.rco_target)
|
||||
|
||||
install(FILES "$<TARGET_FILE_DIR:isle>/isle.vpk" DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY OFF)
|
||||
set(CPACK_ARCHIVE_FILE_EXTENSION "vpk")
|
||||
set(CPACK_PACKAGE_FILE_NAME "lego-island-${PROJECT_VERSION}")
|
||||
|
||||
install(FILES "$<TARGET_FILE_DIR:isle>/isle.self" DESTINATION . RENAME "eboot.bin")
|
||||
install(FILES "$<TARGET_FILE_DIR:isle-config>/isle-config.self" DESTINATION .)
|
||||
install(FILES "$<TARGET_FILE_DIR:isle-config>/config_plugin.rco" DESTINATION .)
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/param.sfo" DESTINATION .)
|
||||
install(DIRECTORY packaging/vita/sce_sys DESTINATION .)
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
set(CPACK_GENERATOR ZIP)
|
||||
elseif(APPLE AND NOT IOS)
|
||||
set(CPACK_GENERATOR DragNDrop)
|
||||
elseif(VITA)
|
||||
set(CPACK_GENERATOR ZIP)
|
||||
else()
|
||||
set(CPACK_GENERATOR TGZ)
|
||||
endif()
|
||||
|
||||
@ -8,6 +8,7 @@ include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
ScePaf_External
|
||||
URL https://github.com/olebeck/ScePaf/releases/download/continuous/ScePaf-1.0.0.zip
|
||||
UPDATE_DISCONNECTED TRUE
|
||||
)
|
||||
FetchContent_MakeAvailable(ScePaf_External)
|
||||
|
||||
@ -52,6 +53,3 @@ endblock()
|
||||
|
||||
include(${scepaf_external_SOURCE_DIR}/rco.cmake)
|
||||
make_rco(cxml/config_plugin.xml config_plugin.rco)
|
||||
|
||||
set(ISLE_CONFIG_SELF ${CMAKE_CURRENT_BINARY_DIR}/isle-config.self PARENT_SCOPE)
|
||||
set(ISLE_CONFIG_RCO ${CMAKE_CURRENT_BINARY_DIR}/config_plugin.rco PARENT_SCOPE)
|
||||
|
||||
@ -840,7 +840,7 @@ MxResult IsleApp::SetupWindow()
|
||||
SDL_SetNumberProperty(props, SDL_PROP_WINDOW_CREATE_HEIGHT_NUMBER, g_targetHeight);
|
||||
SDL_SetBooleanProperty(props, SDL_PROP_WINDOW_CREATE_FULLSCREEN_BOOLEAN, m_fullScreen);
|
||||
SDL_SetStringProperty(props, SDL_PROP_WINDOW_CREATE_TITLE_STRING, WINDOW_TITLE);
|
||||
#if defined(MINIWIN) && !defined(__3DS__) && !defined(WINDOWS_STORE) && !defined(__vita__)
|
||||
#if defined(MINIWIN) && (defined(USE_OPENGLES2) || defined(USE_OPENGL1))
|
||||
SDL_SetBooleanProperty(props, SDL_PROP_WINDOW_CREATE_OPENGL_BOOLEAN, true);
|
||||
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
|
||||
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
|
||||
|
||||
@ -20,11 +20,6 @@ add_library(miniwin STATIC EXCLUDE_FROM_ALL
|
||||
src/d3drm/d3drmtexture.cpp
|
||||
src/d3drm/d3drmviewport.cpp
|
||||
src/internal/meshutils.cpp
|
||||
|
||||
# D3DRM backends
|
||||
src/d3drm/backends/sdl3gpu/renderer.cpp
|
||||
src/d3drm/backends/sdl3gpu/shaders/generated/ShaderIndex.cpp
|
||||
src/d3drm/backends/software/renderer.cpp
|
||||
)
|
||||
|
||||
target_compile_definitions(miniwin PRIVATE
|
||||
@ -91,6 +86,7 @@ if(NINTENDO_3DS)
|
||||
ctr_add_shader_library(vshader src/d3drm/backends/citro3d/vshader.v.pica)
|
||||
dkp_add_embedded_binary_library(3ds_shaders vshader)
|
||||
target_link_libraries(miniwin PRIVATE ${CITRO3D_LIBRARY} 3ds_shaders)
|
||||
list(APPEND GRAPHICS_BACKENDS USE_CITRO3D)
|
||||
else()
|
||||
message(STATUS "🧩 Citro3D support not enabled")
|
||||
endif()
|
||||
@ -102,12 +98,26 @@ if(WIN32 AND NOT WINDOWS_STORE)
|
||||
src/d3drm/backends/directx9/renderer.cpp
|
||||
)
|
||||
target_link_libraries(miniwin PRIVATE d3d9)
|
||||
list(APPEND GRAPHICS_BACKENDS USE_DIRECTX9)
|
||||
endif()
|
||||
|
||||
if(WINDOWS_STORE)
|
||||
add_compile_definitions(WINDOWS_STORE)
|
||||
endif()
|
||||
|
||||
if(USE_SDL_GPU IN_LIST GRAPHICS_BACKENDS)
|
||||
target_sources(miniwin PRIVATE
|
||||
src/d3drm/backends/sdl3gpu/renderer.cpp
|
||||
src/d3drm/backends/sdl3gpu/shaders/generated/ShaderIndex.cpp
|
||||
)
|
||||
endif()
|
||||
|
||||
if(USE_SOFTWARE_RENDER IN_LIST GRAPHICS_BACKENDS)
|
||||
target_sources(miniwin PRIVATE
|
||||
src/d3drm/backends/software/renderer.cpp
|
||||
)
|
||||
endif()
|
||||
|
||||
target_compile_definitions(miniwin PUBLIC MINIWIN)
|
||||
|
||||
target_include_directories(miniwin
|
||||
@ -119,7 +129,7 @@ target_link_libraries(miniwin PUBLIC miniwin-headers)
|
||||
|
||||
target_link_libraries(miniwin PRIVATE SDL3::SDL3)
|
||||
|
||||
target_compile_definitions(miniwin PRIVATE ${GRAPHICS_BACKENDS})
|
||||
target_compile_definitions(miniwin PUBLIC ${GRAPHICS_BACKENDS})
|
||||
|
||||
|
||||
# Shader stuff
|
||||
|
||||
@ -13,13 +13,13 @@
|
||||
#ifdef USE_OPENGLES2
|
||||
#include "d3drmrenderer_opengles2.h"
|
||||
#endif
|
||||
#ifdef __3DS__
|
||||
#ifdef USE_CITRO3D
|
||||
#include "d3drmrenderer_citro3d.h"
|
||||
#endif
|
||||
#ifdef _WIN32
|
||||
#ifdef USE_DIRECTX9
|
||||
#include "d3drmrenderer_directx9.h"
|
||||
#endif
|
||||
#ifdef __vita__
|
||||
#ifdef USE_GXM
|
||||
#include "d3drmrenderer_gxm.h"
|
||||
#endif
|
||||
#ifdef USE_SDL_GPU
|
||||
@ -175,17 +175,17 @@ HRESULT Direct3DRMImpl::CreateDeviceFromSurface(
|
||||
DDRenderer = OpenGL1Renderer::Create(DDSDesc.dwWidth, DDSDesc.dwHeight);
|
||||
}
|
||||
#endif
|
||||
#ifdef __3DS__
|
||||
#ifdef USE_CITRO3D
|
||||
else if (SDL_memcmp(&guid, &Citro3D_GUID, sizeof(GUID)) == 0) {
|
||||
DDRenderer = new Citro3DRenderer(DDSDesc.dwWidth, DDSDesc.dwHeight);
|
||||
}
|
||||
#endif
|
||||
#if defined(_WIN32) && !defined(WINDOWS_STORE)
|
||||
#ifdef USE_DIRECTX9
|
||||
else if (SDL_memcmp(&guid, &DirectX9_GUID, sizeof(GUID)) == 0) {
|
||||
DDRenderer = DirectX9Renderer::Create(DDSDesc.dwWidth, DDSDesc.dwHeight);
|
||||
}
|
||||
#endif
|
||||
#ifdef __vita__
|
||||
#ifdef USE_GXM
|
||||
else if (SDL_memcmp(&guid, &GXM_GUID, sizeof(GUID)) == 0) {
|
||||
DDRenderer = GXMRenderer::Create(DDSDesc.dwWidth, DDSDesc.dwHeight);
|
||||
}
|
||||
|
||||
@ -4,13 +4,13 @@
|
||||
#ifdef USE_OPENGLES2
|
||||
#include "d3drmrenderer_opengles2.h"
|
||||
#endif
|
||||
#ifdef __3DS__
|
||||
#ifdef USE_CITRO3D
|
||||
#include "d3drmrenderer_citro3d.h"
|
||||
#endif
|
||||
#if defined(_WIN32) && !defined(WINDOWS_STORE)
|
||||
#if USE_DIRECTX9
|
||||
#include "d3drmrenderer_directx9.h"
|
||||
#endif
|
||||
#ifdef __vita__
|
||||
#ifdef USE_GXM
|
||||
#include "d3drmrenderer_gxm.h"
|
||||
#endif
|
||||
#ifdef USE_SDL_GPU
|
||||
@ -248,13 +248,13 @@ HRESULT DirectDrawImpl::EnumDevices(LPD3DENUMDEVICESCALLBACK cb, void* ctx)
|
||||
#ifdef USE_OPENGL1
|
||||
OpenGL1Renderer_EnumDevice(cb, ctx);
|
||||
#endif
|
||||
#ifdef __3DS__
|
||||
#ifdef USE_CITRO3D
|
||||
Citro3DRenderer_EnumDevice(cb, ctx);
|
||||
#endif
|
||||
#if defined(_WIN32) && !defined(WINDOWS_STORE)
|
||||
#ifdef USE_DIRECTX9
|
||||
DirectX9Renderer_EnumDevice(cb, ctx);
|
||||
#endif
|
||||
#ifdef __vita__
|
||||
#ifdef USE_GXM
|
||||
GXMRenderer_EnumDevice(cb, ctx);
|
||||
#endif
|
||||
#ifdef USE_SOFTWARE_RENDER
|
||||
@ -378,12 +378,12 @@ HRESULT DirectDrawImpl::CreateDevice(
|
||||
DDRenderer = new Citro3DRenderer(DDSDesc.dwWidth, DDSDesc.dwHeight);
|
||||
}
|
||||
#endif
|
||||
#if defined(_WIN32) && !defined(WINDOWS_STORE)
|
||||
#ifdef USE_DIRECTX9
|
||||
else if (SDL_memcmp(&guid, &DirectX9_GUID, sizeof(GUID)) == 0) {
|
||||
DDRenderer = DirectX9Renderer::Create(DDSDesc.dwWidth, DDSDesc.dwHeight);
|
||||
}
|
||||
#endif
|
||||
#ifdef __vita__
|
||||
#ifdef USE_GXM
|
||||
else if (SDL_memcmp(&guid, &GXM_GUID, sizeof(GUID)) == 0) {
|
||||
DDRenderer = GXMRenderer::Create(DDSDesc.dwWidth, DDSDesc.dwHeight);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user