Compare commits
115 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
98f73aa4c0 | ||
|
|
1db854618e | ||
|
|
940a1bc3f8 | ||
|
|
7463dd96dc | ||
|
|
48e96998a9 | ||
|
|
95a1b03cc5 | ||
|
|
ee4dfa7f51 | ||
|
|
06f403e9d7 | ||
|
|
c03f3f727c | ||
|
|
ed4ba1dc38 | ||
|
|
9663f8c316 | ||
|
|
2478df1242 | ||
|
|
1b54dd3b90 | ||
|
|
001014c70e | ||
|
|
1a444a9e98 | ||
|
|
d5397333d5 | ||
|
|
e1001c74c5 | ||
|
|
5f664c04d6 | ||
|
|
525fa4c25e | ||
|
|
f513760153 | ||
|
|
5faa929bb0 | ||
|
|
5c4557a7b7 | ||
|
|
69a84c035e | ||
|
|
f8277e1c8a | ||
|
|
48f3d293bd | ||
|
|
00bf828ef4 | ||
|
|
d1cef7ed84 | ||
|
|
17bb8dbe6d | ||
|
|
6166c03eab | ||
|
|
303f32f5b2 | ||
|
|
f7e4d7b30d | ||
|
|
f2957dff7b | ||
|
|
cadbe38a8f | ||
|
|
e55d117371 | ||
|
|
1f3d8a212b | ||
|
|
035f30d7e1 | ||
|
|
3202aa18b1 | ||
|
|
0c5d2bdf1a | ||
|
|
db25475c21 | ||
|
|
11b1c23be0 | ||
|
|
5b1eef890d | ||
|
|
3a3d062e5c | ||
|
|
2ee9ed237f | ||
|
|
9159661945 | ||
|
|
0efd2c8044 | ||
|
|
0aaa5822fb | ||
|
|
2b258aeaed | ||
|
|
0d7a80f2b5 | ||
|
|
d433d98c04 | ||
|
|
180dc12460 | ||
|
|
dd1d0b4126 | ||
|
|
f1517fad1a | ||
|
|
62ed279f07 | ||
|
|
6925d59f87 | ||
|
|
848cc41c72 | ||
|
|
f212076604 | ||
|
|
ee4fd51e0f | ||
|
|
f96b4f6724 | ||
|
|
7b6f2f826a | ||
|
|
8ed4fd6cba | ||
|
|
b914cb26be | ||
|
|
97472e9a17 | ||
|
|
dece8c0daa | ||
|
|
5796d1af32 | ||
|
|
06d7a1df6b | ||
|
|
ed293ddad8 | ||
|
|
d7a92344e5 | ||
|
|
3fa020fe91 | ||
|
|
ce19af7da0 | ||
|
|
e558a9fc9d | ||
|
|
fb5544ce0f | ||
|
|
051f0d484c | ||
|
|
108cbea686 | ||
|
|
8b61bd7d8a | ||
|
|
1699a2b68a | ||
|
|
2fca95e81b | ||
|
|
969aa87a10 | ||
|
|
b3dfa7d7ce | ||
|
|
483de50169 | ||
|
|
96762ffa5c | ||
|
|
88d05c2354 | ||
|
|
8aac152ee6 | ||
|
|
d83779662a | ||
|
|
c19e656d46 | ||
|
|
4631a2f440 | ||
|
|
338f5811a1 | ||
|
|
bc634b2eeb | ||
|
|
23cbb9e261 | ||
|
|
fbfbf3c32b | ||
|
|
3073a2e90d | ||
|
|
29e4dc93ab | ||
|
|
2b16a20032 | ||
|
|
59b412899d | ||
|
|
e656ab5e1d | ||
|
|
b90c06da72 | ||
|
|
f62f3652e2 | ||
|
|
dbbec9d2bd | ||
|
|
1be8189058 | ||
|
|
b8b3160ccd | ||
|
|
54fd3995e6 | ||
|
|
e506190c7f | ||
|
|
8f418a0da9 | ||
|
|
0403ee91ea | ||
|
|
47d1856143 | ||
|
|
e521f0fea0 | ||
|
|
eb1e7fd15a | ||
|
|
c9e0a58232 | ||
|
|
9acd8b54e3 | ||
|
|
acd66b1634 | ||
|
|
3820855812 | ||
|
|
056abe7b68 | ||
|
|
bf05b1bda2 | ||
|
|
77a3c146c0 | ||
|
|
5761f7f543 | ||
|
|
5ed5b543ce |
2
.github/actions/get-cc/action.yml
vendored
2
.github/actions/get-cc/action.yml
vendored
@@ -3,7 +3,7 @@ description: 'download cc into specific dir'
|
||||
inputs:
|
||||
tag:
|
||||
required: false
|
||||
default: "11.4"
|
||||
default: "11.4.2"
|
||||
platform:
|
||||
required: true
|
||||
dir:
|
||||
|
||||
10
.github/build/linux/dev/template.desktop
vendored
10
.github/build/linux/dev/template.desktop
vendored
@@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=Techmino Development
|
||||
Comment=Techmino is fun!
|
||||
MimeType=application/x-love-game;
|
||||
Exec=app %f
|
||||
Type=Application
|
||||
Categories=Game;
|
||||
Terminal=false
|
||||
Icon=icon
|
||||
NoDisplay=false
|
||||
1
.github/build/linux/release/.gitattributes
vendored
1
.github/build/linux/release/.gitattributes
vendored
@@ -1 +0,0 @@
|
||||
*.template text eol=lf
|
||||
10
.github/build/linux/release/template.desktop
vendored
10
.github/build/linux/release/template.desktop
vendored
@@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=Techmino
|
||||
Comment=Techmino is fun!
|
||||
MimeType=application/x-love-game;
|
||||
Exec=app %f
|
||||
Type=Application
|
||||
Categories=Game;
|
||||
Terminal=false
|
||||
Icon=icon
|
||||
NoDisplay=false
|
||||
7
.github/build/windows/dev/template.rc
vendored
7
.github/build/windows/dev/template.rc
vendored
@@ -8,9 +8,12 @@ FILETYPE 0x1
|
||||
{
|
||||
BLOCK "040904B0"
|
||||
{
|
||||
VALUE "FileDescription", "Techmino Development"
|
||||
VALUE "CompanyName", "26F Studio"
|
||||
VALUE "LegalCopyright", "Copyright @ 26F Studio"
|
||||
VALUE "FileDescription", "Techmino Development"
|
||||
VALUE "FileVersion", "@Version"
|
||||
VALUE "InternalName", "Techmino"
|
||||
VALUE "LegalCopyright", "Copyright © 2019-2023 26F-Studio. Some Rights Reserved."
|
||||
VALUE "OriginalFilename", "Techmino.exe"
|
||||
VALUE "ProductName", "Techmino"
|
||||
VALUE "ProductVersion", "@Version"
|
||||
}
|
||||
|
||||
7
.github/build/windows/release/template.rc
vendored
7
.github/build/windows/release/template.rc
vendored
@@ -8,9 +8,12 @@ FILETYPE 0x1
|
||||
{
|
||||
BLOCK "040904B0"
|
||||
{
|
||||
VALUE "FileDescription", "Techmino"
|
||||
VALUE "CompanyName", "26F Studio"
|
||||
VALUE "LegalCopyright", "Copyright @ 26F Studio"
|
||||
VALUE "FileDescription", "Techmino"
|
||||
VALUE "FileVersion", "@Version"
|
||||
VALUE "InternalName", "Techmino"
|
||||
VALUE "LegalCopyright", "Copyright © 2019-2023 26F-Studio. Some Rights Reserved."
|
||||
VALUE "OriginalFilename", "Techmino.exe"
|
||||
VALUE "ProductName", "Techmino"
|
||||
VALUE "ProductVersion", "@Version"
|
||||
}
|
||||
|
||||
173
.github/workflows/main.yml
vendored
173
.github/workflows/main.yml
vendored
@@ -70,8 +70,6 @@ jobs:
|
||||
env:
|
||||
OUTPUT_FOLDER: ./build
|
||||
RELEASE_FOLDER: ./release
|
||||
outputs:
|
||||
download-url: ${{ steps.transfer.outputs.download-url }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
@@ -99,6 +97,11 @@ jobs:
|
||||
with:
|
||||
name: ${{ env.CORE_LOVE_ARTIFACT_NAME }}
|
||||
path: ${{ env.CORE_LOVE_PACKAGE_PATH }}
|
||||
- name: Add icon to love package
|
||||
run: |
|
||||
cp ./.github/build/linux/${{ env.BUILD_TYPE }}/icon.png media/image/icon.png
|
||||
zip -u ${{ env.CORE_LOVE_PACKAGE_PATH }} media/image/icon.png
|
||||
rm media/image/icon.png
|
||||
- name: Rename love package
|
||||
run: |
|
||||
mkdir -p ${{ env.OUTPUT_FOLDER }}
|
||||
@@ -123,12 +126,6 @@ jobs:
|
||||
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
|
||||
@@ -150,8 +147,6 @@ jobs:
|
||||
env:
|
||||
OUTPUT_FOLDER: ./build
|
||||
RELEASE_FOLDER: ./release
|
||||
outputs:
|
||||
download-url: ${{ steps.transfer.outputs.download-url }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
@@ -163,12 +158,12 @@ jobs:
|
||||
import os
|
||||
import re
|
||||
with open(os.getenv('GITHUB_OUTPUT'), 'a') as f:
|
||||
if "${{ env.BUILD_TYPE }}" == "dev":
|
||||
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')
|
||||
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')
|
||||
f.write('product-name=' + re.sub(r'[^A-Za-z0-9]+', '-', '${{ needs.get-info.outputs.app-name }}') + '\n')
|
||||
- name: Download core love package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
@@ -180,7 +175,7 @@ jobs:
|
||||
dir: ./libAndroid
|
||||
- name: Build Android packages
|
||||
id: build-packages
|
||||
uses: love-actions/love-actions-android@v1
|
||||
uses: love-actions/love-actions-android@main
|
||||
with:
|
||||
app-name: ${{ needs.get-info.outputs.app-name }}
|
||||
bundle-id: ${{ steps.process-app-name.outputs.bundle-id }}
|
||||
@@ -192,6 +187,7 @@ jobs:
|
||||
love-package: ${{ env.CORE_LOVE_PACKAGE_PATH }}
|
||||
resource-path: ./.github/build/android/${{ env.BUILD_TYPE }}/res
|
||||
extra-assets: ./libAndroid/
|
||||
custom-scheme: studio26f://oauth
|
||||
product-name: ${{ steps.process-app-name.outputs.product-name }}
|
||||
version-string: ${{ needs.get-info.outputs.version-string }}
|
||||
version-code: ${{ needs.get-info.outputs.version-code }}
|
||||
@@ -216,12 +212,6 @@ jobs:
|
||||
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 ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
||||
echo "download-url=$(cat ./wetransfer.log | grep https | cut -f3 -d" ")" >> $GITHUB_OUTPUT
|
||||
|
||||
build-ios:
|
||||
runs-on: macos-latest
|
||||
@@ -230,8 +220,6 @@ jobs:
|
||||
env:
|
||||
OUTPUT_FOLDER: ./build
|
||||
RELEASE_FOLDER: ./release
|
||||
outputs:
|
||||
download-url: ${{ steps.transfer.outputs.download-url }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
@@ -260,7 +248,7 @@ jobs:
|
||||
with:
|
||||
app-name: ${{ needs.get-info.outputs.app-name }}
|
||||
bundle-id: ${{ steps.process-app-name.outputs.bundle-id }}
|
||||
copyright: "Copyright © 2019-2022 26F-Studio. Some Rights Reserved."
|
||||
copyright: "Copyright © 2019-2023 26F-Studio. Some Rights Reserved."
|
||||
icon-path: ./.github/build/iOS/${{ env.BUILD_TYPE }}/icon
|
||||
love-patch: ./.github/build/iOS/love.patch
|
||||
love-package: ${{ env.CORE_LOVE_PACKAGE_PATH }}
|
||||
@@ -305,12 +293,6 @@ jobs:
|
||||
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: |
|
||||
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
|
||||
echo "download-url=$(cat ./wetransfer.log | grep https | cut -f3 -d" ")" >> $GITHUB_OUTPUT
|
||||
|
||||
build-linux:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -318,8 +300,6 @@ jobs:
|
||||
env:
|
||||
OUTPUT_FOLDER: ./build
|
||||
RELEASE_FOLDER: ./release
|
||||
outputs:
|
||||
download-url: ${{ steps.transfer.outputs.download-url }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
@@ -330,12 +310,20 @@ jobs:
|
||||
run: |
|
||||
import os
|
||||
import re
|
||||
|
||||
product_name = re.sub(r'[^A-Za-z0-9]+', '-', '${{ needs.get-info.outputs.app-name }}').strip('-').lower()
|
||||
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')
|
||||
f.write('bundle-id=org.26f-studio.' + product_name + '\n')
|
||||
f.write('product-name=' + product_name + '\n')
|
||||
- name: Download core love package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: ${{ env.CORE_LOVE_ARTIFACT_NAME }}
|
||||
- name: Add icon to love package
|
||||
run: |
|
||||
cp ./.github/build/linux/${{ env.BUILD_TYPE }}/icon.png media/image/icon.png
|
||||
zip -u ${{ env.CORE_LOVE_PACKAGE_PATH }} media/image/icon.png
|
||||
rm media/image/icon.png
|
||||
- name: Download ColdClear
|
||||
uses: ./.github/actions/get-cc
|
||||
with:
|
||||
@@ -351,8 +339,10 @@ jobs:
|
||||
id: build-packages
|
||||
uses: love-actions/love-actions-linux@v1
|
||||
with:
|
||||
desktop-file-path: ./.github/build/linux/${{ env.BUILD_TYPE }}/template.desktop
|
||||
executable-name: app
|
||||
app-name: ${{ needs.get-info.outputs.app-name }}
|
||||
bundle-id: ${{ steps.process-app-name.outputs.bundle-id }}
|
||||
description: Techmino is fun!
|
||||
version-string: ${{ needs.get-info.outputs.version-string }}
|
||||
icon-path: ./.github/build/linux/${{ env.BUILD_TYPE }}/icon.png
|
||||
love-package: ${{ env.CORE_LOVE_PACKAGE_PATH }}
|
||||
lib-path: ./ColdClear/lib
|
||||
@@ -363,27 +353,29 @@ jobs:
|
||||
with:
|
||||
name: ${{ needs.get-info.outputs.base-name }}_Linux_AppImage
|
||||
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.AppImage
|
||||
- name: Upload Debian artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ needs.get-info.outputs.base-name }}_Linux_Debian
|
||||
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.deb
|
||||
- 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
|
||||
cp ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}.deb ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Linux.deb
|
||||
- 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 }}_Linux.AppImage
|
||||
artifacts: |
|
||||
${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Linux.AppImage
|
||||
${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Linux.deb
|
||||
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 ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
||||
echo "download-url=$(cat ./wetransfer.log | grep https | cut -f3 -d" ")" >> $GITHUB_OUTPUT
|
||||
|
||||
build-macos-appstore:
|
||||
runs-on: macos-latest
|
||||
@@ -392,8 +384,6 @@ jobs:
|
||||
env:
|
||||
OUTPUT_FOLDER: ./build
|
||||
RELEASE_FOLDER: ./release
|
||||
outputs:
|
||||
download-url: ${{ steps.transfer.outputs.download-url }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
@@ -426,7 +416,7 @@ jobs:
|
||||
with:
|
||||
app-name: ${{ needs.get-info.outputs.app-name }}
|
||||
bundle-id: ${{ steps.process-app-name.outputs.bundle-id }}
|
||||
copyright: "Copyright © 2019-2022 26F-Studio. Some Rights Reserved."
|
||||
copyright: "Copyright © 2019-2023 26F-Studio. Some Rights Reserved."
|
||||
icon-path: ./.github/build/macOS/${{ env.BUILD_TYPE }}/icon.icns
|
||||
love-package: ${{ env.CORE_LOVE_PACKAGE_PATH }}
|
||||
libs-path: ./ColdClear/universal/
|
||||
@@ -470,12 +460,6 @@ jobs:
|
||||
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: |
|
||||
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
|
||||
echo "download-url=$(cat ./wetransfer.log | grep https | cut -f3 -d" ")" >> $GITHUB_OUTPUT
|
||||
|
||||
build-macos-portable:
|
||||
runs-on: macos-latest
|
||||
@@ -484,8 +468,6 @@ jobs:
|
||||
env:
|
||||
OUTPUT_FOLDER: ./build
|
||||
RELEASE_FOLDER: ./release
|
||||
outputs:
|
||||
download-url: ${{ steps.transfer.outputs.download-url }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
@@ -518,7 +500,7 @@ jobs:
|
||||
with:
|
||||
app-name: ${{ needs.get-info.outputs.app-name }}
|
||||
bundle-id: ${{ steps.process-app-name.outputs.bundle-id }}
|
||||
copyright: "Copyright © 2019-2022 26F-Studio. Some Rights Reserved."
|
||||
copyright: "Copyright © 2019-2023 26F-Studio. Some Rights Reserved."
|
||||
icon-path: ./.github/build/macOS/${{ env.BUILD_TYPE }}/icon.icns
|
||||
love-package: ${{ env.CORE_LOVE_PACKAGE_PATH }}
|
||||
libs-path: ./ColdClear/universal/
|
||||
@@ -568,16 +550,12 @@ jobs:
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
allowUpdates: true
|
||||
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
|
||||
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
|
||||
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: |
|
||||
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
|
||||
echo "download-url=$(cat ./wetransfer.log | grep https | cut -f3 -d" ")" >> $GITHUB_OUTPUT
|
||||
|
||||
build-windows:
|
||||
runs-on: windows-latest
|
||||
@@ -585,8 +563,6 @@ jobs:
|
||||
env:
|
||||
OUTPUT_FOLDER: ./build
|
||||
RELEASE_FOLDER: ./release
|
||||
outputs:
|
||||
download-url: ${{ steps.transfer.outputs.download-url }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
@@ -608,6 +584,19 @@ jobs:
|
||||
with:
|
||||
platform: Windows
|
||||
dir: ./ColdClear
|
||||
- name: Update Windows template
|
||||
shell: python3 {0}
|
||||
run: |
|
||||
version_string = "${{ needs.get-info.outputs.version-string }}"
|
||||
file_version = (f"{version_string.replace('.', ',')},0")
|
||||
with open("./.github/build/windows/${{ env.BUILD_TYPE }}/template.rc", "r+", encoding="utf8") as file:
|
||||
data = file.read()
|
||||
data = data\
|
||||
.replace("@Version", version_string)\
|
||||
.replace("@FileVersion", file_version)
|
||||
file.seek(0)
|
||||
file.truncate()
|
||||
file.write(data)
|
||||
- name: Build Windows packages
|
||||
id: build-packages
|
||||
uses: love-actions/love-actions-windows@v1
|
||||
@@ -618,7 +607,9 @@ jobs:
|
||||
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 }}
|
||||
version-string: ${{ needs.get-info.outputs.version-string }}
|
||||
app-id: ${{ secrets.WINDOWS_APP_ID }}
|
||||
project-website: https://www.studio26f.org/
|
||||
installer-languages: ChineseSimplified.isl ChineseTraditional.isl English.isl Spanish.isl French.isl Indonesian.isl Japanese.isl Portuguese.isl
|
||||
output-folder: ${{ env.OUTPUT_FOLDER }}
|
||||
- name: Upload 32-bit artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
@@ -630,6 +621,11 @@ jobs:
|
||||
with:
|
||||
name: ${{ needs.get-info.outputs.base-name }}_Windows_x64
|
||||
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_x64.zip
|
||||
- name: Upload installer artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ needs.get-info.outputs.base-name }}_Windows_installer
|
||||
path: ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_installer.exe
|
||||
- name: Prepare for release
|
||||
if: ${{ startsWith(github.ref, 'refs/tags/pre') || startsWith(github.ref, 'refs/tags/v') }}
|
||||
shell: bash
|
||||
@@ -637,29 +633,19 @@ jobs:
|
||||
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
|
||||
cp ${{ env.OUTPUT_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_installer.exe ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Windows_installer.exe
|
||||
- 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 }}_Windows_x86.zip, ${{ env.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Windows_x64.zip
|
||||
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.RELEASE_FOLDER }}/${{ steps.process-app-name.outputs.product-name }}_Windows_installer.exe
|
||||
body: ${{ needs.get-info.outputs.update-note }}
|
||||
name: ${{ needs.get-info.outputs.update-title }}
|
||||
prerelease: ${{ startsWith(github.ref, 'refs/tags/pre') }}
|
||||
- name: Get transfer
|
||||
env:
|
||||
TEMP_PATH: ./temp.zip
|
||||
shell: bash
|
||||
run: |
|
||||
curl -L --retry 5 https://github.com/Mikubill/transfer/releases/download/v0.4.17/transfer_0.4.17_windows_amd64.zip -o ${{ env.TEMP_PATH }}
|
||||
7z x ${{ env.TEMP_PATH }} -o./
|
||||
rm ${{ env.TEMP_PATH }}
|
||||
- name: Upload to WeTransfer
|
||||
id: transfer
|
||||
shell: pwsh
|
||||
run: |
|
||||
./transfer.exe wet -s -p 16 --no-progress ${{ steps.build-packages.outputs.package-paths }} 2>&1>./wetransfer.log
|
||||
"download-url=$(cat ./wetransfer.log | grep https | cut -f3 -d" ")" >> $env:GITHUB_OUTPUT
|
||||
|
||||
post-build:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -684,35 +670,9 @@ jobs:
|
||||
uses: geekyeggo/delete-artifact@v2
|
||||
with:
|
||||
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
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: Sniddl/discord-commits@v1.5
|
||||
uses: Sniddl/discord-commits@v1.6
|
||||
with:
|
||||
webhook: ${{ secrets.DISCORD_WEBHOOK }}
|
||||
message: "Github Actions for **${{ github.repository }}**."
|
||||
@@ -731,7 +691,6 @@ jobs:
|
||||
"fields":[
|
||||
{"name":"Version","value":"${{ needs.get-info.outputs.version-string }}","inline": true},
|
||||
{"name":"Package Name","value":"${{ needs.get-info.outputs.base-name }}","inline": true},
|
||||
{"name":"Status","value":"**Automatic Test:** ${{ needs.auto-test.result }}\n**Core:** ${{ needs.build-core.result }}\n**Android:** ${{ needs.build-android.result }}\n**iOS:** ${{ needs.build-ios.result }}\n**Linux:** ${{ needs.build-linux.result }}\n**macOS App Store:** ${{ needs.build-macos-appstore.result }}\n**macOS portable:** ${{ needs.build-macos-portable.result }}\n**Windows:** ${{ needs.build-windows.result }}"},
|
||||
{"name":"Download Links","value":"**Core:** ${{ needs.build-core.outputs.download-url}}\n**Android:** ${{ needs.build-android.outputs.download-url }}\n**iOS:** ${{ needs.build-ios.outputs.download-url }}\n**Linux:** ${{ needs.build-linux.outputs.download-url }}\n**macOS App Store:** ${{ needs.build-macos-appstore.outputs.download-url }}\n**macOS portable:** ${{ needs.build-macos-portable.outputs.download-url }}\n**Windows:** ${{ needs.build-windows.outputs.download-url}}"}
|
||||
{"name":"Status","value":"**Automatic Test:** ${{ needs.auto-test.result }}\n**Core:** ${{ needs.build-core.result }}\n**Android:** ${{ needs.build-android.result }}\n**iOS:** ${{ needs.build-ios.result }}\n**Linux:** ${{ needs.build-linux.result }}\n**macOS App Store:** ${{ needs.build-macos-appstore.result }}\n**macOS portable:** ${{ needs.build-macos-portable.result }}\n**Windows:** ${{ needs.build-windows.result }}"}
|
||||
]
|
||||
}'
|
||||
|
||||
Submodule Zframework updated: c64bfe444b...7f7b0eb857
64
conf.lua
64
conf.lua
@@ -1,29 +1,32 @@
|
||||
SYSTEM=love._os if SYSTEM=='OS X' then SYSTEM='macOS' end
|
||||
MOBILE=SYSTEM=='Android' or SYSTEM=='iOS'
|
||||
FNNS=SYSTEM:find'\79\83'-- What does FNSF stand for? IDK so don't ask me lol
|
||||
|
||||
function love.conf(t)
|
||||
t.identity='Techmino'-- Saving folder
|
||||
t.version="11.1"
|
||||
local identity='Techmino'
|
||||
local msaa=0
|
||||
local portrait=false
|
||||
|
||||
local fs=love.filesystem
|
||||
fs.setIdentity(identity)
|
||||
do -- Load grapgic settings from conf/settings
|
||||
local fileData=fs.read('conf/settings')
|
||||
if fileData then
|
||||
msaa=tonumber(fileData:match('"msaa":(%d+)')) or 0;
|
||||
portrait=MOBILE and fileData:find('"portrait":true') and true
|
||||
end
|
||||
end
|
||||
|
||||
t.identity=identity -- Saving folder
|
||||
t.version="11.4"
|
||||
t.gammacorrect=false
|
||||
t.appendidentity=true-- Search files in source then in save directory
|
||||
t.accelerometerjoystick=false-- Accelerometer=joystick on ios/android
|
||||
t.appendidentity=true -- Search files in source then in save directory
|
||||
t.accelerometerjoystick=false -- Accelerometer=joystick on ios/android
|
||||
if t.audio then
|
||||
t.audio.mic=false
|
||||
t.audio.mixwithsystem=true
|
||||
end
|
||||
|
||||
local W=t.window
|
||||
W.title="Techmino "..require"version".string
|
||||
W.width,W.height=1280,720
|
||||
W.minwidth,W.minheight=640,360
|
||||
W.borderless=false
|
||||
W.resizable=true
|
||||
W.fullscreen=false
|
||||
W.vsync=0-- Unlimited FPS
|
||||
W.msaa=0-- Multi-sampled antialiasing
|
||||
W.depth=0-- Bits/samp of depth buffer
|
||||
W.stencil=1-- Bits/samp of stencil buffer
|
||||
W.display=1-- Monitor ID
|
||||
W.highdpi=true-- High-dpi mode for the window on a Retina display
|
||||
W.x,W.y=nil
|
||||
|
||||
local M=t.modules
|
||||
M.window,M.system,M.event,M.thread=true,true,true,true
|
||||
M.timer,M.math,M.data=true,true,true
|
||||
@@ -31,4 +34,27 @@ function love.conf(t)
|
||||
M.graphics,M.font,M.image=true,true,true
|
||||
M.mouse,M.touch,M.keyboard,M.joystick=true,true,true,true
|
||||
M.physics=false
|
||||
|
||||
local W=t.window
|
||||
W.vsync=0 -- Unlimited FPS
|
||||
W.msaa=msaa -- Multi-sampled antialiasing
|
||||
W.depth=0 -- Bits/samp of depth buffer
|
||||
W.stencil=1 -- Bits/samp of stencil buffer
|
||||
W.display=1 -- Monitor ID
|
||||
W.highdpi=true -- High-dpi mode for the window on a Retina display
|
||||
W.x,W.y=nil,nil -- Position of the window
|
||||
W.borderless=MOBILE -- Display window frame
|
||||
W.resizable=not MOBILE -- Whether window is resizable
|
||||
W.fullscreentype=MOBILE and "exclusive" or "desktop" -- Fullscreen type
|
||||
if portrait then
|
||||
W.width,W.height=720,1280
|
||||
W.minwidth,W.minheight=360,640
|
||||
else
|
||||
W.width,W.height=1280,720
|
||||
W.minwidth,W.minheight=640,360
|
||||
end
|
||||
W.title="Techmino "..require "version".string -- Window title
|
||||
if fs.getInfo('media/image/icon.png') then
|
||||
W.icon='media/image/icon.png'
|
||||
end
|
||||
end
|
||||
|
||||
26
main.lua
26
main.lua
@@ -22,13 +22,10 @@
|
||||
local fs=love.filesystem
|
||||
VERSION=require"version"
|
||||
TIME=love.timer.getTime
|
||||
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
|
||||
MOBILE=SYSTEM=='Android' or SYSTEM=='iOS'
|
||||
|
||||
-- Global Vars & Settings
|
||||
SFXPACKS={'chiptune'}
|
||||
VOCPACKS={'miya','mono','xiaoya','miku'}
|
||||
VOCPACKS={'miya','mono','xiaoya','miku','zundamon'}
|
||||
FIRSTLAUNCH=false
|
||||
DAILYLAUNCH=false
|
||||
|
||||
@@ -37,11 +34,6 @@ math.randomseed(os.time()*626)
|
||||
love.setDeprecationOutput(false)
|
||||
love.keyboard.setKeyRepeat(true)
|
||||
love.keyboard.setTextInput(false)
|
||||
if MOBILE then
|
||||
local w,h,f=love.window.getMode()
|
||||
f.resizable=false
|
||||
love.window.setMode(w,h,f)
|
||||
end
|
||||
|
||||
local _LOADTIMELIST_={}
|
||||
local _LOADTIME_=TIME()
|
||||
@@ -183,7 +175,7 @@ Z.setOnFnKeys({
|
||||
function() MES.new('error',"挂了") end,
|
||||
function()
|
||||
if GAME.playing and not GAME.net then
|
||||
for _=1,8 do
|
||||
for _=1,1 do
|
||||
if #PLY_ALIVE>1 then
|
||||
local P=PLY_ALIVE[math.random(2,#PLY_ALIVE)]
|
||||
P.lastRecv=PLAYERS[1]
|
||||
@@ -197,9 +189,11 @@ Z.setOnFnKeys({
|
||||
function() if love['_openConsole'] then love['_openConsole']() end end,
|
||||
})
|
||||
Z.setOnGlobalKey('f11',function()
|
||||
SETTING.fullscreen=not SETTING.fullscreen
|
||||
applySettings()
|
||||
saveSettings()
|
||||
if not MOBILE then
|
||||
SETTING.fullscreen=not SETTING.fullscreen
|
||||
applySettings()
|
||||
saveSettings()
|
||||
end
|
||||
end)
|
||||
Z.setVersionText(VERSION.string)
|
||||
Z.setDebugInfo{
|
||||
@@ -278,6 +272,7 @@ IMG.init{
|
||||
xiaoyaCH='media/image/characters/xiaoya.png',
|
||||
xiaoyaOmino='media/image/characters/xiaoya_Omino.png',
|
||||
mikuCH='media/image/characters/miku.png',
|
||||
zundamonCH='media/image/characters/zundamon.png',
|
||||
z={
|
||||
character='media/image/characters/z_character.png',
|
||||
screen1='media/image/characters/z_screen1.png',
|
||||
@@ -508,6 +503,7 @@ LANG.init('zh',
|
||||
ja=require'parts.language.lang_ja',
|
||||
symbol=require'parts.language.lang_symbol',
|
||||
zh_code=require'parts.language.lang_zh_code',
|
||||
vi=require'parts.language.lang_vi',
|
||||
-- 1. Add language file to LANG folder;
|
||||
-- 2. Require it;
|
||||
-- 3. Add a button in parts/scenes/lang.lua;
|
||||
@@ -523,7 +519,7 @@ LANG.init('zh',
|
||||
local mes="No Text ("..SETTING.locale.."): "..k
|
||||
LOG(mes)
|
||||
MES.new('warn',mes)
|
||||
self[k]=CHAR.zChan.thinking
|
||||
self[k]="["..k.."]"
|
||||
return self[k]
|
||||
end})
|
||||
end
|
||||
@@ -607,6 +603,8 @@ for _,fileName in next,fs.getDirectoryItems('replay') do
|
||||
end
|
||||
table.sort(REPLAY,function(a,b) return a.fileName>b.fileName end)
|
||||
|
||||
AUTHURL="https://studio26f.org/oauth?product=techmino"
|
||||
AUTHHOST="cafuuchino1.3322.org:8081"
|
||||
WS.switchHost('cafuuchino1.3322.org','10026','/techmino/ws/v1')
|
||||
HTTP.setHost("cafuuchino1.3322.org:10026")
|
||||
HTTP.setThreadCount(1)
|
||||
|
||||
BIN
media/image/characters/zundamon.png
Normal file
BIN
media/image/characters/zundamon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 99 KiB |
Binary file not shown.
BIN
media/vocal/zundamon/air.ogg
Normal file
BIN
media/vocal/zundamon/air.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/b2b.ogg
Normal file
BIN
media/vocal/zundamon/b2b.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/b3b.ogg
Normal file
BIN
media/vocal/zundamon/b3b.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/bye.ogg
Normal file
BIN
media/vocal/zundamon/bye.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/color.ogg
Normal file
BIN
media/vocal/zundamon/color.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/cspin.ogg
Normal file
BIN
media/vocal/zundamon/cspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/cspin0.ogg
Normal file
BIN
media/vocal/zundamon/cspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/decacrash.ogg
Normal file
BIN
media/vocal/zundamon/decacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/deep.ogg
Normal file
BIN
media/vocal/zundamon/deep.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/dodecacrash.ogg
Normal file
BIN
media/vocal/zundamon/dodecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/double.ogg
Normal file
BIN
media/vocal/zundamon/double.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/doubt.ogg
Normal file
BIN
media/vocal/zundamon/doubt.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/espin.ogg
Normal file
BIN
media/vocal/zundamon/espin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/espin0.ogg
Normal file
BIN
media/vocal/zundamon/espin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/fspin.ogg
Normal file
BIN
media/vocal/zundamon/fspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/fspin0.ogg
Normal file
BIN
media/vocal/zundamon/fspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/half_clear_1.ogg
Normal file
BIN
media/vocal/zundamon/half_clear_1.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/half_clear_2.ogg
Normal file
BIN
media/vocal/zundamon/half_clear_2.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/happy.ogg
Normal file
BIN
media/vocal/zundamon/happy.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/heptacrash.ogg
Normal file
BIN
media/vocal/zundamon/heptacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/heptadecacrash.ogg
Normal file
BIN
media/vocal/zundamon/heptadecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/hexacrash.ogg
Normal file
BIN
media/vocal/zundamon/hexacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/hexadecacrash.ogg
Normal file
BIN
media/vocal/zundamon/hexadecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/hspin.ogg
Normal file
BIN
media/vocal/zundamon/hspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/hspin0.ogg
Normal file
BIN
media/vocal/zundamon/hspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/impossicrash.ogg
Normal file
BIN
media/vocal/zundamon/impossicrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/ispin.ogg
Normal file
BIN
media/vocal/zundamon/ispin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/ispin0.ogg
Normal file
BIN
media/vocal/zundamon/ispin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/jspin.ogg
Normal file
BIN
media/vocal/zundamon/jspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/jspin0.ogg
Normal file
BIN
media/vocal/zundamon/jspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/lose_1.ogg
Normal file
BIN
media/vocal/zundamon/lose_1.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/lose_2.ogg
Normal file
BIN
media/vocal/zundamon/lose_2.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/lspin.ogg
Normal file
BIN
media/vocal/zundamon/lspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/lspin0.ogg
Normal file
BIN
media/vocal/zundamon/lspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/mini.ogg
Normal file
BIN
media/vocal/zundamon/mini.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/mis.ogg
Normal file
BIN
media/vocal/zundamon/mis.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/nonacrash.ogg
Normal file
BIN
media/vocal/zundamon/nonacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/nonadecacrash.ogg
Normal file
BIN
media/vocal/zundamon/nonadecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/nspin.ogg
Normal file
BIN
media/vocal/zundamon/nspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/nspin0.ogg
Normal file
BIN
media/vocal/zundamon/nspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/octacrash.ogg
Normal file
BIN
media/vocal/zundamon/octacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/octadecacrash.ogg
Normal file
BIN
media/vocal/zundamon/octadecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/ospin.ogg
Normal file
BIN
media/vocal/zundamon/ospin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/ospin0.ogg
Normal file
BIN
media/vocal/zundamon/ospin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/pentacrash.ogg
Normal file
BIN
media/vocal/zundamon/pentacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/pentadecacrash.ogg
Normal file
BIN
media/vocal/zundamon/pentadecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/perfect_clear_1.ogg
Normal file
BIN
media/vocal/zundamon/perfect_clear_1.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/perfect_clear_2.ogg
Normal file
BIN
media/vocal/zundamon/perfect_clear_2.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/pspin.ogg
Normal file
BIN
media/vocal/zundamon/pspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/pspin0.ogg
Normal file
BIN
media/vocal/zundamon/pspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/qspin.ogg
Normal file
BIN
media/vocal/zundamon/qspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/qspin0.ogg
Normal file
BIN
media/vocal/zundamon/qspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/rspin.ogg
Normal file
BIN
media/vocal/zundamon/rspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/rspin0.ogg
Normal file
BIN
media/vocal/zundamon/rspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/single.ogg
Normal file
BIN
media/vocal/zundamon/single.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/split.ogg
Normal file
BIN
media/vocal/zundamon/split.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/sspin.ogg
Normal file
BIN
media/vocal/zundamon/sspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/sspin0.ogg
Normal file
BIN
media/vocal/zundamon/sspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/techrash.ogg
Normal file
BIN
media/vocal/zundamon/techrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/test.ogg
Normal file
BIN
media/vocal/zundamon/test.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/tetradecacrash.ogg
Normal file
BIN
media/vocal/zundamon/tetradecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/tridecacrash.ogg
Normal file
BIN
media/vocal/zundamon/tridecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/triple.ogg
Normal file
BIN
media/vocal/zundamon/triple.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/tspin.ogg
Normal file
BIN
media/vocal/zundamon/tspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/tspin0.ogg
Normal file
BIN
media/vocal/zundamon/tspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/ultracrash.ogg
Normal file
BIN
media/vocal/zundamon/ultracrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/undecacrash.ogg
Normal file
BIN
media/vocal/zundamon/undecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/uspin.ogg
Normal file
BIN
media/vocal/zundamon/uspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/uspin0.ogg
Normal file
BIN
media/vocal/zundamon/uspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/vspin.ogg
Normal file
BIN
media/vocal/zundamon/vspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/vspin0.ogg
Normal file
BIN
media/vocal/zundamon/vspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/welcome_1.ogg
Normal file
BIN
media/vocal/zundamon/welcome_1.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/welcome_2.ogg
Normal file
BIN
media/vocal/zundamon/welcome_2.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/win_1.ogg
Normal file
BIN
media/vocal/zundamon/win_1.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/win_2.ogg
Normal file
BIN
media/vocal/zundamon/win_2.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/wspin.ogg
Normal file
BIN
media/vocal/zundamon/wspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/wspin0.ogg
Normal file
BIN
media/vocal/zundamon/wspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/xspin.ogg
Normal file
BIN
media/vocal/zundamon/xspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/xspin0.ogg
Normal file
BIN
media/vocal/zundamon/xspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/yspin.ogg
Normal file
BIN
media/vocal/zundamon/yspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/yspin0.ogg
Normal file
BIN
media/vocal/zundamon/yspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/zspin.ogg
Normal file
BIN
media/vocal/zundamon/zspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/zundamon/zspin0.ogg
Normal file
BIN
media/vocal/zundamon/zspin0.ogg
Normal file
Binary file not shown.
@@ -126,7 +126,7 @@ do
|
||||
kickTable={
|
||||
{
|
||||
[01]={'+0+0','-1+0','-1+1','+0-2','-1+2','+0+1'},
|
||||
[10]={'+0+0','+1+0','+1-1','+0+2','+1-2','+1-2'},
|
||||
[10]={'+0+0','+1+0','+1-1','+0+2','+1-2','+0-1'},
|
||||
[03]={'+0+0','+1+0','+1+1','+0-2','+1-1','+1-2'},
|
||||
[30]={'+0+0','-1+0','-1-1','+0+2','-1+2','+0-1'},
|
||||
[12]={'+0+0','+1+0','+1-1','+0+2','+1+2','+1+1'},
|
||||
@@ -938,6 +938,40 @@ do
|
||||
}
|
||||
end
|
||||
|
||||
local N64
|
||||
do
|
||||
local R={'+0+0','+0-1','+1+0','-1+0','+0+1'}
|
||||
local L={'+0+0','+0-1','-1+0','+1+0','+0+1'}
|
||||
N64={
|
||||
centerTex=GC.DO{10,10,
|
||||
{'setLW',2},
|
||||
{'line',2,9,2,1,8,9,8,1},
|
||||
},
|
||||
kickTable=TABLE.new({
|
||||
[01]=R,[10]=L,[12]=R,[21]=L,
|
||||
[23]=R,[32]=L,[30]=R,[03]=L,
|
||||
},29)
|
||||
}
|
||||
end
|
||||
|
||||
local N64_plus
|
||||
do
|
||||
local R={'+0+0','+0-1','+1+0','-1+0','+0+1'}
|
||||
local L={'+0+0','+0-1','-1+0','+1+0','+0+1'}
|
||||
local F={'+0+0','+0-1','+0+1'}
|
||||
N64_plus={
|
||||
centerTex=GC.DO{10,10,
|
||||
{'setLW',2},
|
||||
{'line',4,9,2,9,2,1,8,9,8,1,6,1},
|
||||
},
|
||||
kickTable=TABLE.new({
|
||||
[01]=R,[10]=L,[12]=R,[21]=L,
|
||||
[23]=R,[32]=L,[30]=R,[03]=L,
|
||||
[02]=F,[20]=F,[13]=F,[31]=F,
|
||||
},29)
|
||||
}
|
||||
end
|
||||
|
||||
local Classic do
|
||||
local centerPos=TABLE.copy(defaultCenterPos)
|
||||
centerPos[1]={[0]={1,1},{1,0},{1,1},{1,0}}
|
||||
@@ -978,7 +1012,7 @@ local None={
|
||||
{'setLW',2},
|
||||
{'line',2,2,6,6},
|
||||
},
|
||||
kickTable=TABLE.new(noKickSet_180,29)
|
||||
kickTable=TABLE.new(noKickSet,29)
|
||||
}
|
||||
|
||||
local None_plus={
|
||||
@@ -987,7 +1021,7 @@ local None_plus={
|
||||
{'line',1,1,7,7},
|
||||
{'fRect',2,2,4,4},
|
||||
},
|
||||
kickTable=TABLE.new(noKickSet,29)
|
||||
kickTable=TABLE.new(noKickSet_180,29)
|
||||
}
|
||||
|
||||
local RSlist={
|
||||
@@ -1002,6 +1036,8 @@ local RSlist={
|
||||
ASC_plus=ASC_plus,
|
||||
C2=C2,
|
||||
C2_sym=C2_sym,
|
||||
N64=N64,
|
||||
N64_plus=N64_plus,
|
||||
Classic=Classic,
|
||||
Classic_plus=Classic_plus,
|
||||
None=None,
|
||||
|
||||
@@ -7,7 +7,7 @@ local back={}
|
||||
local sDist,sRev={},{} -- star data in SoA [distance from center, revolution progress, color]
|
||||
|
||||
function back.init()
|
||||
if sDist[1]then return end
|
||||
if sDist[1] then return end
|
||||
local max
|
||||
for i=0,20 do
|
||||
max=16*(i+1)
|
||||
@@ -30,11 +30,11 @@ function back.draw()
|
||||
for i=1,#sDist do
|
||||
local d,r=sDist[i],sRev[i]
|
||||
if d<5 then
|
||||
setColor(hsv(.088,(d-2)/7,1,.7))
|
||||
setColor(hsv(.088,(d-2)/7,1,.2))
|
||||
else
|
||||
setColor(hsv(.572,d/70+.1,(22-d)/12,.7))
|
||||
setColor(hsv(.572,d/70+.1,(22-d)/12,.2))
|
||||
end
|
||||
circle('fill',8*d*cos(r),24*d*sin(r),3)
|
||||
circle('fill',8*d*cos(r),24*d*sin(r),5)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
local gc=love.graphics
|
||||
local hsv=COLOR.hsv
|
||||
local circle,push,pop,rot,translate,setColor=gc.circle,gc.push,gc.pop,gc.rotate,gc.translate,gc.setColor
|
||||
local rnd,sin,cos,log,ceil=math.random,math.sin,math.cos,math.log,math.ceil
|
||||
local rnd,sin,cos,log=math.random,math.sin,math.cos,math.log
|
||||
local back={}
|
||||
|
||||
local qX,qY,qdX,qdY={},{},{},{} -- quark data in SoA [size, X, Y, dx, dy, color]
|
||||
|
||||
local ptcclr={{1,0,0},{0,1,0},{0,0,1}}
|
||||
local apcclr={{0,1,1},{1,0,1},{1,1,0}}
|
||||
local ptcclr={{1,0,0,.5},{0,1,0,.5},{0,0,1,.5}}
|
||||
local apcclr={{0,1,1,.5},{1,0,1,.5},{1,1,0,.5}}
|
||||
|
||||
local blasts={} -- data about annihilation blasts from particles and antiparticles colliding
|
||||
local ptc={} -- particle-antiparticle data (antiparticle is a mirror of particle)
|
||||
@@ -115,9 +115,9 @@ function back.draw()
|
||||
translate(-10,-10)
|
||||
|
||||
-- Draw quarks in R/G/B
|
||||
setColor(1,0,0,.8) for i=1, math.floor(quarkCount/3) do circle('fill',qX[i],qY[i],size) end
|
||||
setColor(0,1,0,.8) for i=math.floor(quarkCount/3)+1, math.floor(quarkCount*2/3) do circle('fill',qX[i],qY[i],size) end
|
||||
setColor(0,0,1,.8) for i=math.floor(quarkCount*2/3)+1,quarkCount do circle('fill',qX[i],qY[i],size) end
|
||||
setColor(1,0,0,.5) for i=1, math.floor(quarkCount/3) do circle('fill',qX[i],qY[i],size) end
|
||||
setColor(0,1,0,.5) for i=math.floor(quarkCount/3)+1, math.floor(quarkCount*2/3) do circle('fill',qX[i],qY[i],size) end
|
||||
setColor(0,0,1,.5) for i=math.floor(quarkCount*2/3)+1,quarkCount do circle('fill',qX[i],qY[i],size) end
|
||||
|
||||
for i=1,#ptc do
|
||||
local p=ptc[i]
|
||||
|
||||
@@ -22,7 +22,7 @@ function bot_cc:checkDest(b2b,atk,exblock,yomi)
|
||||
for k=1,#dest,2 do
|
||||
local r=CB[dest[k+1]-self.P.curY+2]
|
||||
if not r or not r[dest[k]-self.P.curX+2] then
|
||||
print('wrong place')
|
||||
-- print('wrong place')
|
||||
self:lockWrongPlace()
|
||||
self.P.destFX=nil
|
||||
return
|
||||
@@ -31,8 +31,8 @@ function bot_cc:checkDest(b2b,atk,exblock,yomi)
|
||||
local should_spawn = self.P:getNextSpawn() - 1
|
||||
if dest.spawn ~= should_spawn then
|
||||
assert(dest.spawn > should_spawn)
|
||||
print('wrong spawn: should be '..dest.spawn..' but '..should_spawn)
|
||||
print('-- should only happen when camera is going down')
|
||||
-- print('wrong spawn: should be '..dest.spawn..' but '..should_spawn)
|
||||
-- print('-- should only happen when camera is going down')
|
||||
self:lockWrongPlace()
|
||||
self.P.destFX=nil
|
||||
return
|
||||
|
||||
@@ -62,9 +62,9 @@ return {
|
||||
local D=P.modeData
|
||||
D.drought=P.lastPiece.id==7 and 0 or D.drought+1
|
||||
if P.stat.row>=D.target then
|
||||
-- if D.target>=200 then
|
||||
if D.target>=100 then
|
||||
D.lvl=D.lvl+1
|
||||
-- end
|
||||
end
|
||||
local dropSpd=GetGravity(D.lvl)
|
||||
if dropSpd~=P.gameEnv.drop then
|
||||
P.gameEnv.drop,P.gameEnv.lock=dropSpd,dropSpd
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user