From eedd75a925681719cbed88c70fbedd01d37df4b3 Mon Sep 17 00:00:00 2001 From: staphen Date: Sun, 8 Aug 2021 13:45:29 -0400 Subject: [PATCH] 3DS: Add translations to romfs --- CMake/ctr/n3ds_defs.cmake | 1 + CMakeLists.txt | 22 ++++++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/CMake/ctr/n3ds_defs.cmake b/CMake/ctr/n3ds_defs.cmake index dc1301449..337550bd7 100644 --- a/CMake/ctr/n3ds_defs.cmake +++ b/CMake/ctr/n3ds_defs.cmake @@ -16,6 +16,7 @@ find_package(PNG REQUIRED) #additional compilation definitions add_definitions(-D__3DS__) set(TTF_FONT_DIR \"romfs:/\") +set(MO_LANG_DIR \"romfs:/\") #SDL video mode parameters set(SDL1_VIDEO_MODE_BPP 8) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5719397b0..f851b98e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -610,6 +610,7 @@ if(USE_GETTEXT) find_package(Gettext) foreach(lang bg da de es fr hr it ko_KR pt_BR ru sv zh_CN zh_TW) GETTEXT_PROCESS_PO_FILES(${lang} ALL PO_FILES ${CMAKE_CURRENT_LIST_DIR}/Translations/${lang}.po) + list(APPEND devilutionx_TRANSLATIONS ${CMAKE_CURRENT_BINARY_DIR}/${lang}.gmo) if(VITA) list(APPEND VITA_TRANSLATIONS_LIST "FILE" "${CMAKE_CURRENT_BINARY_DIR}/${lang}.gmo" "${lang}.gmo") @@ -677,6 +678,7 @@ foreach( DEFAULT_AUDIO_CHANNELS DEFAULT_AUDIO_BUFFER_SIZE DEFAULT_AUDIO_RESAMPLING_QUALITY + MO_LANG_DIR TTF_FONT_DIR TTF_FONT_NAME SDL1_VIDEO_MODE_BPP @@ -925,9 +927,10 @@ if(NINTENDO_3DS) set(APP_AUDIO "${CMAKE_BINARY_DIR}/banner_audio.wav") set(APP_RSF "${PROJECT_SOURCE_DIR}/Packaging/ctr/template.rsf") set(APP_ROMFS "${CMAKE_BINARY_DIR}/romfs") - set(APP_ROMFS_FILES - "${PROJECT_SOURCE_DIR}/Packaging/resources/CharisSILB.ttf" - "${PROJECT_SOURCE_DIR}/Packaging/resources/devilutionx.mpq") + list(APPEND APP_ROMFS_FILES + ${PROJECT_SOURCE_DIR}/Packaging/resources/CharisSILB.ttf + ${PROJECT_SOURCE_DIR}/Packaging/resources/devilutionx.mpq + ${devilutionx_TRANSLATIONS}) set(APP_VERSION ${PROJECT_VERSION}) find_program(FFMPEG ffmpeg) @@ -943,13 +946,20 @@ if(NINTENDO_3DS) VERBATIM) endif() - file(MAKE_DIRECTORY ${APP_ROMFS}) - file(COPY ${APP_ROMFS_FILES} - DESTINATION ${APP_ROMFS}) + add_custom_target(romfs_directory + COMMAND ${CMAKE_COMMAND} -E make_directory ${APP_ROMFS}) + + add_custom_target(romfs_files + COMMAND ${CMAKE_COMMAND} -E copy ${APP_ROMFS_FILES} ${APP_ROMFS} + DEPENDS romfs_directory) include(Tools3DS) add_3dsx_target(${BIN_TARGET}) add_cia_target(${BIN_TARGET} ${APP_RSF} ${APP_BANNER} ${APP_AUDIO}) + + get_filename_component(APP_TARGET_PREFIX ${BIN_TARGET} NAME_WE) + add_dependencies(${APP_TARGET_PREFIX}_3dsx romfs_files) + add_dependencies(${APP_TARGET_PREFIX}_cia romfs_files) endif() if(CPACK)