Compare commits
151 Commits
pre0.17.6-
...
v0.17.7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9e442a3073 | ||
|
|
bc8b7e733b | ||
|
|
94aa84e380 | ||
|
|
c462c28640 | ||
|
|
b5fbf9cade | ||
|
|
e88957296f | ||
|
|
9e61cb995a | ||
|
|
89a5a718da | ||
|
|
43649c54a3 | ||
|
|
b2b5c99425 | ||
|
|
9e882e6188 | ||
|
|
e688458cfd | ||
|
|
b7c528f5ac | ||
|
|
c743fdcffc | ||
|
|
56e19dd91e | ||
|
|
308512d36a | ||
|
|
749806e553 | ||
|
|
78223334ee | ||
|
|
7f50161ca7 | ||
|
|
dd872a72b2 | ||
|
|
0df17cb4ee | ||
|
|
27244dae04 | ||
|
|
c472d6cbd7 | ||
|
|
e4c786a5d4 | ||
|
|
e291a070f3 | ||
|
|
6b16fcd5f5 | ||
|
|
d79279d1cd | ||
|
|
03fbfaa577 | ||
|
|
8231021426 | ||
|
|
784b2074f8 | ||
|
|
93c9977c86 | ||
|
|
ad1b129dfa | ||
|
|
2d4856551b | ||
|
|
4d0e72d61e | ||
|
|
9b20ec6941 | ||
|
|
5a02265018 | ||
|
|
0dd5c46fd1 | ||
|
|
55831339dd | ||
|
|
e0ba04e579 | ||
|
|
d5f7a6ddd0 | ||
|
|
66a3354883 | ||
|
|
55218e4563 | ||
|
|
081b769ac6 | ||
|
|
8f767b3ab9 | ||
|
|
a2eb7e4a54 | ||
|
|
2de663703b | ||
|
|
40a587dcc4 | ||
|
|
f366a63c8f | ||
|
|
8c603fadee | ||
|
|
5e9ef8d3ab | ||
|
|
2e9cef3ed8 | ||
|
|
354d4f80bf | ||
|
|
a578d537cd | ||
|
|
85ff1cd1c3 | ||
|
|
0d015de359 | ||
|
|
5a0a473d4a | ||
|
|
420ff9a556 | ||
|
|
4f6e99daa2 | ||
|
|
10a57ecc18 | ||
|
|
b101d74df5 | ||
|
|
97d4e58d47 | ||
|
|
b436645ab7 | ||
|
|
af7c73f9f0 | ||
|
|
7d44396b03 | ||
|
|
bd428f355a | ||
|
|
2d6d897e2a | ||
|
|
4913deb15f | ||
|
|
0cb9d3990c | ||
|
|
388e8e1fe1 | ||
|
|
42168ddf16 | ||
|
|
134773765c | ||
|
|
74b099d58f | ||
|
|
c1936441dd | ||
|
|
dc3b7c0825 | ||
|
|
86910f2956 | ||
|
|
7b1df65e64 | ||
|
|
04559efaca | ||
|
|
b668fa4750 | ||
|
|
a4db061485 | ||
|
|
d4d97f1e7f | ||
|
|
e682202b60 | ||
|
|
2480987f10 | ||
|
|
b0acdce294 | ||
|
|
7953cf735b | ||
|
|
d074a85fbc | ||
|
|
543e85e94c | ||
|
|
23f43df737 | ||
|
|
43b6ff7697 | ||
|
|
6ecc80ac0f | ||
|
|
3ae0e80ce5 | ||
|
|
d12f8a27e7 | ||
|
|
f9bbb8fce6 | ||
|
|
80984cddf9 | ||
|
|
8fb0b2e600 | ||
|
|
9a4e8ab4ec | ||
|
|
dc1973e049 | ||
|
|
ccb05230f2 | ||
|
|
7ac6f45b9b | ||
|
|
df7ab20636 | ||
|
|
c06961c9c8 | ||
|
|
37b76a1cb4 | ||
|
|
01d02a916d | ||
|
|
8e99565a9d | ||
|
|
f8d17b23b6 | ||
|
|
06f4bb4e1a | ||
|
|
6e00ff96ec | ||
|
|
468bbc8053 | ||
|
|
f41999c019 | ||
|
|
d259e05ca7 | ||
|
|
2491a436c2 | ||
|
|
7a55e447fc | ||
|
|
f3face791f | ||
|
|
9ccc019bb9 | ||
|
|
bc9f00d09f | ||
|
|
33c470dd38 | ||
|
|
9e0e93de5d | ||
|
|
16553e13a2 | ||
|
|
d031dc3a82 | ||
|
|
7297eb8ee8 | ||
|
|
55bcdd426b | ||
|
|
139e2e14c4 | ||
|
|
339b53115a | ||
|
|
03515b4490 | ||
|
|
9690a345a3 | ||
|
|
8324f72e90 | ||
|
|
15eefc0e9f | ||
|
|
d504bd3d49 | ||
|
|
fd4b4f1882 | ||
|
|
a176ef35a0 | ||
|
|
0fc7178589 | ||
|
|
76d985cc0f | ||
|
|
aa05e8857b | ||
|
|
bb89665fff | ||
|
|
eca1f00549 | ||
|
|
ca20b93632 | ||
|
|
f3d08bae1a | ||
|
|
ad4365faab | ||
|
|
e8c69f7c03 | ||
|
|
f4267cfe2a | ||
|
|
ce178d5b2b | ||
|
|
07eb296956 | ||
|
|
3eb982d00c | ||
|
|
c52d2d0cd0 | ||
|
|
f6c00ec8fb | ||
|
|
70d5be3613 | ||
|
|
1cedf7000f | ||
|
|
0aaa5d2193 | ||
|
|
8203f882b9 | ||
|
|
e1885bdb60 | ||
|
|
21c8355340 | ||
|
|
1db65c6d03 |
4
.github/actions/get-cc/action.yml
vendored
4
.github/actions/get-cc/action.yml
vendored
@@ -19,10 +19,10 @@ runs:
|
|||||||
using: "composite"
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
- run: |
|
- run: |
|
||||||
echo "::set-output name=tag::"$(if [ -z "${{ inputs.tag }}" ]
|
echo "tag="$(if [ -z "${{ inputs.tag }}" ]
|
||||||
then curl -w '%{url_effective}' -I -L -s -S https://github.com/${{ inputs.repo }}/releases/latest -o /dev/null | grep -o '\<[^/]*$'
|
then curl -w '%{url_effective}' -I -L -s -S https://github.com/${{ inputs.repo }}/releases/latest -o /dev/null | grep -o '\<[^/]*$'
|
||||||
else echo ${{ inputs.tag }}
|
else echo ${{ inputs.tag }}
|
||||||
fi)
|
fi) >> $GITHUB_OUTPUT
|
||||||
id: get-tag
|
id: get-tag
|
||||||
shell: bash
|
shell: bash
|
||||||
- uses: ./.github/actions/get-unzip
|
- uses: ./.github/actions/get-unzip
|
||||||
|
|||||||
389
.github/workflows/main.yml
vendored
389
.github/workflows/main.yml
vendored
@@ -20,6 +20,8 @@ jobs:
|
|||||||
version-name: ${{ steps.app-info.outputs.version-name }}
|
version-name: ${{ steps.app-info.outputs.version-name }}
|
||||||
version-string: ${{ steps.app-info.outputs.version-string }}
|
version-string: ${{ steps.app-info.outputs.version-string }}
|
||||||
version-code: ${{ steps.app-info.outputs.version-code }}
|
version-code: ${{ steps.app-info.outputs.version-code }}
|
||||||
|
update-title: ${{ steps.app-info.outputs.update-title }}
|
||||||
|
update-note: ${{ steps.app-info.outputs.update-note }}
|
||||||
commit-hash: ${{ steps.git-info.outputs.commit-hash }}
|
commit-hash: ${{ steps.git-info.outputs.commit-hash }}
|
||||||
base-name: ${{ steps.assemble-base-name.outputs.base-name }}
|
base-name: ${{ steps.assemble-base-name.outputs.base-name }}
|
||||||
steps:
|
steps:
|
||||||
@@ -32,92 +34,42 @@ jobs:
|
|||||||
shell: lua {0}
|
shell: lua {0}
|
||||||
run: |
|
run: |
|
||||||
local version = require "version"
|
local version = require "version"
|
||||||
print("::set-output name=app-name::Techmino")
|
os.execute('echo "app-name=Techmino" >> $GITHUB_OUTPUT')
|
||||||
print("::set-output name=version-name::"..version.name)
|
os.execute('echo "version-name=' .. version.name .. '" >> $GITHUB_OUTPUT')
|
||||||
print("::set-output name=version-string::"..version.string:gsub("%a", ""))
|
os.execute('echo "version-string=' .. version.string:gsub("%a", "") .. '" >> $GITHUB_OUTPUT')
|
||||||
print(("::set-output name=version-code::%d"):format(version.code))
|
os.execute('echo "version-code=' .. tostring(version.code) .. '" >> $GITHUB_OUTPUT')
|
||||||
|
|
||||||
|
local note = require 'parts.updateLog'
|
||||||
|
local p1 = note:find("\n%d") + 1
|
||||||
|
local p2 = note:find("\n", p1) - 1
|
||||||
|
os.execute('echo "update-title=' .. note:sub(p1, p2) .. '" >> $GITHUB_OUTPUT')
|
||||||
|
local p3 = note:find("\n", note:find("\n%d") + 1) + 1
|
||||||
|
local p4 = note:find("\n%d", p3 + 1)
|
||||||
|
updateNote = note:sub(p3, p4 - 2)
|
||||||
|
:gsub(" ", "- ")
|
||||||
|
:gsub(" ", "# ")
|
||||||
|
os.execute('echo "update-note<<EOF" >> $GITHUB_OUTPUT')
|
||||||
|
os.execute('echo "' .. updateNote .. '" >> $GITHUB_OUTPUT')
|
||||||
|
os.execute('echo "EOF" >> $GITHUB_OUTPUT')
|
||||||
- name: Get git info
|
- name: Get git info
|
||||||
id: git-info
|
id: git-info
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
COMMIT_HASH=$(git rev-parse --short ${{ GITHUB.SHA }})
|
COMMIT_HASH=$(git rev-parse --short ${{ GITHUB.SHA }})
|
||||||
echo ::set-output name=commit-hash::$COMMIT_HASH
|
echo "commit-hash=$COMMIT_HASH" >> $GITHUB_OUTPUT
|
||||||
- name: Assemble package base name
|
- name: Assemble package base name
|
||||||
id: assemble-base-name
|
id: assemble-base-name
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
BASE_NAME=Techmino_${{ steps.app-info.outputs.version-string }}_${{ steps.git-info.outputs.commit-hash }}_#${{ GITHUB.RUN_NUMBER }}
|
BASE_NAME=Techmino_${{ steps.app-info.outputs.version-string }}_${{ steps.git-info.outputs.commit-hash }}_#${{ GITHUB.RUN_NUMBER }}
|
||||||
echo ::set-output name=base-name::$BASE_NAME
|
echo "base-name=$BASE_NAME" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
build-core:
|
build-core:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: get-info
|
needs: get-info
|
||||||
env:
|
|
||||||
PACKAGE_NAME: ./${{ needs.get-info.outputs.base-name }}_Core.love
|
|
||||||
outputs:
|
|
||||||
download-url: ${{ steps.transfer.outputs.download-url }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
- uses: ./.github/actions/update-version
|
|
||||||
if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
|
|
||||||
with:
|
|
||||||
commit: ${{ needs.get-info.outputs.commit-hash }}
|
|
||||||
type: snapshot
|
|
||||||
- name: Build core love package
|
|
||||||
uses: 26F-Studio/love-actions-core@v1
|
|
||||||
with:
|
|
||||||
build-list: ./media/ ./parts/ ./Zframework/ ./conf.lua ./main.lua ./version.lua
|
|
||||||
package-path: ${{ env.CORE_LOVE_PACKAGE_PATH }}
|
|
||||||
- name: Upload core love package
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: ${{ env.CORE_LOVE_ARTIFACT_NAME }}
|
|
||||||
path: ${{ env.CORE_LOVE_PACKAGE_PATH }}
|
|
||||||
- name: Rename love package
|
|
||||||
run: mv ${{ env.CORE_LOVE_PACKAGE_PATH }} ${{ env.PACKAGE_NAME }}
|
|
||||||
- name: Upload artifact
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: ${{ needs.get-info.outputs.base-name }}_Core
|
|
||||||
path: ${{ env.PACKAGE_NAME }}
|
|
||||||
- name: Upload release
|
|
||||||
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
|
||||||
uses: softprops/action-gh-release@v1
|
|
||||||
with:
|
|
||||||
body: ${{ github.event.head_commit.message }}
|
|
||||||
files: ${{ env.PACKAGE_NAME }}
|
|
||||||
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
|
||||||
- name: Upload to WeTransfer
|
|
||||||
id: transfer
|
|
||||||
run: |
|
|
||||||
curl -sL https://git.io/file-transfer | sh
|
|
||||||
./transfer wet -s -p 16 --no-progress ${{ env.PACKAGE_NAME }} 2>&1>./wetransfer.log
|
|
||||||
echo "::set-output name=download-url::$(cat ./wetransfer.log | grep https | cut -f3 -d" ")"
|
|
||||||
- name: Show download link
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
echo "::notice title=Bare love package::${{ steps.transfer.outputs.download-url }}"
|
|
||||||
|
|
||||||
auto-test:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: build-core
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
- name: Love actions for testing
|
|
||||||
uses: 26F-Studio/love-actions-test@v1
|
|
||||||
with:
|
|
||||||
font-path: ./parts/fonts/proportional.otf
|
|
||||||
language-folder: ./parts/language
|
|
||||||
|
|
||||||
build-android:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [get-info, build-core, auto-test]
|
|
||||||
env:
|
env:
|
||||||
OUTPUT_FOLDER: ./build
|
OUTPUT_FOLDER: ./build
|
||||||
|
RELEASE_FOLDER: ./release
|
||||||
outputs:
|
outputs:
|
||||||
download-url: ${{ steps.transfer.outputs.download-url }}
|
download-url: ${{ steps.transfer.outputs.download-url }}
|
||||||
steps:
|
steps:
|
||||||
@@ -130,8 +82,92 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
os.system("echo ::set-output name=bundle-id::org.f26_studio." + re.sub(r"[^A-Za-z0-9]+", "_", "${{ needs.get-info.outputs.app-name }}") + ".snapshot")
|
with open(os.getenv('GITHUB_OUTPUT'), 'a') as f:
|
||||||
os.system("echo ::set-output name=product-name::" + re.sub(r"[^A-Za-z0-9]+", "_", "${{ needs.get-info.outputs.app-name }}") + "_Snapshot")
|
f.write('product-name=' + re.sub(r'[^A-Za-z0-9]+', '_', '${{ needs.get-info.outputs.app-name }}') + '\n')
|
||||||
|
- uses: ./.github/actions/update-version
|
||||||
|
if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
|
||||||
|
with:
|
||||||
|
commit: ${{ needs.get-info.outputs.commit-hash }}
|
||||||
|
type: snapshot
|
||||||
|
- name: Build core love package
|
||||||
|
uses: love-actions/love-actions-core@v1
|
||||||
|
with:
|
||||||
|
build-list: ./media/ ./parts/ ./Zframework/ ./conf.lua ./main.lua ./version.lua
|
||||||
|
package-path: ${{ env.CORE_LOVE_PACKAGE_PATH }}
|
||||||
|
- name: Upload core love package
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ${{ env.CORE_LOVE_ARTIFACT_NAME }}
|
||||||
|
path: ${{ env.CORE_LOVE_PACKAGE_PATH }}
|
||||||
|
- name: Rename love package
|
||||||
|
run: |
|
||||||
|
mkdir -p ${{ env.OUTPUT_FOLDER }}
|
||||||
|
mv ${{ env.CORE_LOVE_PACKAGE_PATH }} ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.love
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ${{ needs.get-info.outputs.base-name }}_Core_love
|
||||||
|
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.love
|
||||||
|
- name: Prepare for release
|
||||||
|
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mkdir -p ${{ env.RELEASE_FOLDER }}
|
||||||
|
cp ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.love ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Bare.love
|
||||||
|
- name: Upload release
|
||||||
|
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||||
|
uses: ncipollo/release-action@v1
|
||||||
|
with:
|
||||||
|
allowUpdates: true
|
||||||
|
artifacts: ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Bare.love
|
||||||
|
body: ${{ needs.get-info.outputs.update-note }}
|
||||||
|
name: ${{ needs.get-info.outputs.update-title }}
|
||||||
|
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
||||||
|
- name: Upload to WeTransfer
|
||||||
|
id: transfer
|
||||||
|
run: |
|
||||||
|
curl -sL https://git.io/file-transfer | sh
|
||||||
|
./transfer wet -s -p 16 --no-progress ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.love 2>&1>./wetransfer.log
|
||||||
|
echo "download-url=$(cat ./wetransfer.log | grep https | cut -f3 -d" ")" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
auto-test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build-core
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
- name: Love actions for testing
|
||||||
|
uses: love-actions/love-actions-test@v1
|
||||||
|
with:
|
||||||
|
font-path: ./parts/fonts/proportional.otf
|
||||||
|
language-folder: ./parts/language
|
||||||
|
|
||||||
|
build-android:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [get-info, build-core, auto-test]
|
||||||
|
env:
|
||||||
|
OUTPUT_FOLDER: ./build
|
||||||
|
RELEASE_FOLDER: ./release
|
||||||
|
outputs:
|
||||||
|
download-url: ${{ steps.transfer.outputs.download-url }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
- name: Process app name
|
||||||
|
id: process-app-name
|
||||||
|
shell: python3 {0}
|
||||||
|
run: |
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
with open(os.getenv('GITHUB_OUTPUT'), 'a') as f:
|
||||||
|
if "${{ env.BUILD_TYPE }}" == "dev":
|
||||||
|
f.write('bundle-id=org.f26_studio.' + re.sub(r'[^A-Za-z0-9]+', '_', '${{ needs.get-info.outputs.app-name }}') + '.snapshot\n')
|
||||||
|
f.write('product-name=' + re.sub(r'[^A-Za-z0-9]+', '_', '${{ needs.get-info.outputs.app-name }}') + '_Snapshot\n')
|
||||||
|
else:
|
||||||
|
f.write('bundle-id=org.f26_studio.' + re.sub(r'[^A-Za-z0-9]+', '_', '${{ needs.get-info.outputs.app-name }}') + '\n')
|
||||||
|
f.write('product-name=' + re.sub(r'[^A-Za-z0-9]+', '_', '${{ needs.get-info.outputs.app-name }}') + '\n')
|
||||||
- name: Download core love package
|
- name: Download core love package
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
@@ -150,7 +186,7 @@ jobs:
|
|||||||
mv ./ColdClear/arm64-v8a/libCCloader.so ./libAndroid/arm64-v8a/
|
mv ./ColdClear/arm64-v8a/libCCloader.so ./libAndroid/arm64-v8a/
|
||||||
- name: Build Android packages
|
- name: Build Android packages
|
||||||
id: build-packages
|
id: build-packages
|
||||||
uses: 26F-Studio/love-actions-android@v1
|
uses: love-actions/love-actions-android@v1
|
||||||
with:
|
with:
|
||||||
app-name: ${{ needs.get-info.outputs.app-name }}
|
app-name: ${{ needs.get-info.outputs.app-name }}
|
||||||
bundle-id: ${{ steps.process-app-name.outputs.bundle-id }}
|
bundle-id: ${{ steps.process-app-name.outputs.bundle-id }}
|
||||||
@@ -167,7 +203,7 @@ jobs:
|
|||||||
version-string: ${{ needs.get-info.outputs.version-string }}
|
version-string: ${{ needs.get-info.outputs.version-string }}
|
||||||
version-code: ${{ needs.get-info.outputs.version-code }}
|
version-code: ${{ needs.get-info.outputs.version-code }}
|
||||||
output-folder: ${{ env.OUTPUT_FOLDER }}
|
output-folder: ${{ env.OUTPUT_FOLDER }}
|
||||||
- name: Upload release artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: ${{ needs.get-info.outputs.base-name }}_Android_release
|
name: ${{ needs.get-info.outputs.base-name }}_Android_release
|
||||||
@@ -176,31 +212,31 @@ jobs:
|
|||||||
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
mkdir -p release
|
mkdir -p ${{ env.RELEASE_FOLDER }}
|
||||||
mv ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}-release.apk release/${{ steps.process-app-name.outputs.product-name }}.apk
|
cp ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}-release.apk ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Android.apk
|
||||||
- name: Upload release
|
- name: Upload release
|
||||||
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||||
uses: softprops/action-gh-release@v1
|
uses: ncipollo/release-action@v1
|
||||||
with:
|
with:
|
||||||
body: ${{ github.event.head_commit.message }}
|
allowUpdates: true
|
||||||
files: release/${{ steps.process-app-name.outputs.product-name }}.apk
|
artifacts: ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Android.apk
|
||||||
|
body: ${{ needs.get-info.outputs.update-note }}
|
||||||
|
name: ${{ needs.get-info.outputs.update-title }}
|
||||||
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
||||||
- name: Upload to WeTransfer
|
- name: Upload to WeTransfer
|
||||||
id: transfer
|
id: transfer
|
||||||
run: |
|
run: |
|
||||||
curl -sL https://git.io/file-transfer | sh
|
curl -sL https://git.io/file-transfer | sh
|
||||||
./transfer wet -s -p 16 --no-progress ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
./transfer wet -s -p 16 --no-progress ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
||||||
echo "::set-output name=download-url::$(cat ./wetransfer.log | grep https | cut -f3 -d" ")"
|
echo "download-url=$(cat ./wetransfer.log | grep https | cut -f3 -d" ")" >> $GITHUB_OUTPUT
|
||||||
- name: Show download link
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
echo "::notice title=Android packages::${{ steps.transfer.outputs.download-url }}"
|
|
||||||
|
|
||||||
build-ios:
|
build-ios:
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
|
if: github.event_name != 'pull_request'
|
||||||
needs: [get-info, build-core, auto-test]
|
needs: [get-info, build-core, auto-test]
|
||||||
env:
|
env:
|
||||||
OUTPUT_FOLDER: ./build
|
OUTPUT_FOLDER: ./build
|
||||||
|
RELEASE_FOLDER: ./release
|
||||||
outputs:
|
outputs:
|
||||||
download-url: ${{ steps.transfer.outputs.download-url }}
|
download-url: ${{ steps.transfer.outputs.download-url }}
|
||||||
steps:
|
steps:
|
||||||
@@ -213,8 +249,9 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
os.system("echo ::set-output name=bundle-id::org.26f-studio.techmino")
|
with open(os.getenv('GITHUB_OUTPUT'), 'a') as f:
|
||||||
os.system("echo ::set-output name=product-name::" + re.sub(r"[^A-Za-z0-9]+", "_", "${{ needs.get-info.outputs.app-name }}"))
|
f.write('bundle-id=org.26f-studio.techmino\n')
|
||||||
|
f.write('product-name=' + re.sub(r'[^A-Za-z0-9]+', '_', '${{ needs.get-info.outputs.app-name }}') + '\n')
|
||||||
- name: Download core love package
|
- name: Download core love package
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
@@ -226,7 +263,7 @@ jobs:
|
|||||||
dir: ./ColdClear
|
dir: ./ColdClear
|
||||||
- name: Build iOS packages
|
- name: Build iOS packages
|
||||||
id: build-packages
|
id: build-packages
|
||||||
uses: 26F-Studio/love-actions-ios@v1
|
uses: love-actions/love-actions-ios@v1
|
||||||
with:
|
with:
|
||||||
app-name: ${{ needs.get-info.outputs.app-name }}
|
app-name: ${{ needs.get-info.outputs.app-name }}
|
||||||
bundle-id: ${{ steps.process-app-name.outputs.bundle-id }}
|
bundle-id: ${{ steps.process-app-name.outputs.bundle-id }}
|
||||||
@@ -260,29 +297,34 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: ${{ needs.get-info.outputs.base-name }}_iOS_ipa
|
name: ${{ needs.get-info.outputs.base-name }}_iOS_ipa
|
||||||
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.ipa
|
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.ipa
|
||||||
|
- name: Prepare for release
|
||||||
|
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mkdir -p ${{ env.RELEASE_FOLDER }}
|
||||||
|
cp ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.ipa ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_iOS.ipa
|
||||||
- name: Upload release
|
- name: Upload release
|
||||||
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||||
uses: softprops/action-gh-release@v1
|
uses: ncipollo/release-action@v1
|
||||||
with:
|
with:
|
||||||
body: ${{ github.event.head_commit.message }}
|
allowUpdates: true
|
||||||
files: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.ipa
|
artifacts: ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_iOS.ipa
|
||||||
|
body: ${{ needs.get-info.outputs.update-note }}
|
||||||
|
name: ${{ needs.get-info.outputs.update-title }}
|
||||||
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
||||||
- name: Upload to WeTransfer
|
- name: Upload to WeTransfer
|
||||||
id: transfer
|
id: transfer
|
||||||
run: |
|
run: |
|
||||||
wget -qO- https://github.com/Mikubill/transfer/releases/download/v0.4.17/transfer_0.4.17_darwin_amd64.tar.gz | tar xvz
|
wget -qO- https://github.com/Mikubill/transfer/releases/download/v0.4.17/transfer_0.4.17_darwin_amd64.tar.gz | tar xvz
|
||||||
./transfer wet -s -p 16 --no-progress ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
./transfer wet -s -p 16 --no-progress ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
||||||
echo "::set-output name=download-url::$(cat ./wetransfer.log | grep https | cut -f3 -d" ")"
|
echo "download-url=$(cat ./wetransfer.log | grep https | cut -f3 -d" ")" >> $GITHUB_OUTPUT
|
||||||
- name: Show download link
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
echo "::notice title=iOS packages::${{ steps.transfer.outputs.download-url }}"
|
|
||||||
|
|
||||||
build-linux:
|
build-linux:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [get-info, build-core, auto-test]
|
needs: [get-info, build-core, auto-test]
|
||||||
env:
|
env:
|
||||||
OUTPUT_FOLDER: ./build
|
OUTPUT_FOLDER: ./build
|
||||||
|
RELEASE_FOLDER: ./release
|
||||||
outputs:
|
outputs:
|
||||||
download-url: ${{ steps.transfer.outputs.download-url }}
|
download-url: ${{ steps.transfer.outputs.download-url }}
|
||||||
steps:
|
steps:
|
||||||
@@ -295,7 +337,8 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
os.system("echo ::set-output name=product-name::" + re.sub(r"[^A-Za-z0-9]+", "_", "${{ needs.get-info.outputs.app-name }}"))
|
with open(os.getenv('GITHUB_OUTPUT'), 'a') as f:
|
||||||
|
f.write('product-name=' + re.sub(r'[^A-Za-z0-9]+', '_', '${{ needs.get-info.outputs.app-name }}') + '\n')
|
||||||
- name: Download core love package
|
- name: Download core love package
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
@@ -315,7 +358,7 @@ jobs:
|
|||||||
mv ./x64/CCloader.so ./shared
|
mv ./x64/CCloader.so ./shared
|
||||||
- name: Build Linux packages
|
- name: Build Linux packages
|
||||||
id: build-packages
|
id: build-packages
|
||||||
uses: 26F-Studio/love-actions-linux@v1
|
uses: love-actions/love-actions-linux@v1
|
||||||
with:
|
with:
|
||||||
desktop-file-path: ./.github/build/linux/${{ env.BUILD_TYPE }}/template.desktop
|
desktop-file-path: ./.github/build/linux/${{ env.BUILD_TYPE }}/template.desktop
|
||||||
executable-name: app
|
executable-name: app
|
||||||
@@ -328,31 +371,37 @@ jobs:
|
|||||||
- name: Upload AppImage artifact
|
- name: Upload AppImage artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: ${{ needs.get-info.outputs.base-name }}_Linux
|
name: ${{ needs.get-info.outputs.base-name }}_Linux_AppImage
|
||||||
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.AppImage
|
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.AppImage
|
||||||
|
- name: Prepare for release
|
||||||
|
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mkdir -p ${{ env.RELEASE_FOLDER }}
|
||||||
|
cp ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.AppImage ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Linux.AppImage
|
||||||
- name: Upload release
|
- name: Upload release
|
||||||
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||||
uses: softprops/action-gh-release@v1
|
uses: ncipollo/release-action@v1
|
||||||
with:
|
with:
|
||||||
body: ${{ github.event.head_commit.message }}
|
allowUpdates: true
|
||||||
files: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.AppImage
|
artifacts: ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Linux.AppImage
|
||||||
|
body: ${{ needs.get-info.outputs.update-note }}
|
||||||
|
name: ${{ needs.get-info.outputs.update-title }}
|
||||||
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
||||||
- name: Upload to WeTransfer
|
- name: Upload to WeTransfer
|
||||||
id: transfer
|
id: transfer
|
||||||
run: |
|
run: |
|
||||||
curl -sL https://git.io/file-transfer | sh
|
curl -sL https://git.io/file-transfer | sh
|
||||||
./transfer wet -s -p 16 --no-progress ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
./transfer wet -s -p 16 --no-progress ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
||||||
echo "::set-output name=download-url::$(cat ./wetransfer.log | grep https | cut -f3 -d" ")"
|
echo "download-url=$(cat ./wetransfer.log | grep https | cut -f3 -d" ")" >> $GITHUB_OUTPUT
|
||||||
- name: Show download link
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
echo "::notice title=Linux packages::${{ steps.transfer.outputs.download-url }}"
|
|
||||||
|
|
||||||
build-macos-appstore:
|
build-macos-appstore:
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
|
if: github.event_name != 'pull_request'
|
||||||
needs: [get-info, build-core, auto-test]
|
needs: [get-info, build-core, auto-test]
|
||||||
env:
|
env:
|
||||||
OUTPUT_FOLDER: ./build
|
OUTPUT_FOLDER: ./build
|
||||||
|
RELEASE_FOLDER: ./release
|
||||||
outputs:
|
outputs:
|
||||||
download-url: ${{ steps.transfer.outputs.download-url }}
|
download-url: ${{ steps.transfer.outputs.download-url }}
|
||||||
steps:
|
steps:
|
||||||
@@ -365,8 +414,9 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
os.system("echo ::set-output name=bundle-id::org.26f-studio.techmino")
|
with open(os.getenv('GITHUB_OUTPUT'), 'a') as f:
|
||||||
os.system("echo ::set-output name=product-name::" + re.sub(r"[^A-Za-z0-9]+", "_", "${{ needs.get-info.outputs.app-name }}"))
|
f.write('bundle-id=org.26f-studio.techmino\n')
|
||||||
|
f.write('product-name=' + re.sub(r'[^A-Za-z0-9]+', '_', '${{ needs.get-info.outputs.app-name }}') + '\n')
|
||||||
- name: Download core love package
|
- name: Download core love package
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
@@ -382,7 +432,7 @@ jobs:
|
|||||||
rm ./ColdClear/universal/libcold_clear.a
|
rm ./ColdClear/universal/libcold_clear.a
|
||||||
- name: Build macOS packages
|
- name: Build macOS packages
|
||||||
id: build-packages
|
id: build-packages
|
||||||
uses: 26F-Studio/love-actions-macos-appstore@v1
|
uses: love-actions/love-actions-macos-appstore@v1
|
||||||
with:
|
with:
|
||||||
app-name: ${{ needs.get-info.outputs.app-name }}
|
app-name: ${{ needs.get-info.outputs.app-name }}
|
||||||
bundle-id: ${{ steps.process-app-name.outputs.bundle-id }}
|
bundle-id: ${{ steps.process-app-name.outputs.bundle-id }}
|
||||||
@@ -415,29 +465,35 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: ${{ needs.get-info.outputs.base-name }}_macOS_appstore_pkg
|
name: ${{ needs.get-info.outputs.base-name }}_macOS_appstore_pkg
|
||||||
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.pkg
|
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.pkg
|
||||||
|
- name: Prepare for release
|
||||||
|
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mkdir -p ${{ env.RELEASE_FOLDER }}
|
||||||
|
cp ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.pkg ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_macOS_appstore.pkg
|
||||||
- name: Upload release
|
- name: Upload release
|
||||||
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||||
uses: softprops/action-gh-release@v1
|
uses: ncipollo/release-action@v1
|
||||||
with:
|
with:
|
||||||
body: ${{ github.event.head_commit.message }}
|
allowUpdates: true
|
||||||
files: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.pkg
|
artifacts: ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_macOS_appstore.pkg
|
||||||
|
body: ${{ needs.get-info.outputs.update-note }}
|
||||||
|
name: ${{ needs.get-info.outputs.update-title }}
|
||||||
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
||||||
- name: Upload to WeTransfer
|
- name: Upload to WeTransfer
|
||||||
id: transfer
|
id: transfer
|
||||||
run: |
|
run: |
|
||||||
wget -qO- https://github.com/Mikubill/transfer/releases/download/v0.4.17/transfer_0.4.17_darwin_amd64.tar.gz | tar xvz
|
wget -qO- https://github.com/Mikubill/transfer/releases/download/v0.4.17/transfer_0.4.17_darwin_amd64.tar.gz | tar xvz
|
||||||
./transfer wet -s -p 16 --no-progress ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
./transfer wet -s -p 16 --no-progress ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
||||||
echo "::set-output name=download-url::$(cat ./wetransfer.log | grep https | cut -f3 -d" ")"
|
echo "download-url=$(cat ./wetransfer.log | grep https | cut -f3 -d" ")" >> $GITHUB_OUTPUT
|
||||||
- name: Show download link
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
echo "::notice title=macOS App Store packages::${{ steps.transfer.outputs.download-url }}"
|
|
||||||
|
|
||||||
build-macos-portable:
|
build-macos-portable:
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
|
if: github.event_name != 'pull_request'
|
||||||
needs: [get-info, build-core, auto-test]
|
needs: [get-info, build-core, auto-test]
|
||||||
env:
|
env:
|
||||||
OUTPUT_FOLDER: ./build
|
OUTPUT_FOLDER: ./build
|
||||||
|
RELEASE_FOLDER: ./release
|
||||||
outputs:
|
outputs:
|
||||||
download-url: ${{ steps.transfer.outputs.download-url }}
|
download-url: ${{ steps.transfer.outputs.download-url }}
|
||||||
steps:
|
steps:
|
||||||
@@ -450,8 +506,9 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
os.system("echo ::set-output name=bundle-id::org.26f-studio.techmino")
|
with open(os.getenv('GITHUB_OUTPUT'), 'a') as f:
|
||||||
os.system("echo ::set-output name=product-name::" + re.sub(r"[^A-Za-z0-9]+", "_", "${{ needs.get-info.outputs.app-name }}"))
|
f.write('bundle-id=org.26f-studio.techmino\n')
|
||||||
|
f.write('product-name=' + re.sub(r'[^A-Za-z0-9]+', '_', '${{ needs.get-info.outputs.app-name }}') + '\n')
|
||||||
- name: Download core love package
|
- name: Download core love package
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
@@ -467,7 +524,7 @@ jobs:
|
|||||||
rm ./ColdClear/universal/libcold_clear.a
|
rm ./ColdClear/universal/libcold_clear.a
|
||||||
- name: Build macOS packages
|
- name: Build macOS packages
|
||||||
id: build-packages
|
id: build-packages
|
||||||
uses: 26F-Studio/love-actions-macos-portable@v1
|
uses: love-actions/love-actions-macos-portable@v1
|
||||||
with:
|
with:
|
||||||
app-name: ${{ needs.get-info.outputs.app-name }}
|
app-name: ${{ needs.get-info.outputs.app-name }}
|
||||||
bundle-id: ${{ steps.process-app-name.outputs.bundle-id }}
|
bundle-id: ${{ steps.process-app-name.outputs.bundle-id }}
|
||||||
@@ -509,31 +566,35 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: ${{ needs.get-info.outputs.base-name }}_macOS_portable_bare
|
name: ${{ needs.get-info.outputs.base-name }}_macOS_portable_bare
|
||||||
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.zip
|
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.zip
|
||||||
|
- name: Prepare for release
|
||||||
|
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mkdir -p ${{ env.RELEASE_FOLDER }}
|
||||||
|
cp ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.pkg ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_macOS_portable.pkg
|
||||||
|
cp ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.dmg ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_macOS_portable.dmg
|
||||||
- name: Upload release
|
- name: Upload release
|
||||||
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||||
uses: softprops/action-gh-release@v1
|
uses: ncipollo/release-action@v1
|
||||||
with:
|
with:
|
||||||
body: ${{ github.event.head_commit.message }}
|
allowUpdates: true
|
||||||
files: |
|
artifacts: ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_macOS_portable.pkg, ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_macOS_portable.dmg
|
||||||
${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.pkg
|
body: ${{ needs.get-info.outputs.update-note }}
|
||||||
${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.dmg
|
name: ${{ needs.get-info.outputs.update-title }}
|
||||||
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
||||||
- name: Upload to WeTransfer
|
- name: Upload to WeTransfer
|
||||||
id: transfer
|
id: transfer
|
||||||
run: |
|
run: |
|
||||||
wget -qO- https://github.com/Mikubill/transfer/releases/download/v0.4.17/transfer_0.4.17_darwin_amd64.tar.gz | tar xvz
|
wget -qO- https://github.com/Mikubill/transfer/releases/download/v0.4.17/transfer_0.4.17_darwin_amd64.tar.gz | tar xvz
|
||||||
./transfer wet -s -p 16 --no-progress ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
./transfer wet -s -p 16 --no-progress ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
||||||
echo "::set-output name=download-url::$(cat ./wetransfer.log | grep https | cut -f3 -d" ")"
|
echo "download-url=$(cat ./wetransfer.log | grep https | cut -f3 -d" ")" >> $GITHUB_OUTPUT
|
||||||
- name: Show download link
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
echo "::notice title=macOS portable packages::${{ steps.transfer.outputs.download-url }}"
|
|
||||||
|
|
||||||
build-windows:
|
build-windows:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
needs: [get-info, build-core, auto-test]
|
needs: [get-info, build-core, auto-test]
|
||||||
env:
|
env:
|
||||||
OUTPUT_FOLDER: ./build
|
OUTPUT_FOLDER: ./build
|
||||||
|
RELEASE_FOLDER: ./release
|
||||||
outputs:
|
outputs:
|
||||||
download-url: ${{ steps.transfer.outputs.download-url }}
|
download-url: ${{ steps.transfer.outputs.download-url }}
|
||||||
steps:
|
steps:
|
||||||
@@ -546,18 +607,26 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
os.system("echo ::set-output name=product-name::" + re.sub(r"[^A-Za-z0-9]+", "_", "${{ needs.get-info.outputs.app-name }}"))
|
with open(os.getenv('GITHUB_OUTPUT'), 'a') as f:
|
||||||
|
f.write('product-name=' + re.sub(r'[^A-Za-z0-9]+', '_', '${{ needs.get-info.outputs.app-name }}') + '\n')
|
||||||
- name: Download core love package
|
- name: Download core love package
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: ${{ env.CORE_LOVE_ARTIFACT_NAME }}
|
name: ${{ env.CORE_LOVE_ARTIFACT_NAME }}
|
||||||
|
- name: Download ColdClear
|
||||||
|
uses: ./.github/actions/get-cc
|
||||||
|
with:
|
||||||
|
platform: Windows
|
||||||
|
dir: ./ColdClear
|
||||||
- name: Build Windows packages
|
- name: Build Windows packages
|
||||||
id: build-packages
|
id: build-packages
|
||||||
uses: 26F-Studio/love-actions-windows@v1
|
uses: love-actions/love-actions-windows@v1
|
||||||
with:
|
with:
|
||||||
icon-path: ./.github/build/windows/${{ env.BUILD_TYPE }}/icon.ico
|
icon-path: ./.github/build/windows/${{ env.BUILD_TYPE }}/icon.ico
|
||||||
rc-path: ./.github/build/windows/${{ env.BUILD_TYPE }}/template.rc
|
rc-path: ./.github/build/windows/${{ env.BUILD_TYPE }}/template.rc
|
||||||
love-package: ${{ env.CORE_LOVE_PACKAGE_PATH }}
|
love-package: ${{ env.CORE_LOVE_PACKAGE_PATH }}
|
||||||
|
extra-assets-x86: ./ColdClear/x86/CCloader.dll ./ColdClear/x86/cold_clear.dll
|
||||||
|
extra-assets-x64: ./ColdClear/x64/CCloader.dll ./ColdClear/x64/cold_clear.dll
|
||||||
product-name: ${{ steps.process-app-name.outputs.product-name }}
|
product-name: ${{ steps.process-app-name.outputs.product-name }}
|
||||||
version-string: ${{ needs.get-info.outputs.version-string }}
|
version-string: ${{ needs.get-info.outputs.version-string }}
|
||||||
output-folder: ${{ env.OUTPUT_FOLDER }}
|
output-folder: ${{ env.OUTPUT_FOLDER }}
|
||||||
@@ -571,14 +640,21 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: ${{ needs.get-info.outputs.base-name }}_Windows_x64
|
name: ${{ needs.get-info.outputs.base-name }}_Windows_x64
|
||||||
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_x64.zip
|
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_x64.zip
|
||||||
|
- name: Prepare for release
|
||||||
|
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mkdir -p ${{ env.RELEASE_FOLDER }}
|
||||||
|
cp ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_x86.zip ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Windows_x86.zip
|
||||||
|
cp ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_x64.zip ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Windows_x64.zip
|
||||||
- name: Upload release
|
- name: Upload release
|
||||||
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||||
uses: softprops/action-gh-release@v1
|
uses: ncipollo/release-action@v1
|
||||||
with:
|
with:
|
||||||
body: ${{ github.event.head_commit.message }}
|
allowUpdates: true
|
||||||
files: |
|
artifacts: ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Windows_x86.zip, ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Windows_x64.zip
|
||||||
${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_x86.zip
|
body: ${{ needs.get-info.outputs.update-note }}
|
||||||
${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_x64.zip
|
name: ${{ needs.get-info.outputs.update-title }}
|
||||||
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
||||||
- name: Get transfer
|
- name: Get transfer
|
||||||
env:
|
env:
|
||||||
@@ -590,13 +666,10 @@ jobs:
|
|||||||
rm ${{ env.TEMP_PATH }}
|
rm ${{ env.TEMP_PATH }}
|
||||||
- name: Upload to WeTransfer
|
- name: Upload to WeTransfer
|
||||||
id: transfer
|
id: transfer
|
||||||
|
shell: pwsh
|
||||||
run: |
|
run: |
|
||||||
./transfer wet -s -p 16 --no-progress ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
./transfer.exe wet -s -p 16 --no-progress ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
||||||
echo "::set-output name=download-url::$(cat ./wetransfer.log | grep https | cut -f3 -d" ")"
|
"download-url=$(cat ./wetransfer.log | grep https | cut -f3 -d" ")" >> $env:GITHUB_OUTPUT
|
||||||
- name: Show download link
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
echo "::notice title=Windows packages::${{ steps.transfer.outputs.download-url }}"
|
|
||||||
|
|
||||||
post-build:
|
post-build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -618,11 +691,37 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Cleanup
|
- name: Cleanup
|
||||||
uses: geekyeggo/delete-artifact@v1
|
uses: geekyeggo/delete-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: ${{ env.CORE_LOVE_ARTIFACT_NAME }}
|
name: ${{ env.CORE_LOVE_ARTIFACT_NAME }}
|
||||||
|
- name: Display summary
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo "# Summary" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "## Version: ${{ needs.get-info.outputs.version-string }}" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "## Package Name: ${{ needs.get-info.outputs.base-name }}" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "## Download links: " >> $GITHUB_STEP_SUMMARY
|
||||||
|
- name: Display download links
|
||||||
|
shell: python3 {0}
|
||||||
|
run: |
|
||||||
|
import os
|
||||||
|
with open(os.getenv('GITHUB_STEP_SUMMARY'), 'a') as f:
|
||||||
|
if "${{ needs.build-core.result }}" == "success":
|
||||||
|
f.write("- Bare love packages: [WeTransfer](${{ needs.build-core.outputs.download-url }})\n")
|
||||||
|
if "${{ needs.build-android.result }}" == "success":
|
||||||
|
f.write("- Android packages: [WeTransfer](${{ needs.build-android.outputs.download-url }})\n")
|
||||||
|
if "${{ needs.build-ios.result }}" == "success":
|
||||||
|
f.write("- iOS packages: [WeTransfer](${{ needs.build-ios.outputs.download-url }})\n")
|
||||||
|
if "${{ needs.build-linux.result }}" == "success":
|
||||||
|
f.write("- Linux packages: [WeTransfer](${{ needs.build-linux.outputs.download-url }})\n")
|
||||||
|
if "${{ needs.build-macos-appstore.result }}" == "success":
|
||||||
|
f.write("- macOS packages(App Store version): [WeTransfer](${{ needs.build-macos-appstore.outputs.download-url }})\n")
|
||||||
|
if "${{ needs.build-macos-portable.result }}" == "success":
|
||||||
|
f.write("- macOS packages(Portable version): [WeTransfer](${{ needs.build-macos-portable.outputs.download-url }})\n")
|
||||||
|
if "${{ needs.build-windows.result }}" == "success":
|
||||||
|
f.write("- Windows packages: [WeTransfer](${{ needs.build-windows.outputs.download-url }})\n")
|
||||||
- name: Send Discord message
|
- name: Send Discord message
|
||||||
uses: Sniddl/discord-commits@v1.3
|
uses: Sniddl/discord-commits@v1.5
|
||||||
with:
|
with:
|
||||||
webhook: ${{ secrets.DISCORD_WEBHOOK }}
|
webhook: ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
message: "Github Actions for **${{ github.repository }}**."
|
message: "Github Actions for **${{ github.repository }}**."
|
||||||
|
|||||||
Submodule Zframework updated: 5130161bb1...24864eda21
79
main.lua
79
main.lua
@@ -16,21 +16,19 @@
|
|||||||
|
|
||||||
|
|
||||||
-- Var leak check
|
-- Var leak check
|
||||||
-- setmetatable(_G,{__newindex=function(self,k,v)print('>>'..k)print(debug.traceback():match("\n.-\n\t(.-): "))rawset(self,k,v)end})
|
-- setmetatable(_G,{__newindex=function(self,k,v) print('>>'..k..string.rep(" ",26-#k),debug.traceback():match("\n.-\n\t(.-): "))rawset(self,k,v) end})
|
||||||
|
|
||||||
-- System Global Vars Declaration
|
-- System Global Vars Declaration
|
||||||
local fs=love.filesystem
|
local fs=love.filesystem
|
||||||
VERSION=require"version"
|
VERSION=require"version"
|
||||||
TIME=love.timer.getTime
|
TIME=love.timer.getTime
|
||||||
YIELD=coroutine.yield
|
|
||||||
SYSTEM=love.system.getOS() if SYSTEM=='OS X' then SYSTEM='macOS' end
|
SYSTEM=love.system.getOS() if SYSTEM=='OS X' then SYSTEM='macOS' end
|
||||||
FNNS=SYSTEM:find'\79\83'-- What does FNSF stand for? IDK so don't ask me lol
|
FNNS=SYSTEM:find'\79\83'-- What does FNSF stand for? IDK so don't ask me lol
|
||||||
MOBILE=SYSTEM=='Android' or SYSTEM=='iOS'
|
MOBILE=SYSTEM=='Android' or SYSTEM=='iOS'
|
||||||
SAVEDIR=fs.getSaveDirectory()
|
|
||||||
|
|
||||||
-- Global Vars & Settings
|
-- Global Vars & Settings
|
||||||
SFXPACKS={'chiptune'}
|
SFXPACKS={'chiptune'}
|
||||||
VOCPACKS={'miya','mono','xiaoya','miku','rin'}
|
VOCPACKS={'miya','mono','xiaoya','miku'}
|
||||||
FIRSTLAUNCH=false
|
FIRSTLAUNCH=false
|
||||||
DAILYLAUNCH=false
|
DAILYLAUNCH=false
|
||||||
|
|
||||||
@@ -59,17 +57,16 @@ FONT.setFallback('norm')
|
|||||||
|
|
||||||
SCR.setSize(1280,720)-- Initialize Screen size
|
SCR.setSize(1280,720)-- Initialize Screen size
|
||||||
BGM.setMaxSources(5)
|
BGM.setMaxSources(5)
|
||||||
BGM.setChange(function(name)MES.new('music',text.nowPlaying..name,5)end)
|
|
||||||
VOC.setDiversion(.62)
|
VOC.setDiversion(.62)
|
||||||
|
|
||||||
WIDGET.setOnChange(function()
|
WIDGET.setOnChange(function()
|
||||||
if SCN.cur~='custom_field' then
|
if SCN.cur~='custom_field' then
|
||||||
local colorList=THEME.getThemeColor()
|
local colorList=THEME.getThemeColor()
|
||||||
if not colorList then return end
|
if colorList then
|
||||||
local rnd=math.random
|
|
||||||
for _,W in next,SCN.scenes[SCN.cur].widgetList do
|
for _,W in next,SCN.scenes[SCN.cur].widgetList do
|
||||||
if W.color then
|
if W.color then
|
||||||
W.color=colorList[rnd(#colorList)]
|
W.color=colorList[math.random(#colorList)]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -80,15 +77,14 @@ table.insert(_LOADTIMELIST_,("Load Zframework: %.3fs"):format(TIME()-_LOADTIME_)
|
|||||||
-- Create shortcuts
|
-- Create shortcuts
|
||||||
setFont=FONT.set
|
setFont=FONT.set
|
||||||
getFont=FONT.get
|
getFont=FONT.get
|
||||||
mStr=GC.mStr
|
|
||||||
mText=GC.simpX
|
mText=GC.simpX
|
||||||
mDraw=GC.draw
|
mDraw=GC.mDraw
|
||||||
Snd=SFX.playSample
|
Snd=SFX.playSample
|
||||||
string.repD=STRING.repD
|
string.repD=STRING.repD
|
||||||
string.sArg=STRING.sArg
|
string.sArg=STRING.sArg
|
||||||
string.split=STRING.split
|
string.split=STRING.split
|
||||||
|
|
||||||
--Delete all naked files (from too old version)
|
-- Delete all naked files (from ancient versions)
|
||||||
FILE.clear('')
|
FILE.clear('')
|
||||||
|
|
||||||
-- Create directories
|
-- Create directories
|
||||||
@@ -109,7 +105,7 @@ require'parts.gameFuncs'
|
|||||||
-- Load shader files from SOURCE ONLY
|
-- Load shader files from SOURCE ONLY
|
||||||
SHADER={}
|
SHADER={}
|
||||||
for _,v in next,fs.getDirectoryItems('parts/shaders') do
|
for _,v in next,fs.getDirectoryItems('parts/shaders') do
|
||||||
if isSafeFile('parts/shaders/'..v)then
|
if FILE.isSafe('parts/shaders/'..v) then
|
||||||
local name=v:sub(1,-6)
|
local name=v:sub(1,-6)
|
||||||
SHADER[name]=love.graphics.newShader('parts/shaders/'..name..'.glsl')
|
SHADER[name]=love.graphics.newShader('parts/shaders/'..name..'.glsl')
|
||||||
end
|
end
|
||||||
@@ -150,18 +146,16 @@ do--Z.setCursor
|
|||||||
{'dCirc',8,8,7},
|
{'dCirc',8,8,7},
|
||||||
{'fCirc',8,8,3},
|
{'fCirc',8,8,3},
|
||||||
}
|
}
|
||||||
local min,int,abs=math.min,math.floor,math.abs
|
local _
|
||||||
local gc_setColor,gc_draw=love.graphics.setColor,love.graphics.draw
|
|
||||||
local ms=love.mouse
|
|
||||||
Z.setCursor(function(time,x,y)
|
Z.setCursor(function(time,x,y)
|
||||||
if not SETTING.sysCursor then
|
if not SETTING.sysCursor then
|
||||||
local R=int((time+1)/2)%7+1
|
local R=math.floor((time+1)/2)%7+1
|
||||||
_=BLOCK_COLORS[SETTING.skin[R]]
|
_=BLOCK_COLORS[SETTING.skin[R]]
|
||||||
gc_setColor(_[1],_[2],_[3],min(abs(1-time%2),.3))
|
GC.setColor(_[1],_[2],_[3],math.min(math.abs(1-time%2),.3))
|
||||||
_=DSCP[R][0]
|
_=DSCP[R][0]
|
||||||
gc_draw(TEXTURE.miniBlock[R],x,y,time%3.14159265359*4,8,8,2*_[2]+1,2*(#BLOCKS[R][0]-_[1])-1)
|
GC.draw(TEXTURE.miniBlock[R],x,y,time%math.pi*4,8,8,2*_[2]+1,2*(#BLOCKS[R][0]-_[1])-1)
|
||||||
gc_setColor(1,1,1)
|
GC.setColor(1,1,1)
|
||||||
gc_draw(ms.isDown(1)and holdImg or normImg,x,y,nil,nil,nil,8,8)
|
GC.draw(love.mouse.isDown(1) and holdImg or normImg,x,y,nil,nil,nil,8,8)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
@@ -184,6 +178,12 @@ Z.setOnFnKeys({
|
|||||||
function() for k,v in next,_G do print(k,v) end end,
|
function() for k,v in next,_G do print(k,v) end end,
|
||||||
function() if love['_openConsole'] then love['_openConsole']() end end,
|
function() if love['_openConsole'] then love['_openConsole']() end end,
|
||||||
})
|
})
|
||||||
|
Z.setOnGlobalKey('f11',function()
|
||||||
|
SETTING.fullscreen=not SETTING.fullscreen
|
||||||
|
applySettings()
|
||||||
|
saveSettings()
|
||||||
|
end)
|
||||||
|
Z.setVersionText(VERSION.string)
|
||||||
Z.setDebugInfo{
|
Z.setDebugInfo{
|
||||||
{"Cache",gcinfo},
|
{"Cache",gcinfo},
|
||||||
{"Tasks",TASK.getCount},
|
{"Tasks",TASK.getCount},
|
||||||
@@ -228,7 +228,16 @@ do--Z.setOnFocus
|
|||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
Z.setOnQuit(destroyPlayers)
|
Z.setOnBeforeQuit(function()
|
||||||
|
NET.ws_close()
|
||||||
|
TASK.new(function()
|
||||||
|
TEST.yieldT(.26)
|
||||||
|
love.event.quit()
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
Z.setOnQuit(function()
|
||||||
|
destroyPlayers()
|
||||||
|
end)
|
||||||
|
|
||||||
-- Load settings and statistics
|
-- Load settings and statistics
|
||||||
if
|
if
|
||||||
@@ -241,7 +250,7 @@ if
|
|||||||
pcall(TABLE.cover, loadFile('conf/virtualkey','-json -canSkip') or loadFile('conf/virtualkey','-luaon -canSkip') or{},VK_ORG)
|
pcall(TABLE.cover, loadFile('conf/virtualkey','-json -canSkip') or loadFile('conf/virtualkey','-luaon -canSkip') or{},VK_ORG)
|
||||||
)
|
)
|
||||||
then
|
then
|
||||||
MES.new('error',"Be careful, an error accured when loading saving, some data was lost")
|
MES.new('error',"An error occured during loading, and some data was lost.")
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Initialize fields, sequence, missions, gameEnv for cutsom game
|
-- Initialize fields, sequence, missions, gameEnv for cutsom game
|
||||||
@@ -277,7 +286,6 @@ IMG.init{
|
|||||||
lifeIcon='media/image/mess/life.png',
|
lifeIcon='media/image/mess/life.png',
|
||||||
badgeIcon='media/image/mess/badge.png',
|
badgeIcon='media/image/mess/badge.png',
|
||||||
ctrlSpeedLimit='media/image/mess/ctrlSpeedLimit.png',
|
ctrlSpeedLimit='media/image/mess/ctrlSpeedLimit.png',
|
||||||
speedLimit='media/image/mess/speedLimit.png',--Not used, for future C2-mode
|
|
||||||
pay1='media/image/mess/pay1.png',
|
pay1='media/image/mess/pay1.png',
|
||||||
pay2='media/image/mess/pay2.png',
|
pay2='media/image/mess/pay2.png',
|
||||||
|
|
||||||
@@ -353,16 +361,16 @@ SKIN.load{
|
|||||||
SFX.init((function()--[Warning] Not loading files here, just get the list of sound needed
|
SFX.init((function()--[Warning] Not loading files here, just get the list of sound needed
|
||||||
local L={}
|
local L={}
|
||||||
for _,v in next,fs.getDirectoryItems('media/effect/chiptune/') do
|
for _,v in next,fs.getDirectoryItems('media/effect/chiptune/') do
|
||||||
if isSafeFile('media/effect/chiptune/'..v,"Dangerous file : %SAVE%/media/effect/chiptune/"..v)then
|
if FILE.isSafe('media/effect/chiptune/'..v,"Dangerous file : %SAVE%/media/effect/chiptune/"..v) then
|
||||||
table.insert(L,v:sub(1,-5))
|
table.insert(L,v:sub(1,-5))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return L
|
return L
|
||||||
end)())
|
end)())
|
||||||
BGM.load((function()
|
BGM.init((function()
|
||||||
local L={}
|
local L={}
|
||||||
for _,v in next,fs.getDirectoryItems('media/music') do
|
for _,v in next,fs.getDirectoryItems('media/music') do
|
||||||
if isSafeFile('media/music/'..v,"Dangerous file : %SAVE%/media/music/"..v)then
|
if FILE.isSafe('media/music/'..v,"Dangerous file : %SAVE%/media/music/"..v) then
|
||||||
L[v:sub(1,-5)]='media/music/'..v
|
L[v:sub(1,-5)]='media/music/'..v
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -417,7 +425,7 @@ table.insert(_LOADTIMELIST_,("Initialize Parts: %.3fs"):format(TIME()-_LOADTIME_
|
|||||||
|
|
||||||
-- Load background files from SOURCE ONLY
|
-- Load background files from SOURCE ONLY
|
||||||
for _,v in next,fs.getDirectoryItems('parts/backgrounds') do
|
for _,v in next,fs.getDirectoryItems('parts/backgrounds') do
|
||||||
if isSafeFile('parts/backgrounds/'..v)and v:sub(-3)=='lua'then
|
if FILE.isSafe('parts/backgrounds/'..v) and v:sub(-3)=='lua' then
|
||||||
local name=v:sub(1,-5)
|
local name=v:sub(1,-5)
|
||||||
BG.add(name,require('parts.backgrounds.'..name))
|
BG.add(name,require('parts.backgrounds.'..name))
|
||||||
end
|
end
|
||||||
@@ -425,7 +433,7 @@ end
|
|||||||
BG.remList('none')BG.remList('gray')BG.remList('custom')
|
BG.remList('none')BG.remList('gray')BG.remList('custom')
|
||||||
-- Load scene files from SOURCE ONLY
|
-- Load scene files from SOURCE ONLY
|
||||||
for _,v in next,fs.getDirectoryItems('parts/scenes') do
|
for _,v in next,fs.getDirectoryItems('parts/scenes') do
|
||||||
if isSafeFile('parts/scenes/'..v)then
|
if FILE.isSafe('parts/scenes/'..v) then
|
||||||
local sceneName=v:sub(1,-5)
|
local sceneName=v:sub(1,-5)
|
||||||
SCN.add(sceneName,require('parts.scenes.'..sceneName))
|
SCN.add(sceneName,require('parts.scenes.'..sceneName))
|
||||||
LANG.addScene(sceneName)
|
LANG.addScene(sceneName)
|
||||||
@@ -434,13 +442,13 @@ end
|
|||||||
-- Load mode files
|
-- Load mode files
|
||||||
for i=1,#MODES do
|
for i=1,#MODES do
|
||||||
local m=MODES[i]-- Mode template
|
local m=MODES[i]-- Mode template
|
||||||
if isSafeFile('parts/modes/'..m.name)then
|
if FILE.isSafe('parts/modes/'..m.name) then
|
||||||
TABLE.complete(require('parts.modes.'..m.name),MODES[i])
|
TABLE.complete(require('parts.modes.'..m.name),MODES[i])
|
||||||
MODES[m.name],MODES[i]=MODES[i]
|
MODES[m.name],MODES[i]=MODES[i]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
for _,v in next,fs.getDirectoryItems('parts/modes') do
|
for _,v in next,fs.getDirectoryItems('parts/modes') do
|
||||||
if isSafeFile('parts/modes/'..v)and not MODES[v:sub(1,-5)]then
|
if FILE.isSafe('parts/modes/'..v) and not MODES[v:sub(1,-5)] then
|
||||||
local M={name=v:sub(1,-5)}
|
local M={name=v:sub(1,-5)}
|
||||||
local modeData=require('parts.modes.'..M.name)
|
local modeData=require('parts.modes.'..M.name)
|
||||||
if modeData.env then
|
if modeData.env then
|
||||||
@@ -552,7 +560,7 @@ do
|
|||||||
STAT.version=VERSION.code
|
STAT.version=VERSION.code
|
||||||
needSave=true
|
needSave=true
|
||||||
end
|
end
|
||||||
SETTING.appLock,SETTING.dataSaving,SETTING.swap=nil
|
SETTING.appLock,SETTING.dataSaving,SETTING.swap,SETTING.autoLogin=nil
|
||||||
if not SETTING.VKSkin then SETTING.VKSkin=1 end
|
if not SETTING.VKSkin then SETTING.VKSkin=1 end
|
||||||
for _,v in next,SETTING.skin do if v<1 or v>17 then v=17 end end
|
for _,v in next,SETTING.skin do if v<1 or v>17 then v=17 end end
|
||||||
if not RSlist[SETTING.RS] then SETTING.RS='TRS' end
|
if not RSlist[SETTING.RS] then SETTING.RS='TRS' end
|
||||||
@@ -564,6 +572,7 @@ do
|
|||||||
if SETTING.skin[18]==10 then SETTING.skin[18]=4 end
|
if SETTING.skin[18]==10 then SETTING.skin[18]=4 end
|
||||||
if SETTING.reTime>3 or SETTING.reTime<.5 then SETTING.reTime=2 end
|
if SETTING.reTime>3 or SETTING.reTime<.5 then SETTING.reTime=2 end
|
||||||
if SETTING.locale=='zh_full' then SETTING.locale='zh' end
|
if SETTING.locale=='zh_full' then SETTING.locale='zh' end
|
||||||
|
if SETTING.vocPack=='rin' then SETTING.vocPack='miku' end
|
||||||
if RANKS.infinite then RANKS.infinite=0 end
|
if RANKS.infinite then RANKS.infinite=0 end
|
||||||
if RANKS.infinite_dig then RANKS.infinite_dig=0 end
|
if RANKS.infinite_dig then RANKS.infinite_dig=0 end
|
||||||
if not RANKS.sprint_10l then RANKS.sprint_10l=0 end
|
if not RANKS.sprint_10l then RANKS.sprint_10l=0 end
|
||||||
@@ -667,7 +676,7 @@ for i=1,#_LOADTIMELIST_ do LOG(_LOADTIMELIST_[i])end
|
|||||||
-- Launch testing task if launch param received
|
-- Launch testing task if launch param received
|
||||||
if TABLE.find(arg,'-- test') then
|
if TABLE.find(arg,'-- test') then
|
||||||
TASK.new(function()
|
TASK.new(function()
|
||||||
while not LOADED do YIELD()end
|
while not LOADED do coroutine.yield() end
|
||||||
|
|
||||||
LOG("\27[92m\27[1mAutomatic Test Started\27[0m")
|
LOG("\27[92m\27[1mAutomatic Test Started\27[0m")
|
||||||
BGM.setVol(0)SFX.setVol(0)
|
BGM.setVol(0)SFX.setVol(0)
|
||||||
@@ -689,7 +698,7 @@ if TABLE.find(arg,'--test')then
|
|||||||
end)
|
end)
|
||||||
TASK.new(function()
|
TASK.new(function()
|
||||||
while true do
|
while true do
|
||||||
YIELD()
|
coroutine.yield()
|
||||||
if Z.getErr(1) then break end
|
if Z.getErr(1) then break end
|
||||||
end
|
end
|
||||||
LOG("\27[91m\27[1mAutomatic Test Failed :(\27[0m\nThe error message is:\n"..table.concat(Z.getErr(1).mes,"\n").."\27[91m\nAborting\27[0m")
|
LOG("\27[91m\27[1mAutomatic Test Failed :(\27[0m\nThe error message is:\n"..table.concat(Z.getErr(1).mes,"\n").."\27[91m\nAborting\27[0m")
|
||||||
@@ -697,4 +706,6 @@ if TABLE.find(arg,'--test')then
|
|||||||
love.event.quit(1)
|
love.event.quit(1)
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
WS.switchHost('101.43.110.22','10026','/tech/socket/v1')
|
WS.switchHost('cafuuchino1.3322.org','10026','/techmino/ws/v1')
|
||||||
|
HTTP.setHost("cafuuchino1.3322.org:10026")
|
||||||
|
HTTP.setThreadCount(1)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 2.0 KiB |
BIN
media/music/antispace.ogg
Normal file
BIN
media/music/antispace.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/angry_1.ogg
Normal file
BIN
media/vocal/miya/angry_1.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
media/vocal/miya/b3b_3.ogg
Normal file
BIN
media/vocal/miya/b3b_3.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
media/vocal/miya/bye_3.ogg
Normal file
BIN
media/vocal/miya/bye_3.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/bye_4.ogg
Normal file
BIN
media/vocal/miya/bye_4.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/bye_5.ogg
Normal file
BIN
media/vocal/miya/bye_5.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
media/vocal/miya/doubt_3.ogg
Normal file
BIN
media/vocal/miya/doubt_3.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/doubt_4.ogg
Normal file
BIN
media/vocal/miya/doubt_4.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/espin_1.ogg
Normal file
BIN
media/vocal/miya/espin_1.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/fspin_1.ogg
Normal file
BIN
media/vocal/miya/fspin_1.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
media/vocal/miya/happy_5.ogg
Normal file
BIN
media/vocal/miya/happy_5.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/happy_6.ogg
Normal file
BIN
media/vocal/miya/happy_6.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/happy_7.ogg
Normal file
BIN
media/vocal/miya/happy_7.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/hspin_1.ogg
Normal file
BIN
media/vocal/miya/hspin_1.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
media/vocal/miya/lose_4.ogg
Normal file
BIN
media/vocal/miya/lose_4.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/lose_5.ogg
Normal file
BIN
media/vocal/miya/lose_5.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/lose_6.ogg
Normal file
BIN
media/vocal/miya/lose_6.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
media/vocal/miya/mini_4.ogg
Normal file
BIN
media/vocal/miya/mini_4.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/mini_5.ogg
Normal file
BIN
media/vocal/miya/mini_5.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/nspin_1.ogg
Normal file
BIN
media/vocal/miya/nspin_1.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
media/vocal/miya/perfect_clear_3.ogg
Normal file
BIN
media/vocal/miya/perfect_clear_3.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/perfect_clear_4.ogg
Normal file
BIN
media/vocal/miya/perfect_clear_4.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/perfect_clear_5.ogg
Normal file
BIN
media/vocal/miya/perfect_clear_5.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/pspin_1.ogg
Normal file
BIN
media/vocal/miya/pspin_1.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/qspin_1.ogg
Normal file
BIN
media/vocal/miya/qspin_1.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/rspin_1.ogg
Normal file
BIN
media/vocal/miya/rspin_1.ogg
Normal file
Binary file not shown.
BIN
media/vocal/miya/sad_1.ogg
Normal file
BIN
media/vocal/miya/sad_1.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user