mirror of
https://github.com/MewoLab/AquaDX.git
synced 2025-12-14 11:56:15 +08:00
Compare commits
177 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
02dc142eea | ||
|
|
5973b3bfe5 | ||
|
|
f4e3be8d15 | ||
|
|
c7e493d7f5 | ||
|
|
759519d374 | ||
|
|
3d713b13da | ||
|
|
20468e612d | ||
|
|
c175173821 | ||
|
|
52e9285551 | ||
|
|
f4280c0768 | ||
|
|
295ae14658 | ||
|
|
ccc2bcffce | ||
|
|
a47ed71799 | ||
|
|
006a49cfdb | ||
|
|
9794ee259a | ||
|
|
643e0e0c1f | ||
|
|
6afcb364d1 | ||
|
|
6d4a38404c | ||
|
|
b925c2ef20 | ||
|
|
e3f931d4f5 | ||
|
|
01b5d63972 | ||
|
|
97794ce7c5 | ||
|
|
ac4c66a1f7 | ||
|
|
9750e26d4b | ||
|
|
4b14412190 | ||
|
|
207c2e10e3 | ||
|
|
7c73515427 | ||
|
|
aea7108940 | ||
|
|
2bdd97d889 | ||
|
|
93b6dd3374 | ||
|
|
bf3c123658 | ||
|
|
06c0a361fd | ||
|
|
92510845d6 | ||
|
|
8ab57859f6 | ||
|
|
0608b50193 | ||
|
|
e14ff26915 | ||
|
|
8932a16468 | ||
|
|
3804db142f | ||
|
|
7e198bd7a1 | ||
|
|
85301c92ec | ||
|
|
2ca6be77ed | ||
|
|
48558bec0f | ||
|
|
31af8669b5 | ||
|
|
d716ee5d26 | ||
|
|
8e1c07d530 | ||
|
|
0d7b52aadc | ||
|
|
25eb99f014 | ||
|
|
ab8276df2f | ||
|
|
68569ad875 | ||
|
|
c0e77d9eec | ||
|
|
27297c5d24 | ||
|
|
b6a7a02b23 | ||
|
|
534e20a072 | ||
|
|
9478da81a9 | ||
|
|
ee958f20d2 | ||
|
|
00edf44828 | ||
|
|
f3a49533fd | ||
|
|
3b6517090c | ||
|
|
5b2687ae83 | ||
|
|
c3402e8d44 | ||
|
|
a9625dfecd | ||
|
|
d6c8464e97 | ||
|
|
1b557d5f8c | ||
|
|
e1cf944db7 | ||
|
|
cb873efd38 | ||
|
|
ee5acfa35f | ||
|
|
2904c55f84 | ||
|
|
4667e9652f | ||
|
|
905b4fe92e | ||
|
|
85ccc78f8f | ||
|
|
ad3bb89dc9 | ||
|
|
106bded9b6 | ||
|
|
f46c8a03d9 | ||
|
|
5d9693c419 | ||
|
|
126546a938 | ||
|
|
bb3902730b | ||
|
|
1b9e25e81c | ||
|
|
b11439ca87 | ||
|
|
66034ea407 | ||
|
|
6690c665dd | ||
|
|
4b71cd9940 | ||
|
|
8b5ef24681 | ||
|
|
e161890eaa | ||
|
|
348f27237b | ||
|
|
c19164269a | ||
|
|
071491b459 | ||
|
|
e1180a9a14 | ||
|
|
f76a027b32 | ||
|
|
cc1a91e5cd | ||
|
|
fcee4d13da | ||
|
|
fa567ce0e2 | ||
|
|
c10085b65a | ||
|
|
a8465408cf | ||
|
|
d123a50054 | ||
|
|
bd09e4017a | ||
|
|
8b5e29d29e | ||
|
|
6e427b060a | ||
|
|
7d0f70f1c0 | ||
|
|
5f1ca64d65 | ||
|
|
fb58f08e44 | ||
|
|
017d00371d | ||
|
|
abe1d3ad29 | ||
|
|
fc48ba1994 | ||
|
|
279fe5dcb8 | ||
|
|
ccb3f7ef34 | ||
|
|
de12ec6548 | ||
|
|
14bd2480ce | ||
|
|
8152b9ab0d | ||
|
|
e6e4782d51 | ||
|
|
aa5f4fb986 | ||
|
|
aa4fe50eeb | ||
|
|
df072f1c40 | ||
|
|
9b3e202eb8 | ||
|
|
b403189afb | ||
|
|
82d076b87d | ||
|
|
dcdf951ebc | ||
|
|
4c1f8e4005 | ||
|
|
672ecc7f0a | ||
|
|
81f05528d8 | ||
|
|
57214aadfc | ||
|
|
6209a0120b | ||
|
|
98dcb3fbcb | ||
|
|
2211e1c816 | ||
|
|
36bf37da8d | ||
|
|
21be74fb05 | ||
|
|
870ca6cd7f | ||
|
|
4e832a5eb2 | ||
|
|
7b9c23c203 | ||
|
|
fc91807e07 | ||
|
|
8aab359b0b | ||
|
|
363c9ff028 | ||
|
|
2a800a825b | ||
|
|
36c1b1e0dd | ||
|
|
01d7cdc7de | ||
|
|
6f25cb9017 | ||
|
|
c4ff479af4 | ||
|
|
cc8406cd79 | ||
|
|
b94c1915a8 | ||
|
|
99a6685845 | ||
|
|
10bf60126e | ||
|
|
14d8f0730f | ||
|
|
618503ccf2 | ||
|
|
f64a837172 | ||
|
|
41d4de6150 | ||
|
|
bcf3333dd2 | ||
|
|
47fda64c90 | ||
|
|
4fce05b7d1 | ||
|
|
363bcc6060 | ||
|
|
bc734a5d25 | ||
|
|
3f95678098 | ||
|
|
e52c971aed | ||
|
|
1f82067752 | ||
|
|
0ac1a4c088 | ||
|
|
0fda25b482 | ||
|
|
dd70265cb6 | ||
|
|
62e7d48f3c | ||
|
|
4905106953 | ||
|
|
48edab452d | ||
|
|
7a7076b174 | ||
|
|
c8e1c5fbb7 | ||
|
|
50ceaf6097 | ||
|
|
722d415e75 | ||
|
|
0d4221203b | ||
|
|
4a64895e81 | ||
|
|
e271cb4555 | ||
|
|
0bf54e666b | ||
|
|
0913ef2060 | ||
|
|
7cc9fb11b6 | ||
|
|
9c51b1e0ee | ||
|
|
ba1f458907 | ||
|
|
e7848cb965 | ||
|
|
564ada10f5 | ||
|
|
48721ef7a9 | ||
|
|
bae06e2187 | ||
|
|
8b8e6cb422 | ||
|
|
2ecc990aae | ||
|
|
b47a841207 |
BIN
.github/workflows/DATA
vendored
Normal file
BIN
.github/workflows/DATA
vendored
Normal file
Binary file not shown.
26
.github/workflows/aquamai.yml
vendored
Normal file
26
.github/workflows/aquamai.yml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
name: AquaMai Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./AquaMai
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup MSBuild Path
|
||||
uses: microsoft/setup-msbuild@v1.0.2
|
||||
|
||||
- name: Decrypt DLL
|
||||
run: gpg -d --batch --passphrase "${{ secrets.DLL_PASSPHRASE }}" -o .\Libs\Assembly-CSharp.dll ..\.github\workflows\DATA
|
||||
|
||||
|
||||
- name: Build with MSBuild
|
||||
run: msbuild.exe .\AquaMai.csproj
|
||||
27
.github/workflows/gradle.yml
vendored
Normal file
27
.github/workflows/gradle.yml
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
name: Gradle Build
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Set up JDK
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
server-id: github
|
||||
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@v2
|
||||
|
||||
- name: Build with Gradle
|
||||
run: |
|
||||
mkdir data
|
||||
./gradlew build
|
||||
51
.github/workflows/nightly.yml
vendored
Normal file
51
.github/workflows/nightly.yml
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
# Build script credit to https://github.com/OpenIntelWireless/itlwm/blob/master/.github/workflows/main.yml
|
||||
name: Nightly Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
paths: ['src/**']
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
permissions: write-all
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: '10'
|
||||
|
||||
- name: Set up JDK
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
server-id: github
|
||||
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@v2
|
||||
|
||||
- name: Build Artifact
|
||||
run: bash ./tools/build.sh
|
||||
|
||||
- name: Delete previous nightly release
|
||||
run: |
|
||||
gh release delete --cleanup-tag --yes --repo $GITHUB_REPOSITORY nightly || true
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Publish GitHub Release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
bodyFile: "build/release/ReleaseNotes.md"
|
||||
artifacts: "build/libs/aqua-nightly.jar,build/aqua-nightly.zip"
|
||||
tag: "nightly"
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
draft: false
|
||||
|
||||
- name: Mark release undraft
|
||||
run: |
|
||||
gh release edit nightly --draft=false
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
376
AquaMai/.gitignore
vendored
Normal file
376
AquaMai/.gitignore
vendored
Normal file
@@ -0,0 +1,376 @@
|
||||
|
||||
# Created by https://www.toptal.com/developers/gitignore/api/git,visualstudio
|
||||
# Edit at https://www.toptal.com/developers/gitignore?templates=git,visualstudio
|
||||
|
||||
### Git ###
|
||||
# Created by git for backups. To disable backups in Git:
|
||||
# $ git config --global mergetool.keepBackup false
|
||||
*.orig
|
||||
|
||||
# Created by git when using merge tools for conflicts
|
||||
*.BACKUP.*
|
||||
*.BASE.*
|
||||
*.LOCAL.*
|
||||
*.REMOTE.*
|
||||
*_BACKUP_*.txt
|
||||
*_BASE_*.txt
|
||||
*_LOCAL_*.txt
|
||||
*_REMOTE_*.txt
|
||||
|
||||
### VisualStudio ###
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
##
|
||||
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
||||
|
||||
# User-specific files
|
||||
*.rsuser
|
||||
*.suo
|
||||
*.user
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Mono auto generated files
|
||||
mono_crash.*
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
[Aa][Rr][Mm]/
|
||||
[Aa][Rr][Mm]64/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Ll]og/
|
||||
[Ll]ogs/
|
||||
|
||||
# Visual Studio 2015/2017 cache/options directory
|
||||
.vs/
|
||||
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||
#wwwroot/
|
||||
|
||||
# Visual Studio 2017 auto generated files
|
||||
Generated\ Files/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
# NUnit
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
nunit-*.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
dlldata.c
|
||||
|
||||
# Benchmark Results
|
||||
BenchmarkDotNet.Artifacts/
|
||||
|
||||
# .NET Core
|
||||
project.lock.json
|
||||
project.fragment.lock.json
|
||||
artifacts/
|
||||
|
||||
# StyleCop
|
||||
StyleCopReport.xml
|
||||
|
||||
# Files built by Visual Studio
|
||||
*_i.c
|
||||
*_p.c
|
||||
*_h.h
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.iobj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.ipdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*_wpftmp.csproj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.svclog
|
||||
*.scc
|
||||
|
||||
# Chutzpah Test files
|
||||
_Chutzpah*
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opendb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
*.VC.db
|
||||
*.VC.VC.opendb
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
*.sap
|
||||
|
||||
# Visual Studio Trace Files
|
||||
*.e2e
|
||||
|
||||
# TFS 2012 Local Workspace
|
||||
$tf/
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
*.DotSettings.user
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# AxoCover is a Code Coverage Tool
|
||||
.axoCover/*
|
||||
!.axoCover/settings.json
|
||||
|
||||
# Coverlet is a free, cross platform Code Coverage Tool
|
||||
coverage*[.json, .xml, .info]
|
||||
|
||||
# Visual Studio code coverage results
|
||||
*.coverage
|
||||
*.coveragexml
|
||||
|
||||
# NCrunch
|
||||
_NCrunch_*
|
||||
.*crunch*.local.xml
|
||||
nCrunchTemp_*
|
||||
|
||||
# MightyMoose
|
||||
*.mm.*
|
||||
AutoTest.Net/
|
||||
|
||||
# Web workbench (sass)
|
||||
.sass-cache/
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.[Pp]ublish.xml
|
||||
*.azurePubxml
|
||||
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||
# but database connection strings (with potential passwords) will be unencrypted
|
||||
*.pubxml
|
||||
*.publishproj
|
||||
|
||||
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||
# in these scripts will be unencrypted
|
||||
PublishScripts/
|
||||
|
||||
# NuGet Packages
|
||||
*.nupkg
|
||||
# NuGet Symbol Packages
|
||||
*.snupkg
|
||||
# Uncomment if necessary however generally it will be regenerated when needed
|
||||
#!**/[Pp]ackages/repositories.config
|
||||
# NuGet v3's project.json files produces more ignorable files
|
||||
*.nuget.props
|
||||
*.nuget.targets
|
||||
|
||||
# Microsoft Azure Build Output
|
||||
csx/
|
||||
*.build.csdef
|
||||
|
||||
# Microsoft Azure Emulator
|
||||
ecf/
|
||||
rcf/
|
||||
|
||||
# Windows Store app package directories and files
|
||||
AppPackages/
|
||||
BundleArtifacts/
|
||||
Package.StoreAssociation.xml
|
||||
_pkginfo.txt
|
||||
*.appx
|
||||
*.appxbundle
|
||||
*.appxupload
|
||||
|
||||
# Visual Studio cache files
|
||||
# files ending in .cache can be ignored
|
||||
*.[Cc]ache
|
||||
# but keep track of directories ending in .cache
|
||||
!?*.[Cc]ache/
|
||||
|
||||
# Others
|
||||
ClientBin/
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.dbproj.schemaview
|
||||
*.jfm
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
orleans.codegen.cs
|
||||
|
||||
# Including strong name files can present a security risk
|
||||
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
||||
#*.snk
|
||||
|
||||
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||
#bower_components/
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file
|
||||
# to a newer Visual Studio version. Backup files are not needed,
|
||||
# because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
ServiceFabricBackup/
|
||||
*.rptproj.bak
|
||||
|
||||
# SQL Server files
|
||||
*.mdf
|
||||
*.ldf
|
||||
*.ndf
|
||||
|
||||
# Business Intelligence projects
|
||||
*.rdl.data
|
||||
*.bim.layout
|
||||
*.bim_*.settings
|
||||
*.rptproj.rsuser
|
||||
*- [Bb]ackup.rdl
|
||||
*- [Bb]ackup ([0-9]).rdl
|
||||
*- [Bb]ackup ([0-9][0-9]).rdl
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
|
||||
# GhostDoc plugin setting file
|
||||
*.GhostDoc.xml
|
||||
|
||||
# Node.js Tools for Visual Studio
|
||||
.ntvs_analysis.dat
|
||||
node_modules/
|
||||
|
||||
# Visual Studio 6 build log
|
||||
*.plg
|
||||
|
||||
# Visual Studio 6 workspace options file
|
||||
*.opt
|
||||
|
||||
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||
*.vbw
|
||||
|
||||
# Visual Studio LightSwitch build output
|
||||
**/*.HTMLClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/ModelManifest.xml
|
||||
**/*.Server/GeneratedArtifacts
|
||||
**/*.Server/ModelManifest.xml
|
||||
_Pvt_Extensions
|
||||
|
||||
# Paket dependency manager
|
||||
.paket/paket.exe
|
||||
paket-files/
|
||||
|
||||
# FAKE - F# Make
|
||||
.fake/
|
||||
|
||||
# CodeRush personal settings
|
||||
.cr/personal
|
||||
|
||||
# Python Tools for Visual Studio (PTVS)
|
||||
__pycache__/
|
||||
*.pyc
|
||||
|
||||
# Cake - Uncomment if you are using it
|
||||
# tools/**
|
||||
# !tools/packages.config
|
||||
|
||||
# Tabs Studio
|
||||
*.tss
|
||||
|
||||
# Telerik's JustMock configuration file
|
||||
*.jmconfig
|
||||
|
||||
# BizTalk build output
|
||||
*.btp.cs
|
||||
*.btm.cs
|
||||
*.odx.cs
|
||||
*.xsd.cs
|
||||
|
||||
# OpenCover UI analysis results
|
||||
OpenCover/
|
||||
|
||||
# Azure Stream Analytics local run output
|
||||
ASALocalRun/
|
||||
|
||||
# MSBuild Binary and Structured Log
|
||||
*.binlog
|
||||
|
||||
# NVidia Nsight GPU debugger configuration file
|
||||
*.nvuser
|
||||
|
||||
# MFractors (Xamarin productivity tool) working folder
|
||||
.mfractor/
|
||||
|
||||
# Local History for Visual Studio
|
||||
.localhistory/
|
||||
|
||||
# BeatPulse healthcheck temp database
|
||||
healthchecksdb
|
||||
|
||||
# Backup folder for Package Reference Convert tool in Visual Studio 2017
|
||||
MigrationBackup/
|
||||
|
||||
# Ionide (cross platform F# VS Code tools) working folder
|
||||
.ionide/
|
||||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/git,visualstudio
|
||||
|
||||
Output
|
||||
.idea
|
||||
Libs/Assembly-CSharp.dll
|
||||
packages
|
||||
14
AquaMai/App.config
Normal file
14
AquaMai/App.config
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="mscorlib" publicKeyToken="b77a5c561934e089" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Xml" publicKeyToken="b77a5c561934e089" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
282
AquaMai/AquaMai.csproj
Normal file
282
AquaMai/AquaMai.csproj
Normal file
@@ -0,0 +1,282 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{788BC472-59F7-46F6-B760-65C18BA74389}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>AquaMai</RootNamespace>
|
||||
<AssemblyName>AquaMai</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<DebugType>None</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>$(SolutionDir)Output\</OutputPath>
|
||||
<DefineConstants>
|
||||
</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="0Harmony">
|
||||
<HintPath>Libs\0Harmony.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Assembly-CSharp">
|
||||
<HintPath>Libs\Assembly-CSharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MelonLoader">
|
||||
<HintPath>Libs\MelonLoader.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Mono.Posix">
|
||||
<HintPath>Libs\Mono.Posix.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Mono.Security">
|
||||
<HintPath>Libs\Mono.Security.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="mscorlib">
|
||||
<HintPath>Libs\mscorlib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration">
|
||||
<HintPath>Libs\System.Configuration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Core">
|
||||
<HintPath>Libs\System.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security">
|
||||
<HintPath>Libs\System.Security.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml">
|
||||
<HintPath>Libs\System.Xml.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Tomlet">
|
||||
<HintPath>Libs\Tomlet.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Analytics.DataPrivacy">
|
||||
<HintPath>Libs\Unity.Analytics.DataPrivacy.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.TextMeshPro">
|
||||
<HintPath>Libs\Unity.TextMeshPro.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>Libs\UnityEngine.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.AccessibilityModule">
|
||||
<HintPath>Libs\UnityEngine.AccessibilityModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.AIModule">
|
||||
<HintPath>Libs\UnityEngine.AIModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.AnimationModule">
|
||||
<HintPath>Libs\UnityEngine.AnimationModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ARModule">
|
||||
<HintPath>Libs\UnityEngine.ARModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.AssetBundleModule">
|
||||
<HintPath>Libs\UnityEngine.AssetBundleModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.AudioModule">
|
||||
<HintPath>Libs\UnityEngine.AudioModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.BaselibModule">
|
||||
<HintPath>Libs\UnityEngine.BaselibModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ClothModule">
|
||||
<HintPath>Libs\UnityEngine.ClothModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ClusterInputModule">
|
||||
<HintPath>Libs\UnityEngine.ClusterInputModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ClusterRendererModule">
|
||||
<HintPath>Libs\UnityEngine.ClusterRendererModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.CoreModule">
|
||||
<HintPath>Libs\UnityEngine.CoreModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.CrashReportingModule">
|
||||
<HintPath>Libs\UnityEngine.CrashReportingModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.DirectorModule">
|
||||
<HintPath>Libs\UnityEngine.DirectorModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.FileSystemHttpModule">
|
||||
<HintPath>Libs\UnityEngine.FileSystemHttpModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.GameCenterModule">
|
||||
<HintPath>Libs\UnityEngine.GameCenterModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.GridModule">
|
||||
<HintPath>Libs\UnityEngine.GridModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.HotReloadModule">
|
||||
<HintPath>Libs\UnityEngine.HotReloadModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ImageConversionModule">
|
||||
<HintPath>Libs\UnityEngine.ImageConversionModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.IMGUIModule">
|
||||
<HintPath>Libs\UnityEngine.IMGUIModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.InputModule">
|
||||
<HintPath>Libs\UnityEngine.InputModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.JSONSerializeModule">
|
||||
<HintPath>Libs\UnityEngine.JSONSerializeModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.LocalizationModule">
|
||||
<HintPath>Libs\UnityEngine.LocalizationModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.Networking">
|
||||
<HintPath>Libs\UnityEngine.Networking.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ParticleSystemModule">
|
||||
<HintPath>Libs\UnityEngine.ParticleSystemModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.PerformanceReportingModule">
|
||||
<HintPath>Libs\UnityEngine.PerformanceReportingModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.Physics2DModule">
|
||||
<HintPath>Libs\UnityEngine.Physics2DModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.PhysicsModule">
|
||||
<HintPath>Libs\UnityEngine.PhysicsModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ProfilerModule">
|
||||
<HintPath>Libs\UnityEngine.ProfilerModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ScreenCaptureModule">
|
||||
<HintPath>Libs\UnityEngine.ScreenCaptureModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.SharedInternalsModule">
|
||||
<HintPath>Libs\UnityEngine.SharedInternalsModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.SpatialTracking">
|
||||
<HintPath>Libs\UnityEngine.SpatialTracking.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.SpriteMaskModule">
|
||||
<HintPath>Libs\UnityEngine.SpriteMaskModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.SpriteShapeModule">
|
||||
<HintPath>Libs\UnityEngine.SpriteShapeModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.StreamingModule">
|
||||
<HintPath>Libs\UnityEngine.StreamingModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.StyleSheetsModule">
|
||||
<HintPath>Libs\UnityEngine.StyleSheetsModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.SubstanceModule">
|
||||
<HintPath>Libs\UnityEngine.SubstanceModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TerrainModule">
|
||||
<HintPath>Libs\UnityEngine.TerrainModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TerrainPhysicsModule">
|
||||
<HintPath>Libs\UnityEngine.TerrainPhysicsModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TextCoreModule">
|
||||
<HintPath>Libs\UnityEngine.TextCoreModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TextRenderingModule">
|
||||
<HintPath>Libs\UnityEngine.TextRenderingModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TilemapModule">
|
||||
<HintPath>Libs\UnityEngine.TilemapModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.Timeline">
|
||||
<HintPath>Libs\UnityEngine.Timeline.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TimelineModule">
|
||||
<HintPath>Libs\UnityEngine.TimelineModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TLSModule">
|
||||
<HintPath>Libs\UnityEngine.TLSModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>Libs\UnityEngine.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UIElementsModule">
|
||||
<HintPath>Libs\UnityEngine.UIElementsModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UIModule">
|
||||
<HintPath>Libs\UnityEngine.UIModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UmbraModule">
|
||||
<HintPath>Libs\UnityEngine.UmbraModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UNETModule">
|
||||
<HintPath>Libs\UnityEngine.UNETModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityAnalyticsModule">
|
||||
<HintPath>Libs\UnityEngine.UnityAnalyticsModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityConnectModule">
|
||||
<HintPath>Libs\UnityEngine.UnityConnectModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityTestProtocolModule">
|
||||
<HintPath>Libs\UnityEngine.UnityTestProtocolModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityWebRequestAssetBundleModule">
|
||||
<HintPath>Libs\UnityEngine.UnityWebRequestAssetBundleModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityWebRequestAudioModule">
|
||||
<HintPath>Libs\UnityEngine.UnityWebRequestAudioModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityWebRequestModule">
|
||||
<HintPath>Libs\UnityEngine.UnityWebRequestModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityWebRequestTextureModule">
|
||||
<HintPath>Libs\UnityEngine.UnityWebRequestTextureModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityWebRequestWWWModule">
|
||||
<HintPath>Libs\UnityEngine.UnityWebRequestWWWModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.VehiclesModule">
|
||||
<HintPath>Libs\UnityEngine.VehiclesModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.VFXModule">
|
||||
<HintPath>Libs\UnityEngine.VFXModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.VideoModule">
|
||||
<HintPath>Libs\UnityEngine.VideoModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.VRModule">
|
||||
<HintPath>Libs\UnityEngine.VRModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.WindModule">
|
||||
<HintPath>Libs\UnityEngine.WindModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.XRModule">
|
||||
<HintPath>Libs\UnityEngine.XRModule.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Cheat\TicketUnlock.cs" />
|
||||
<Compile Include="Config.cs" />
|
||||
<Compile Include="Fix\FixCharaCrash.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Main.cs" />
|
||||
<Compile Include="UX\SinglePlayer.cs" />
|
||||
<Compile Include="UX\SkipWarningScreen.cs" />
|
||||
<Compile Include="UX\SkipToMusicSelection.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="AquaMai.toml" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
25
AquaMai/AquaMai.sln
Normal file
25
AquaMai/AquaMai.sln
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.6.33815.320
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AquaMai", "AquaMai.csproj", "{788BC472-59F7-46F6-B760-65C18BA74389}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Debug|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Debug|Any CPU.Build.0 = Release|Any CPU
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {DDF15A6C-2A44-4EBE-BD85-F3EE61DCD8BF}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
16
AquaMai/AquaMai.toml
Normal file
16
AquaMai/AquaMai.toml
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
# ===================================
|
||||
# Cheat: You control the buttons you press
|
||||
[Cheat]
|
||||
# Unlock normally event-only tickets
|
||||
TicketUnlock=true
|
||||
|
||||
# ===================================
|
||||
# UX: User Experience Improvements
|
||||
[UX]
|
||||
# Skip the warning screen and logo shown after the POST sequence
|
||||
SkipWarningScreen=true
|
||||
# Single player: Show 1P only, at the center of the screen
|
||||
SinglePlayer=true
|
||||
# !!EXPERIMENTAL!! Skip from the card-scanning screen directly to music selection screen
|
||||
SkipToMusicSelection=false
|
||||
40
AquaMai/Cheat/TicketUnlock.cs
Normal file
40
AquaMai/Cheat/TicketUnlock.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using Manager.MaiStudio;
|
||||
using HarmonyLib;
|
||||
|
||||
namespace AquaMai.Cheat
|
||||
{
|
||||
/**
|
||||
* Unlock tickets that are typically locked unless a specific event is open.
|
||||
*/
|
||||
public class TicketUnlock
|
||||
{
|
||||
// For any ticket, return the event ID 1 to unlock it
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof(TicketData), "get_ticketEvent")]
|
||||
public static bool get_ticketEvent(ref StringID __result)
|
||||
{
|
||||
var id = new Manager.MaiStudio.Serialize.StringID
|
||||
{
|
||||
id = 1,
|
||||
str = "無期限常時解放"
|
||||
};
|
||||
|
||||
var sid = new StringID();
|
||||
sid.Init(id);
|
||||
|
||||
__result = sid;
|
||||
return false;
|
||||
}
|
||||
|
||||
// Modify the maxTicketNum to 0
|
||||
// this is because TicketManager.GetTicketData adds the ticket to the list if either
|
||||
// the player owns at least one ticket or the maxTicketNum = 0
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof(TicketData), "get_maxCount")]
|
||||
public static bool get_maxCount(ref int __result)
|
||||
{
|
||||
__result = 0;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
23
AquaMai/Config.cs
Normal file
23
AquaMai/Config.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
|
||||
namespace AquaMai
|
||||
{
|
||||
[SuppressMessage("ReSharper", "ClassNeverInstantiated.Global")]
|
||||
public class Config
|
||||
{
|
||||
public UXConfig UX { get; set; }
|
||||
public CheatConfig Cheat { get; set; }
|
||||
|
||||
public class CheatConfig
|
||||
{
|
||||
public bool TicketUnlock { get; set; }
|
||||
}
|
||||
|
||||
public class UXConfig
|
||||
{
|
||||
public bool SkipWarningScreen { get; set; }
|
||||
public bool SinglePlayer { get; set; }
|
||||
public bool SkipToMusicSelection { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
44
AquaMai/Fix/FixCharaCrash.cs
Normal file
44
AquaMai/Fix/FixCharaCrash.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using HarmonyLib;
|
||||
using Process;
|
||||
using Util;
|
||||
|
||||
namespace AquaMai.Fix
|
||||
{
|
||||
/**
|
||||
* Fix character selection crashing due to missing character data
|
||||
*/
|
||||
public class FixCharaCrash
|
||||
{
|
||||
// Check if the return is null. If it is, make up a color
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(CharacterSelectProces), "GetMapColorData")]
|
||||
public static void GetMapColorData(ref CharacterSelectProces __instance, ref CharacterMapColorData __result)
|
||||
{
|
||||
if (__result != null) return;
|
||||
|
||||
// 1 is a color that definitely exists
|
||||
if (MapMaster.GetSlotData(1) == null)
|
||||
{
|
||||
MapMaster.GetSlotData(1).Load();
|
||||
}
|
||||
__result = MapMaster.GetSlotData(1);
|
||||
}
|
||||
|
||||
// This is called when loading the music selection screen, to display characters on the top screen
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof(Monitor.CommonMonitor), "SetCharacterSlot", new Type[] { typeof(MessageCharactorInfomationData) })]
|
||||
public static bool SetCharacterSlot(ref MessageCharactorInfomationData data, Dictionary<int, CharacterSlotData> ____characterSlotData)
|
||||
{
|
||||
// Some characters are not found in this dictionary. We simply skip loading those characters
|
||||
if (!____characterSlotData.ContainsKey(data.MapKey))
|
||||
{
|
||||
Console.Log($"Could not get CharacterSlotData for character [Index={data.Index}, MapKey={data.MapKey}], ignoring...");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
AquaMai/Libs/0Harmony.dll
Normal file
BIN
AquaMai/Libs/0Harmony.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/MelonLoader.dll
Normal file
BIN
AquaMai/Libs/MelonLoader.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/Mono.Posix.dll
Normal file
BIN
AquaMai/Libs/Mono.Posix.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/Mono.Security.dll
Normal file
BIN
AquaMai/Libs/Mono.Security.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/System.Configuration.dll
Normal file
BIN
AquaMai/Libs/System.Configuration.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/System.Core.dll
Normal file
BIN
AquaMai/Libs/System.Core.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/System.Security.dll
Normal file
BIN
AquaMai/Libs/System.Security.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/System.Xml.dll
Normal file
BIN
AquaMai/Libs/System.Xml.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/System.dll
Normal file
BIN
AquaMai/Libs/System.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/Tomlet.dll
Normal file
BIN
AquaMai/Libs/Tomlet.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/Unity.Analytics.DataPrivacy.dll
Normal file
BIN
AquaMai/Libs/Unity.Analytics.DataPrivacy.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/Unity.TextMeshPro.dll
Normal file
BIN
AquaMai/Libs/Unity.TextMeshPro.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.AIModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.AIModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.ARModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.ARModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.AccessibilityModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.AccessibilityModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.AnimationModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.AnimationModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.AssetBundleModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.AssetBundleModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.AudioModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.AudioModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.BaselibModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.BaselibModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.ClothModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.ClothModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.ClusterInputModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.ClusterInputModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.ClusterRendererModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.ClusterRendererModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.CoreModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.CoreModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.CrashReportingModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.CrashReportingModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.DirectorModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.DirectorModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.FileSystemHttpModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.FileSystemHttpModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.GameCenterModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.GameCenterModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.GridModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.GridModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.HotReloadModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.HotReloadModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.IMGUIModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.IMGUIModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.ImageConversionModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.ImageConversionModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.InputModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.InputModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.JSONSerializeModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.JSONSerializeModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.LocalizationModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.LocalizationModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.Networking.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.Networking.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.ParticleSystemModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.ParticleSystemModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.PerformanceReportingModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.PerformanceReportingModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.Physics2DModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.Physics2DModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.PhysicsModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.PhysicsModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.ProfilerModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.ProfilerModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.ScreenCaptureModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.ScreenCaptureModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.SharedInternalsModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.SharedInternalsModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.SpatialTracking.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.SpatialTracking.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.SpriteMaskModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.SpriteMaskModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.SpriteShapeModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.SpriteShapeModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.StreamingModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.StreamingModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.StyleSheetsModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.StyleSheetsModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.SubstanceModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.SubstanceModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.TLSModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.TLSModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.TerrainModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.TerrainModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.TerrainPhysicsModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.TerrainPhysicsModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.TextCoreModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.TextCoreModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.TextRenderingModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.TextRenderingModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.TilemapModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.TilemapModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.Timeline.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.Timeline.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.TimelineModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.TimelineModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.UI.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.UI.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.UIElementsModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.UIElementsModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.UIModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.UIModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.UNETModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.UNETModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.UmbraModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.UmbraModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.UnityAnalyticsModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.UnityAnalyticsModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.UnityConnectModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.UnityConnectModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.UnityTestProtocolModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.UnityTestProtocolModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.UnityWebRequestAssetBundleModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.UnityWebRequestAssetBundleModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.UnityWebRequestAudioModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.UnityWebRequestAudioModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.UnityWebRequestModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.UnityWebRequestModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.UnityWebRequestTextureModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.UnityWebRequestTextureModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.UnityWebRequestWWWModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.UnityWebRequestWWWModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.VFXModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.VFXModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.VRModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.VRModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.VehiclesModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.VehiclesModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.VideoModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.VideoModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.WindModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.WindModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.XRModule.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.XRModule.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/UnityEngine.dll
Normal file
BIN
AquaMai/Libs/UnityEngine.dll
Normal file
Binary file not shown.
BIN
AquaMai/Libs/mscorlib.dll
Normal file
BIN
AquaMai/Libs/mscorlib.dll
Normal file
Binary file not shown.
84
AquaMai/Main.cs
Normal file
84
AquaMai/Main.cs
Normal file
@@ -0,0 +1,84 @@
|
||||
using System;
|
||||
using AquaMai.Fix;
|
||||
using MelonLoader;
|
||||
using Tomlet;
|
||||
|
||||
namespace AquaMai
|
||||
{
|
||||
public static class BuildInfo
|
||||
{
|
||||
public const string Name = "AquaMai";
|
||||
public const string Description = "Mod for Sinmai";
|
||||
public const string Author = "Aza";
|
||||
public const string Company = null;
|
||||
public const string Version = "1.0.0";
|
||||
public const string DownloadLink = null;
|
||||
}
|
||||
|
||||
public class AquaMai : MelonMod
|
||||
{
|
||||
public static Config AppConfig { get; private set; }
|
||||
|
||||
private static void Patch(Type type)
|
||||
{
|
||||
MelonLogger.Msg($"> Patching {type}");
|
||||
HarmonyLib.Harmony.CreateAndPatchAll(type);
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply patches using reflection, based on the settings
|
||||
*/
|
||||
private static void ApplyPatches()
|
||||
{
|
||||
// Iterate over all properties of AppConfig
|
||||
foreach (var categoryProp in AppConfig.GetType().GetProperties())
|
||||
{
|
||||
// Get the value of the category property (e.g., UX, Cheat)
|
||||
var categoryValue = categoryProp.GetValue(AppConfig);
|
||||
if (categoryValue == null) continue;
|
||||
var categoryType = categoryValue.GetType();
|
||||
|
||||
// Iterate over properties in the category (e.g., SkipWarningScreen, SinglePlayer)
|
||||
foreach (var settingProp in categoryType.GetProperties())
|
||||
{
|
||||
// The property should be a boolean
|
||||
if (settingProp.PropertyType != typeof(bool)) continue;
|
||||
|
||||
// Check if the boolean value is true
|
||||
if (!(bool) settingProp.GetValue(categoryValue)) continue;
|
||||
|
||||
// Get the Type from the config directive name
|
||||
var directiveType = Type.GetType($"AquaMai.{categoryProp.Name}.{settingProp.Name}");
|
||||
|
||||
// If the type is found, call the Patch method
|
||||
if (directiveType != null) Patch(directiveType);
|
||||
else MelonLogger.Error($"Type not found for {categoryProp.Name}.{settingProp.Name}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnInitializeMelon()
|
||||
{
|
||||
MelonLogger.Msg("Loading mod settings...");
|
||||
|
||||
// Check if AquaMai.toml exists
|
||||
if (!System.IO.File.Exists("AquaMai.toml"))
|
||||
{
|
||||
MelonLogger.Error("AquaMai.toml not found! Please create it.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Read AquaMai.toml to load settings
|
||||
AppConfig = TomletMain.To<Config>(System.IO.File.ReadAllText("AquaMai.toml"));
|
||||
|
||||
// Apply patches based on the settings
|
||||
ApplyPatches();
|
||||
|
||||
// Fixes that does not have side effects
|
||||
// These don't need to be configurable
|
||||
Patch(typeof(FixCharaCrash));
|
||||
|
||||
MelonLogger.Msg("Loaded!");
|
||||
}
|
||||
}
|
||||
}
|
||||
18
AquaMai/Properties/AssemblyInfo.cs
Normal file
18
AquaMai/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System.Reflection;
|
||||
using MelonLoader;
|
||||
|
||||
[assembly: AssemblyTitle(AquaMai.BuildInfo.Description)]
|
||||
[assembly: AssemblyDescription(AquaMai.BuildInfo.Description)]
|
||||
[assembly: AssemblyCompany(AquaMai.BuildInfo.Company)]
|
||||
[assembly: AssemblyProduct(AquaMai.BuildInfo.Name)]
|
||||
[assembly: AssemblyCopyright("Created by " + AquaMai.BuildInfo.Author)]
|
||||
[assembly: AssemblyTrademark(AquaMai.BuildInfo.Company)]
|
||||
[assembly: AssemblyVersion(AquaMai.BuildInfo.Version)]
|
||||
[assembly: AssemblyFileVersion(AquaMai.BuildInfo.Version)]
|
||||
[assembly: MelonInfo(typeof(AquaMai.AquaMai), AquaMai.BuildInfo.Name, AquaMai.BuildInfo.Version, AquaMai.BuildInfo.Author, AquaMai.BuildInfo.DownloadLink)]
|
||||
[assembly: MelonColor()]
|
||||
|
||||
// Create and Setup a MelonGame Attribute to mark a Melon as Universal or Compatible with specific Games.
|
||||
// If no MelonGame Attribute is found or any of the Values for any MelonGame Attribute on the Melon is null or empty it will be assumed the Melon is Universal.
|
||||
// Values for MelonGame Attribute can be found in the Game's app.info file or printed at the top of every log directly beneath the Unity version.
|
||||
[assembly: MelonGame(null, null)]
|
||||
33
AquaMai/README.md
Normal file
33
AquaMai/README.md
Normal file
@@ -0,0 +1,33 @@
|
||||
## AquaMai
|
||||
|
||||
This mod is heavily WIP. More details will be added as the development progresses.
|
||||
|
||||
### Features
|
||||
|
||||
**Cheats**
|
||||
|
||||
* Unlock all tickets
|
||||
|
||||
**UX Optimization**
|
||||
|
||||
* Remove the starting logo and warning cutscene
|
||||
* Single Player (1P) mode
|
||||
* Skip from card scanning directly to music selection (experimental)
|
||||
|
||||
**Bug Fixes**
|
||||
|
||||
* Fix crash in the character selection screen
|
||||
|
||||
### Development
|
||||
|
||||
1. Copy `Assembly-CSharp.dll` to `Libs` folder.
|
||||
2. Install [.NET Framework 4.7.2 Developer Pack](https://dotnet.microsoft.com/en-us/download/dotnet-framework/thank-you/net472-developer-pack-offline-installer)
|
||||
3. Open `AquaMai.sln` in JetBrains Rider.
|
||||
4. Build the solution.
|
||||
5. Copy `Output/AquaMai.dll` to `Mods` folder.
|
||||
6. Configure and copy `AquaMai.toml` to the same folder as your game executable: `Sinmai.exe`
|
||||
|
||||
### Relevant Links
|
||||
|
||||
* [MelonLoader Wiki](https://melonwiki.xyz/#/modders/quickstart)
|
||||
* [Harmony Docs](https://harmony.pardeike.net/articles/patching-prefix.html)
|
||||
32
AquaMai/UX/SinglePlayer.cs
Normal file
32
AquaMai/UX/SinglePlayer.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using HarmonyLib;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AquaMai.UX
|
||||
{
|
||||
// Hides the 2p (right hand side) UI.
|
||||
// Note: this is not my original work. I simply interpreted the code and rewrote it as a mod.
|
||||
public class SinglePlayer
|
||||
{
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof(Main.GameMain), "LateInitialize", new Type[] { typeof(MonoBehaviour), typeof(Transform), typeof(Transform) })]
|
||||
public static bool LateInitialize(MonoBehaviour gameMainObject, ref Transform left, ref Transform right)
|
||||
{
|
||||
left.transform.position = Vector3.zero;
|
||||
right.localScale = Vector3.zero;
|
||||
GameObject.Find("Mask").SetActive(false);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof(MeshButton), "IsPointInPolygon", new Type[] { typeof(Vector2[]), typeof(Vector2) })]
|
||||
public static bool IsPointInPolygon(Vector2[] polygon, ref Vector2 point)
|
||||
{
|
||||
var screenWidth = Screen.width;
|
||||
point = new Vector2(point.x - (screenWidth / 2), point.y);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
26
AquaMai/UX/SkipToMusicSelection.cs
Normal file
26
AquaMai/UX/SkipToMusicSelection.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using HarmonyLib;
|
||||
using Manager;
|
||||
using Process;
|
||||
using Process.Information;
|
||||
|
||||
namespace AquaMai.UX
|
||||
{
|
||||
public class SkipToMusicSelection
|
||||
{
|
||||
/*
|
||||
* Highly experimental, may well break some stuff
|
||||
* Works by overriding the info screen (where it shows new events and stuff)
|
||||
* to directly exit to the music selection screen, skipping character and
|
||||
* event selection, among others
|
||||
*/
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof(InformationProcess), "OnUpdate")]
|
||||
public static bool OnUpdate(InformationProcess __instance, ProcessDataContainer ___container)
|
||||
{
|
||||
GameManager.SetMaxTrack();
|
||||
___container.processManager.AddProcess(new MusicSelectProcess(___container));
|
||||
___container.processManager.ReleaseProcess(__instance);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
28
AquaMai/UX/SkipWarningScreen.cs
Normal file
28
AquaMai/UX/SkipWarningScreen.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using HarmonyLib;
|
||||
using Monitor;
|
||||
|
||||
namespace AquaMai.UX
|
||||
{
|
||||
public class SkipWarningScreen
|
||||
{
|
||||
/*
|
||||
* Patch PlayLogo to disable the warning screen
|
||||
*/
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof (WarningMonitor), "PlayLogo")]
|
||||
public static bool PlayLogo()
|
||||
{
|
||||
// Return false to block the original method
|
||||
return false;
|
||||
}
|
||||
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof (WarningMonitor), "IsLogoAnimationEnd")]
|
||||
public static bool IsLogoAnimationEnd(ref bool __result)
|
||||
{
|
||||
// Always return true to indicate the animation has ended
|
||||
__result = true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
41
AquaNet/.eslintrc.cjs
Normal file
41
AquaNet/.eslintrc.cjs
Normal file
@@ -0,0 +1,41 @@
|
||||
// ..eslintrc.cjs example
|
||||
module.exports = {
|
||||
root: true,
|
||||
env: {
|
||||
browser: true,
|
||||
es2023: true
|
||||
},
|
||||
extends: [
|
||||
'eslint:recommended',
|
||||
|
||||
'plugin:@typescript-eslint/recommended',
|
||||
'plugin:svelte/recommended',
|
||||
],
|
||||
ignorePatterns: ['dist', '..eslintrc.cjs'],
|
||||
parser: '@typescript-eslint/parser',
|
||||
parserOptions: {
|
||||
ecmaVersion: 'latest',
|
||||
sourceType: 'module'
|
||||
},
|
||||
rules: {
|
||||
// Custom styling rules
|
||||
'comma-dangle': ['warn', 'only-multiline'],
|
||||
'indent': ['warn', 2],
|
||||
'semi': ['warn', 'never'],
|
||||
'quotes': ['warn', 'single'],
|
||||
'arrow-parens': ['warn', 'as-needed'],
|
||||
'linebreak-style': ['warn', 'unix'],
|
||||
'object-curly-spacing': ['warn', 'always'],
|
||||
'array-bracket-spacing': ["error", "always", {
|
||||
"singleValue": false,
|
||||
"objectsInArrays": false,
|
||||
"arraysInArrays": false
|
||||
}],
|
||||
|
||||
// Disabled rules
|
||||
'no-unused-vars': 'off',
|
||||
'@typescript-eslint/no-unused-vars': 'off',
|
||||
'no-constant-condition': 'off',
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
},
|
||||
}
|
||||
24
AquaNet/.gitignore
vendored
Normal file
24
AquaNet/.gitignore
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
22
AquaNet/README.md
Normal file
22
AquaNet/README.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# AquaNet
|
||||
|
||||
This is the codebase for the new frontend of AquaDX.
|
||||
This project is also heavily WIP, so more details will be added later on.
|
||||
|
||||
## Development
|
||||
|
||||
This project uses Svelte (NOT SvelteKit) + TypeScript + Sass, built using Vite.
|
||||
The preferred editor is IntelliJ IDEA, but VSCode can pass as well.
|
||||
Please check out [SVELTE.md](SVELTE.md) for more details on the technical aspects of the project.
|
||||
|
||||
### Running locally
|
||||
|
||||
First, you would need to install Node.js and yarn.
|
||||
Then, you would need to start your testing AquaDX server and configure the `aqua_host` in `src/libs/config.ts` to use your URL.
|
||||
Please leave `data_host` unchanged if you're not sure what it is.
|
||||
Finally, run:
|
||||
|
||||
```shell
|
||||
yarn install
|
||||
yarn dev
|
||||
```
|
||||
35
AquaNet/SVELTE.md
Normal file
35
AquaNet/SVELTE.md
Normal file
@@ -0,0 +1,35 @@
|
||||
## Technical considerations
|
||||
|
||||
**Why use this over SvelteKit?**
|
||||
|
||||
- It brings its own routing solution which might not be preferable for some users.
|
||||
- It is first and foremost a framework that just happens to use Vite under the hood, not a Vite app.
|
||||
|
||||
This template contains as little as possible to get started with Vite + TypeScript + Svelte, while taking into account the developer experience with regards to HMR and intellisense. It demonstrates capabilities on par with the other `create-vite` templates and is a good starting point for beginners dipping their toes into a Vite + Svelte project.
|
||||
|
||||
Should you later need the extended capabilities and extensibility provided by SvelteKit, the template has been structured similarly to SvelteKit so that it is easy to migrate.
|
||||
|
||||
**Why `global.d.ts` instead of `compilerOptions.types` inside `jsconfig.json` or `tsconfig.json`?**
|
||||
|
||||
Setting `compilerOptions.types` shuts out all other types not explicitly listed in the configuration. Using triple-slash references keeps the default TypeScript setting of accepting type information from the entire workspace, while also adding `svelte` and `vite/client` type information.
|
||||
|
||||
**Why include `.vscode/extensions.json`?**
|
||||
|
||||
Other templates indirectly recommend extensions via the README, but this file allows VS Code to prompt the user to install the recommended extension upon opening the project.
|
||||
|
||||
**Why enable `allowJs` in the TS template?**
|
||||
|
||||
While `allowJs: false` would indeed prevent the use of `.js` files in the project, it does not prevent the use of JavaScript syntax in `.svelte` files. In addition, it would force `checkJs: false`, bringing the worst of both worlds: not being able to guarantee the entire codebase is TypeScript, and also having worse typechecking for the existing JavaScript. In addition, there are valid use cases in which a mixed codebase may be relevant.
|
||||
|
||||
**Why is HMR not preserving my local component state?**
|
||||
|
||||
HMR state preservation comes with a number of gotchas! It has been disabled by default in both `svelte-hmr` and `@sveltejs/vite-plugin-svelte` due to its often surprising behavior. You can read the details [here](https://github.com/rixo/svelte-hmr#svelte-hmr).
|
||||
|
||||
If you have state that's important to retain within a component, consider creating an external store which would not be replaced by HMR.
|
||||
|
||||
```ts
|
||||
// store.ts
|
||||
// An extremely simple external store
|
||||
import { writable } from 'svelte/store'
|
||||
export default writable(0)
|
||||
```
|
||||
43
AquaNet/docs/nginx.conf
Normal file
43
AquaNet/docs/nginx.conf
Normal file
@@ -0,0 +1,43 @@
|
||||
# Data server for Aqua frontend
|
||||
server
|
||||
{
|
||||
listen 443 ssl;
|
||||
listen [::]:443 ssl;
|
||||
server_name aqua-data.example.com;
|
||||
|
||||
# / should redirect to the actual website aquadx.hydev.org
|
||||
location / {
|
||||
return 301 https://example.com;
|
||||
}
|
||||
|
||||
# /maimai should be a file server on /etc/nginx/aqua-data/maimai
|
||||
# These are generated using:
|
||||
|
||||
# cd Package/Sinmai_Data/StreamingAssets/A000
|
||||
# mkdir -p /etc/nginx/aqua-data/maimai
|
||||
# python3 AquaDX/tools/data_convert.py .. /etc/nginx/aqua-data/maimai/meta
|
||||
# rm -rf MovieData SoundData
|
||||
# (Open AssetRipper and open folder Package/Sinmai_Data)
|
||||
# (Export all assets to /tmp/maimai)
|
||||
# cd /tmp/maimai/ExportedProject/Assets
|
||||
# find -name "*.meta" -delete -print
|
||||
# find -name "*.asset" -delete -print
|
||||
# cp -r assetbundle Texture2D Resources/common/sprites /etc/nginx/aqua-data/maimai
|
||||
# rm -rf /tmp/maimai
|
||||
|
||||
location /maimai {
|
||||
root /etc/nginx/aqua-data;
|
||||
|
||||
# Specify UTF-8 encoding
|
||||
charset utf-8;
|
||||
|
||||
# CORS allow all
|
||||
add_header 'Access-Control-Allow-Origin' '*';
|
||||
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
|
||||
|
||||
autoindex on;
|
||||
}
|
||||
|
||||
ssl_certificate /dev/null;
|
||||
ssl_certificate_key /dev/null;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user