matrix.yaml: simplify responseFile #8
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| on: | |
| push: | |
| branches: [matrix] | |
| paths: | |
| - "Steam/**/pakchunk0-WindowsNoEditor.pak/Game/Content/Localization/Game/Game.locres.yaml" | |
| - "Steam/**/pakchunk0-WindowsNoEditor.pak/Game/Content/NonAssets/ETP/ETP.yaml" | |
| - ".github/workflows/matrix.yml" | |
| jobs: | |
| Checkout_Repos: | |
| permissions: write-all | |
| runs-on: self-hosted | |
| steps: | |
| - name: Checkout dqx_dat_dump | |
| uses: actions/checkout@v4 | |
| with: | |
| path: ./MATRIX/dqx_dat_dump | |
| ref: testing | |
| repository: KodywithaK/dqx_dat_dump | |
| - name: Checkout dqx-offline-localization | |
| uses: actions/checkout@v4 | |
| with: | |
| path: ./MATRIX/dqx-offline-localization | |
| ref: main | |
| repository: KodywithaK/dqx-offline-localization | |
| - name: Checkout LocRes-Builder | |
| uses: actions/checkout@v4 | |
| with: | |
| path: ./MATRIX/LocRes-Builder | |
| ref: testing | |
| repository: KodywithaK/LocRes-Builder | |
| LocRes-Builder-Input: | |
| needs: [Checkout_Repos] | |
| runs-on: self-hosted | |
| steps: | |
| - name: LocRes-Builder Inputs | |
| run: | | |
| # echo -e "::group::\033[0;34m Building LocRes-Builder's Inputs \033[0m" | |
| mkdir -p ${{ github.workspace }}/MATRIX/LocRes-Builder/INPUT | |
| cp \ | |
| "${{ github.workspace }}/MATRIX/dqx-offline-localization/Steam/App_ID-1358750/Build_ID-14529657/pakchunk0-WindowsNoEditor.pak/Game/Content/Localization/Game/locmetav2.json" \ | |
| "${{ github.workspace }}/MATRIX/LocRes-Builder/INPUT/locmeta.json" | |
| echo -e "Splitting Game.locres.yaml" | |
| for LANGUAGE in de en es fr it ja ko la pt-BR zh-Hans zh-Hant; do \ | |
| echo -e "Splitting \033[0;32m$LANGUAGE\033[0m" | |
| yq "." \ | |
| "${{ github.workspace }}/MATRIX/dqx-offline-localization/Steam/App_ID-1358750/Build_ID-14529657/pakchunk0-WindowsNoEditor.pak/Game/Content/Localization/Game/Game.locres.yaml" \ | |
| --yaml-fix-merge-anchor-to-spec -o json \ | |
| | jq --arg LANGUAGE $LANGUAGE \ | |
| --from-file "${{ github.workspace }}/MATRIX/dqx-offline-localization/Steam/App_ID-1358750/Build_ID-14529657/pakchunk0-WindowsNoEditor.pak/Game/Content/Localization/Game/Game.locres.json_--from-file.txt" \ | |
| > "${{ github.workspace }}/MATRIX/LocRes-Builder/INPUT/${LANGUAGE}.json" | |
| done | |
| # echo "::endgroup::" | |
| LocRes-Builder-Output: | |
| needs: [Checkout_Repos, LocRes-Builder-Input] | |
| runs-on: self-hosted | |
| strategy: | |
| matrix: | |
| LocResVersion: [Optimized_CRC32, Optimized_CityHash64_UTF16] | |
| steps: | |
| - name: LocRes-Builder Outputs | |
| run: | | |
| if [[ ${{ matrix.LocResVersion }} == @(Optimized_CRC32) ]]; then | |
| LOCRES_VERSION="Optimized_CRC32"; | |
| LOCRES_VERSION_ID=2 | |
| else | |
| LOCRES_VERSION="Optimized_CityHash64_UTF16"; | |
| LOCRES_VERSION_ID=3 | |
| fi | |
| echo -e "::group::\033[0;34m Building LocRes-Builder's Outputs \033[0m" | |
| mkdir -p ${{ github.workspace }}/MATRIX/LocRes-Builder/OUTPUT/${LOCRES_VERSION} | |
| python3 "${{ github.workspace }}/MATRIX/LocRes-Builder/src/main.py" \ | |
| -i "${{ github.workspace }}/MATRIX/LocRes-Builder/INPUT/locmeta.json" \ | |
| -v ${LOCRES_VERSION_ID} \ | |
| -o "${{ github.workspace }}/MATRIX/LocRes-Builder/OUTPUT/${LOCRES_VERSION}" -f=json | |
| for LANGUAGE in de en es fr it ja ko pt-BR zh-Hans zh-Hant; do \ | |
| mkdir -p "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game" | |
| cp \ | |
| "${{ github.workspace }}/MATRIX/LocRes-Builder/OUTPUT/${LOCRES_VERSION}/Game/${LANGUAGE}/Game.locres" \ | |
| "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/Game.locres.${LOCRES_VERSION}" | |
| done | |
| echo "::endgroup::" | |
| YAML_to_ETP: | |
| needs: [Checkout_Repos, LocRes-Builder-Input, LocRes-Builder-Output] | |
| runs-on: self-hosted | |
| steps: | |
| - name: Setup Python | |
| id: setup_python | |
| uses: actions/setup-python@v4 | |
| with: | |
| architecture: "x64" | |
| # python-version: '3.x' | |
| python-version: "3.11" | |
| - name: cache virtualenv | |
| uses: actions/cache@v3 | |
| id: setup_cache | |
| with: | |
| path: ./MATRIX/dqx_dat_dump/venv/ | |
| key: ${{ runner.os }}-${{ steps.setup_python.outputs.python-version }}-venv-${{ hashFiles('requirements.txt') }} | |
| restore-keys: | | |
| ${{ runner.os }}-${{ steps.setup_python.outputs.python-version }}-venv- | |
| - name: Split ETP.yaml | |
| run: | | |
| cd "${{ github.workspace }}/MATRIX/dqx-offline-localization/Steam/App_ID-1358750/Build_ID-14529657/pakchunk0-WindowsNoEditor.pak/Game/Content/NonAssets/ETP" | |
| echo -e "Splitting ETP.yaml" | |
| yq -s "keys[], . = .[]" \ | |
| "./ETP.yaml" \ | |
| --yaml-fix-merge-anchor-to-spec -o json | |
| rm "./anchors.json" | |
| - name: dqx_dat_dump ( no cache ) | |
| if: steps.setup_cache.outputs.cache-hit != 'true' | |
| run: | | |
| cd "${{ github.workspace }}/MATRIX/dqx_dat_dump" | |
| python -m venv venv | |
| source ./venv/bin/activate | |
| pip install -r requirements.txt | |
| cd ./tools/packing/ | |
| for LANGUAGE in de en es fr it ja ko pt-BR zh-Hans zh-Hant; do | |
| echo -e "::group::Packing \033[0;32m ETP_${LANGUAGE}\033[0m" | |
| python pack_etp--KwK_20250626.py -L ${LANGUAGE} | |
| echo "::endgroup::" | |
| done | |
| deactivate | |
| cd ~ | |
| - name: dqx_dat_dump ( cache ) | |
| if: steps.setup_cache.outputs.cache-hit == 'true' | |
| run: | | |
| cd "${{ github.workspace }}/MATRIX/dqx_dat_dump" | |
| source ./venv/bin/activate | |
| cd ./tools/packing/ | |
| for LANGUAGE in de en es fr it ja ko pt-BR zh-Hans zh-Hant; do | |
| echo -e "::group::Packing \033[0;32m ETP_${LANGUAGE}\033[0m" | |
| python pack_etp--KwK_20250626.py -L ${LANGUAGE} | |
| echo "::endgroup::" | |
| done | |
| deactivate | |
| cd ~ | |
| UnrealPak_-Create: | |
| needs: [Checkout_Repos, LocRes-Builder-Input, LocRes-Builder-Output, YAML_to_ETP] | |
| runs-on: self-hosted | |
| steps: | |
| - name: UnrealPak -Create | |
| run: | | |
| mkdir -p \ | |
| "${{ github.workspace }}/MATRIX/releases" | |
| for PLATFORM in Android_ETC2 ios ps4 Switch WindowsNoEditor; do\ | |
| for LANGUAGE in de en es fr it ja ko pt-BR zh-Hans zh-Hant; do\ | |
| echo -e "::group::Creating \033[0;34m Titlescreen Version Info \033[0m" | |
| mkdir -p "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Settings/Version" | |
| jq -n "{\"AppVersionString\": \"2.0.1\n$(echo -e ${LANGUAGE}_v$(date -u +%Y.%m.%d ))\n${PLATFORM}\"}" \ | |
| > "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Settings/Version/version_settings.json" | |
| echo -e "$(jq -n "{\"AppVersionString\": \"2.0.1\n$(echo -e ${LANGUAGE}_v$(date -u +%Y.%m.%d ))\n${PLATFORM}\"}")" | |
| echo "::endgroup::" | |
| for VERSION in Optimized_CRC32 Optimized_CityHash64_UTF16; do\ | |
| if [[ ${VERSION} == @(Optimized_CRC32) ]]; then | |
| if [[ ${PLATFORM} == @(Android_ETC2|ios) ]]; then | |
| continue | |
| elif [[ ${PLATFORM} == @(ps4|Switch) ]]; then | |
| DESTINATION="Holiday"; | |
| else | |
| DESTINATION="Game"; | |
| fi | |
| LOCRES_VERSION="Optimized_CRC32"; | |
| LOCRES_VERSION_ID=2; | |
| echo -e "::group::Creating \033[0;34m ja to ko + zh-Hans + zh-Hant fail-safes \033[0m" | |
| mkdir -p \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/ja | |
| cp \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/Game.locres.${VERSION} \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/ja/Game.locres | |
| echo "::endgroup::" | |
| echo -e "::group::Creating \033[0;34m responseFile--pakchunk0-${PLATFORM}_${LOCRES_VERSION_ID}_Dialogue_Latest.pak.txt \033[0m" | |
| echo -e \ | |
| "\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Localization\\Game\\ja\\Game.locres\" \"../../../${DESTINATION}/Content/Localization/Game/ja/Game.locres\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP/\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Settings\\Version\\\version_settings.json\" \"../../../${DESTINATION}/Content/Settings/Version/version_settings.json\"\ | |
| " | sed -e 's/ /\n/g ; s/^[[:space:]]*//g ; s/[[:space:]]*$//g' > ${{ github.workspace }}/MATRIX/staging/responseFile--pakchunk0-${PLATFORM}_${LOCRES_VERSION_ID}_Dialogue_Latest.pak.txt | |
| echo -e \ | |
| "\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Localization\\Game\\ja\\Game.locres\" \"../../../${DESTINATION}/Content/Localization/Game/ja/Game.locres\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP/\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Settings\\Version\\\version_settings.json\" \"../../../${DESTINATION}/Content/Settings/Version/version_settings.json\"\ | |
| " | sed -e 's/ /\n/g ; s/^[[:space:]]*//g ; s/[[:space:]]*$//g' | |
| echo "::endgroup::" | |
| else | |
| if [[ ${PLATFORM} == @(Switch) ]]; then | |
| continue | |
| elif [[ ${PLATFORM} == @(Android_ETC2|ios|ps4) ]]; then | |
| DESTINATION="Holiday"; | |
| else | |
| DESTINATION="Game"; | |
| fi | |
| LOCRES_VERSION="Optimized_CityHash64_UTF16"; | |
| LOCRES_VERSION_ID=3; | |
| echo -e "::group::Creating \033[0;34m ja to ko + zh-Hans + zh-Hant fail-safes \033[0m" | |
| mkdir -p \ | |
| "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/ko" \ | |
| "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/zh-Hans" \ | |
| "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/zh-Hant" \ | |
| "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_ko" \ | |
| "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_zh_hans" \ | |
| "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_zh_hant" | |
| cp \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/Game.locres.${LOCRES_VERSION} \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/ko/Game.locres | |
| cp \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/Game.locres.${LOCRES_VERSION} \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/zh-Hans/Game.locres | |
| cp \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/Game.locres.${LOCRES_VERSION} \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Localization/Game/zh-Hant/Game.locres | |
| cp \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP/* \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_ko | |
| cp \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP/* \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_zh_hans | |
| cp \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP/* \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_zh_hant | |
| echo "::endgroup::" | |
| echo -e "::group::Creating \033[0;34m responseFile--pakchunk0-${PLATFORM}_${LOCRES_VERSION_ID}_Dialogue_Latest.pak.txt \033[0m" | |
| echo -e \ | |
| "\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Localization\\Game\\ko\\Game.locres\" \"../../../${DESTINATION}/Content/Localization/Game/ko/Game.locres\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Localization\\Game\\zh-Hans\\Game.locres\" \"../../../${DESTINATION}/Content/Localization/Game/zh-Hans/Game.locres\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Localization\\Game\\zh-Hant\\Game.locres\" \"../../../${DESTINATION}/Content/Localization/Game/zh-Hant/Game.locres\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_ko\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_ko/\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_zh_hans\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_zh_hans/\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_zh_hant\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_zh_hant/\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Settings\\Version\\\version_settings.json\" \"../../../${DESTINATION}/Content/Settings/Version/version_settings.json\"\ | |
| " | sed -e 's/ /\n/g ; s/^[[:space:]]*//g ; s/[[:space:]]*$//g' > ${{ github.workspace }}/MATRIX/staging/responseFile--pakchunk0-${PLATFORM}_${LOCRES_VERSION_ID}_Dialogue_Latest.pak.txt | |
| echo -e \ | |
| "\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Localization\\Game\\ko\\Game.locres\" \"../../../${DESTINATION}/Content/Localization/Game/ko/Game.locres\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Localization\\Game\\zh-Hans\\Game.locres\" \"../../../${DESTINATION}/Content/Localization/Game/zh-Hans/Game.locres\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Localization\\Game\\zh-Hant\\Game.locres\" \"../../../${DESTINATION}/Content/Localization/Game/zh-Hant/Game.locres\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_ko\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_ko/\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_zh_hans\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_zh_hans/\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_zh_hant\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_zh_hant/\"\ | |
| \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Settings\\Version\\\version_settings.json\" \"../../../${DESTINATION}/Content/Settings/Version/version_settings.json\"\ | |
| " | sed -e 's/ /\n/g ; s/^[[:space:]]*//g ; s/[[:space:]]*$//g' | |
| echo "::endgroup::" | |
| fi | |
| echo -e "::group::Creating \033[0;34m pakchunk0-${PLATFORM}_${LANGUAGE}_v${LOCRES_VERSION_ID}_Dialogue_Latest_P.pak \033[0m" | |
| ~/UnrealEngine-4.27.2-release/Engine/Binaries/Linux/UnrealPak \ | |
| "../../../../actions-runner/_work/dqx-offline-localization/dqx-offline-localization/MATRIX/staging/${LANGUAGE}/pakchunk0-${PLATFORM}_${LANGUAGE}_v${LOCRES_VERSION_ID}_Dialogue_Latest_P.pak" \ | |
| -Create="../../../../actions-runner/_work/dqx-offline-localization/dqx-offline-localization/MATRIX/staging/responseFile--pakchunk0-${PLATFORM}_${LOCRES_VERSION_ID}_Dialogue_Latest.pak.txt" | |
| echo "::endgroup::" | |
| echo -e "::group::Creating \033[0;34m pakchunk0-${PLATFORM}_${LANGUAGE}_v${LOCRES_VERSION_ID}_Dialogue_Latest_P.pak.zip \033[0m" | |
| zip -uj \ | |
| ${{ github.workspace }}/MATRIX/releases/pakchunk0-${PLATFORM}_${LANGUAGE}_v${LOCRES_VERSION_ID}_Dialogue_Latest_P.pak.zip \ | |
| ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/pakchunk0-${PLATFORM}_${LANGUAGE}_v${LOCRES_VERSION_ID}_Dialogue_Latest_P.pak | |
| echo "::endgroup::" | |
| echo -e "::notice::\033[0;32m Successfully created: \033[0;34m pakchunk0-${PLATFORM}_${LANGUAGE}_v${LOCRES_VERSION_ID}_Dialogue_Latest_P.pak \033[0m\n" | |
| done; | |
| done; | |
| done; | |
| ######################################################################################################################################################################################################## | |
| # if [[ ${PLATFORM} == @(ps4|ps4_ZZZ) ]]; then | |
| # # filename priority fix | |
| # PLATFORM="ps4_ZZZ" | |
| # else | |
| # PLATFORM="${PLATFORM}" | |
| # fi | |
| ######################################################################################################################################################################################################## | |
| # UnrealPak_-Create: | |
| # needs: [Checkout_Repos, LocRes-Builder-Input, LocRes-Builder-Output, YAML_to_ETP] | |
| # runs-on: self-hosted | |
| # steps: | |
| # - name: UnrealPak -Create | |
| # run: | | |
| # mkdir -p \ | |
| # "${{ github.workspace }}/MATRIX/staging" \ | |
| # "${{ github.workspace }}/MATRIX/releases" | |
| # | |
| # for PLATFORM in Android_ETC2 ios ps4 Switch WindowsNoEditor; do\ | |
| # for LANGUAGE in de en es fr it ja ko pt-BR zh-Hans zh-Hant; do\ | |
| # mkdir -p \ | |
| # "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}" \ | |
| # "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_ko" \ | |
| # "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_zh_hans" \ | |
| # "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_zh_hant" | |
| # | |
| # cp \ | |
| # ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP/* \ | |
| # ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_ko | |
| # | |
| # cp \ | |
| # ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP/* \ | |
| # ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_zh_hans | |
| # | |
| # cp \ | |
| # ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP/* \ | |
| # ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/NonAssets/ETP_zh_hant | |
| # | |
| # if [[ ${PLATFORM} == @(Android_ETC2|ios|ps4|Switch) ]]; then | |
| # DESTINATION="Holiday"; | |
| # else | |
| # DESTINATION="Game"; | |
| # fi | |
| # echo -e "::group::Creating \033[0;34m Titlescreen Version Info \033[0m" | |
| # mkdir -p "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Settings/Version" | |
| # | |
| # jq -n "{\"AppVersionString\": \"2.0.1\n$(echo -e ${LANGUAGE}_v$(date -u +%Y.%m.%d ))\n${PLATFORM}\"}" \ | |
| # > "${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/Game/Content/Settings/Version/version_settings.json" | |
| # | |
| # echo -e "$(jq -n "{\"AppVersionString\": \"2.0.1\n$(echo -e ${LANGUAGE}_v$(date -u +%Y.%m.%d ))\n${PLATFORM}\"}")" | |
| # echo "::endgroup::" | |
| # | |
| # if [[ ${PLATFORM} == @(ps4|ps4_ZZZ) ]]; then | |
| # # filename priority fix | |
| # PLATFORM="ps4_ZZZ" | |
| # else | |
| # PLATFORM="${PLATFORM}" | |
| # fi | |
| # | |
| # echo -e "::group::Creating \033[0;34m responseFile--pakchunk0-${PLATFORM}_Latest.pak.txt \033[0m" | |
| # echo -e \ | |
| # "\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_ko\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_ko/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_zh_hans\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_zh_hans/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_zh_hant\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_zh_hant/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Localization\\Game\\\\${LANGUAGE}\\Game.locres\" \"../../../${DESTINATION}/Content/Localization/Game/ko/Game.locres\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Settings\\Version\\\version_settings.json\" \"../../../${DESTINATION}/Content/Settings/Version/version_settings.json\"\ | |
| # " | sed -e 's/ /\n/g ; s/^[[:space:]]*//g ; s/[[:space:]]*$//g' > ${{ github.workspace }}/MATRIX/staging/responseFile--pakchunk0-${PLATFORM}_Latest.pak.txt | |
| # | |
| # echo -e \ | |
| # "\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_ko\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_ko/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_zh_hans\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_zh_hans/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\NonAssets\\\ETP_zh_hant\*\" \"../../../${DESTINATION}/Content/NonAssets/ETP_zh_hant/\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Localization\\Game\\\\${LANGUAGE}\\Game.locres\" \"../../../${DESTINATION}/Content/Localization/Game/ko/Game.locres\"\ | |
| # \"..\\..\\..\\..\\\actions-runner\\_work\\dqx-offline-localization\\dqx-offline-localization\\MATRIX\\staging\\\\${LANGUAGE}\\Game\\Content\\Settings\\Version\\\version_settings.json\" \"../../../${DESTINATION}/Content/Settings/Version/version_settings.json\"\ | |
| # " | sed -e 's/ /\n/g ; s/^[[:space:]]*//g ; s/[[:space:]]*$//g' | |
| # echo "::endgroup::" | |
| # | |
| # echo -e "::group::Creating \033[0;34m pakchunk0-${PLATFORM}_${LANGUAGE}_Dialogue_Latest_P.pak \033[0m" | |
| # ~/UnrealEngine-4.27.2-release/Engine/Binaries/Linux/UnrealPak \ | |
| # "../../../../actions-runner/_work/dqx-offline-localization/dqx-offline-localization/MATRIX/staging/${LANGUAGE}/pakchunk0-${PLATFORM}_${LANGUAGE}_Dialogue_Latest_P.pak" \ | |
| # -Create="../../../../actions-runner/_work/dqx-offline-localization/dqx-offline-localization/MATRIX/staging/responseFile--pakchunk0-${PLATFORM}_Latest.pak.txt" | |
| # echo "::endgroup::" | |
| # | |
| # echo -e "::group::Creating \033[0;34m pakchunk0-${PLATFORM}_${LANGUAGE}_Dialogue_Latest_P.pak.zip \033[0m" | |
| # zip -uj \ | |
| # ${{ github.workspace }}/MATRIX/releases/pakchunk0-${PLATFORM}_${LANGUAGE}_Dialogue_Latest_P.pak.zip \ | |
| # ${{ github.workspace }}/MATRIX/staging/${LANGUAGE}/pakchunk0-${PLATFORM}_${LANGUAGE}_Dialogue_Latest_P.pak | |
| # echo "::endgroup::" | |
| # | |
| # echo -e "::notice::\033[0;32m Successfully created: \033[0;34m pakchunk0-${PLATFORM}_${LANGUAGE}_Dialogue_Latest_P.pak \033[0m\n" | |
| # done; | |
| # done; | |
| # | |
| ######################################################################################################################################################################################################## | |
| # Create_Latest_Release: | |
| # needs: [Checkout_Repos, LocRes-Builder, YAML_to_ETP, UnrealPak_-Create] | |
| # runs-on: self-hosted | |
| # steps: | |
| # - name: Create Release | |
| # env: | |
| # GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # run: | | |
| # gh release create Latest \ | |
| # ${{ github.workspace }}/MATRIX/releases/pakchunk0-ps4_*_Dialogue_Latest_P.pak.zip \ | |
| # ${{ github.workspace }}/MATRIX/releases/pakchunk0-Switch_*_Dialogue_Latest_P.pak.zip \ | |
| # ${{ github.workspace }}/MATRIX/releases/pakchunk0-WindowsNoEditor_*_Dialogue_Latest_P.pak.zip \ | |
| # --notes-file ${{ github.workspace }}/MATRIX/dqx-offline-localization/docs/CHANGELOG.md \ | |
| # --title "$(echo -e v$(date -u +%Y.%m.%d ))" | |
| # | |
| # echo "Successfully uploaded new files to [Releases/Latest](https://github.com/KodywithaK/dqx-offline-localization/releases/tag/Latest)." >> $GITHUB_STEP_SUMMARY | |
| # echo -e "\n::notice:: \033[0;32m Successfully uploaded new files to Latest release. \033[0m" | |
| # | |
| ######################################################################################################################################################################################################## | |
| # 202500921_2100: `Game.locres.yaml` > `Game.locres.json` | |
| # - To make use of anchors (&anchor) and aliases (*anchor), readability, & smaller file size | |
| # ```bash | |
| # clear && \ | |
| # yq "." -o=json \ | |
| # "/mnt/r/\${{ github.workspace }}/MATRIX/dqx-offline-localization/Steam/App_ID-1358750/Build_ID-14529657/pakchunk0-WindowsNoEditor.pak/Game/Content/Localization/Game/Game.locres.yaml" \ | |
| # > "/mnt/r/\${{ github.workspace }}/MATRIX/dqx-offline-localization/Steam/App_ID-1358750/Build_ID-14529657/BACKLOG/pakchunk0-WindowsNoEditor.pak/Game/Content/Localization/Game/Game.locres.json" | |
| # ``` | |
| # | |
| ######################################################################################################################################################################################################## | |
| # 20250713_2100: `gh release edit` still not supported by github actions | |
| # ```bash | |
| # gh release delete Latest --yes | |
| # | |
| # gh release edit Multi-Languages \ | |
| # --title "(echo -e $(gh release list --json name -q ".[1].name"))" \ | |
| # --tag "previous" | |
| # ``` | |
| # | |
| ######################################################################################################################################################################################################## | |
| # 20250728_1600: gh release edit Latest | |
| # ```cmd | |
| # FOR /F "usebackq" %A IN (`gh release list --json name -q "sort | reverse | .[0].name"`) DO @ECHO gh release edit Latest --title "%A" --tag "%A" | |
| # ``` | |
| # | |
| ######################################################################################################################################################################################################## | |
| # 20250807_0000: Release PS4 `.pkg` | |
| # - see TODO.md | |
| # - .github/workflows/Create_Latest_Release.yml | |
| # - PS4 `.pkg` | |
| # | |
| ######################################################################################################################################################################################################## | |
| # 20250808_0100: `Game.locres.json` > `OUTPUT/StringTables/${LANGUAGE}/**/*.csv` | |
| # - see TODO.md | |
| # - .github/workflows/Create_Latest_Release.yml | |
| # - `Game.locres.json` > `OUTPUT/StringTables/${LANGUAGE}/**/*.csv` | |
| # - Invalid workflow file: .github/workflows/Create_Latest_Release_DEBUG.yml#L1 | |
| # (Line: 195, Col: 14): Exceeded max expression length 21000 | |
| # - Optimize/add `run` step(s)? | |
| # | |
| # ```yaml | |
| # gh release create Latest \ | |
| # ... | |
| # ${{ github.workspace }}/MATRIX/releases/StringTables.zip \ | |
| # ... | |
| # ``` | |
| ######################################################################################################################################################################################################## |