531 Commits

Author SHA1 Message Date
Azalea
385bbd115d [F] Fix rank 2025-01-03 10:16:21 -05:00
Azalea
6a45df683b [+] Maimai2 unique constraints 2025-01-03 03:44:45 -05:00
Azalea
21e023e609 Revert "[U] Upgrade dependencies"
This reverts commit 332eacd2cc.
2025-01-03 03:09:53 -05:00
Azalea
f6489d5ac0 [+] Add token to logging 2025-01-03 02:19:11 -05:00
Azalea
256aac8faf [+] Add error logging 2025-01-03 01:45:42 -05:00
Azalea
a1be699ec5 [+] characterId 2025-01-02 10:51:45 -05:00
Azalea
d71af941b0 [+] Add some get-only fields 2025-01-02 10:44:06 -05:00
Azalea
a1b56f6e0b [O] Do not log GetUserPortraitApi 2025-01-02 07:13:06 -05:00
Azalea
d8022cc1a4 [F] Fix userbox file logic #97 2025-01-02 07:12:46 -05:00
Azalea
9ba7f5022e [+] Add userbox.new chinese i18n #97 2025-01-01 19:05:45 -05:00
Azalea
437ed2ee60 [+] Chuni Userbox with Assets (#97) 2025-01-01 18:59:55 -05:00
Raymond
4d4335004f refactor: move DDS cache
moved the DDS cache from dds.ts to ddsCache.ts and added caching for scaled images

Co-authored-by: split / May <split@split.pet>
2025-01-01 16:30:48 -05:00
Raymond
ce95f2165d style: make nameplates fit better 2025-01-01 15:06:52 -05:00
split / May
931e611cf7 revert: Reverse decision to remove the classic UserBox preview
Adds back the classic UserBox preview when AquaBox is disabled / unavailable
2025-01-01 06:21:12 -08:00
split / May
81ef029bf6 docs: 📝 add TSDoc comments to functions in the DDS class 2025-01-01 05:21:29 -08:00
split / May
223de57b65 style: linebreaks 2025-01-01 05:13:13 -08:00
split / May
f1d1b81456 refactor: ♻️ replace "CHUNITHM" string with "AquaDX"
recommendation from @raymonable
2025-01-01 04:23:04 -08:00
Raymond
8aa829ab02 [+] Chuni Userbox with Assets
Co-authored-by: split / May  <split@split.pet>
2025-01-01 06:27:38 -05:00
Azalea
8fb443d41d Update docker-image.yml 2024-12-31 05:25:01 +08:00
Azalea
edc62b3cfc Update docker-image.yml 2024-12-31 04:27:25 +08:00
Azalea
644cdef95f Update docker-image.yml 2024-12-31 04:19:50 +08:00
Azalea
dc54473669 [U] Upgrade gradle 2024-12-29 20:31:16 -05:00
Azalea
332eacd2cc [U] Upgrade dependencies 2024-12-29 20:23:21 -05:00
Azalea
c26a670b05 [U] Upgrade kt only 2024-12-29 09:36:30 -05:00
Azalea
1ccb8694d8 Revert "[U] Upgrade deps"
This reverts commit d3c25e6b12.
2024-12-29 09:24:15 -05:00
Azalea
91db21067c [+] Use options in GetGameSettings 2024-12-29 07:16:19 -05:00
Azalea
834546e3ba [+] TODO: Proxy matching 2024-12-29 07:16:00 -05:00
Azalea
6518fe6946 [+] Proxied matching option 2024-12-29 07:10:32 -05:00
Azalea
9b21193be2 [+] Props for matching 2024-12-29 07:07:47 -05:00
Azalea
99983b1eb1 [+] Repo 2024-12-29 07:02:00 -05:00
Azalea
712e2c9d02 [M] Combine other pojos 2024-12-29 07:01:47 -05:00
Azalea
f963e6aa03 [O] Turn MatchingMember into db table 2024-12-29 06:58:01 -05:00
Azalea
d3c25e6b12 [U] Upgrade deps 2024-12-29 06:57:42 -05:00
Azalea
667abf2131 [O] Split matching apis 2024-12-29 05:16:09 -05:00
Azalea
8a1e17ecd3 Merge branch 'v1-dev' into matching 2024-12-29 05:11:58 -05:00
Azalea
809004e16b [O] Rewrite BooleanIntDeserializer 2024-12-29 05:11:51 -05:00
Azalea
e35df8a029 [U] Update userbox apis 2024-12-29 04:50:03 -05:00
Azalea
d9081563c2 [U] Update userbox SDK 2024-12-29 04:49:43 -05:00
Azalea
29e757ba75 [U] Update i18n for userbox 2024-12-29 04:49:31 -05:00
Azalea
48724bae8b [-] Remove unused types 2024-12-29 04:49:15 -05:00
Azalea
b1de430f0b [O] Rewrite userbox 2024-12-29 04:48:36 -05:00
Azalea
6cd18ba7f7 [M] Move settings components 2024-12-29 04:48:24 -05:00
Azalea
07d167d961 [F] Put chusan settings in chusan tab 2024-12-29 02:31:48 -05:00
Azalea
dadedbe129 [+] i18n for game option 2024-12-29 02:31:33 -05:00
Azalea
6d8948cdf1 [+] Implement infinite penguins 2024-12-29 01:42:00 -05:00
Azalea
27ca67b6f9 [+] Infinite penguins option 2024-12-29 01:41:44 -05:00
Azalea
7e27bf0785 [+] Card.sensitiveInfo 2024-12-29 00:44:04 -05:00
Azalea
a4e8cbe9e1 [+] debug-user-profile 2024-12-29 00:41:08 -05:00
Azalea
3d58a15b10 [+] Implement matching? 2024-12-28 08:49:29 -05:00
Azalea
5c80aec50b [F] Fix timezones 2024-12-28 07:30:49 -05:00
Azalea
b52916e62c [F] Fix chusan user creation 2024-12-28 03:11:23 -05:00
Azalea
91ea0c9c8e [O] Better logging 2024-12-28 02:36:17 -05:00
Azalea
2a80a10eec [+] Add worlds end 2024-12-28 01:55:01 -05:00
Azalea
7b8fb02398 [+] Add chusan unique constraints 2024-12-28 01:06:25 -05:00
Azalea
74aa319f41 [F] Fix nextIndex -1 2024-12-28 01:06:00 -05:00
Azalea
0de4856247 [F] Fix item 2024-12-28 00:19:51 -05:00
Azalea
da61b1a3e7 [+] Paged post process 2024-12-28 00:18:15 -05:00
Azalea
0632213c8b [F] Fix cache key 2024-12-27 23:52:49 -05:00
Azalea
daa8de203b [-] Remove unnecessary assignment 2024-12-27 23:34:52 -05:00
Azalea
537558e3d5 [+] Rewrite using paging 2024-12-27 23:31:58 -05:00
Azalea
8d23b262c7 [O] Better pagination 2024-12-27 23:31:22 -05:00
Azalea
04a178eda6 [+] Free paging 2024-12-27 22:05:46 -05:00
Azalea
977f353f9c [O] Replace CM 2024-12-27 22:04:20 -05:00
Azalea
ae6ff97b62 [O] Make handlers abstract 2024-12-27 16:03:02 -05:00
Azalea
fa45891af4 [F] Fix paging 2024-12-27 06:10:12 -05:00
Azalea
159b36607a [F] Fix corner case when only one song is pressent 2024-12-27 03:26:09 -05:00
Azalea
a731687607 [F] Fix favorite saving 2024-12-27 03:24:20 -05:00
Azalea
a77a74ba61 [+] Save favorite music 2024-12-27 02:15:05 -05:00
Azalea
fc35381e1b [F] oops 2024-12-27 01:13:55 -05:00
Azalea
6f837830ab [+] SEO meta 2024-12-27 01:13:15 -05:00
Azalea
8197361fb0 [F] Fix 2024-12-27 00:36:16 -05:00
Azalea
c7d12fbdf8 [F] Fix user recent rating 2024-12-27 00:19:40 -05:00
Azalea
0cb3fd3134 [O] Better diffing 2024-12-27 00:19:16 -05:00
Azalea
77a791e5da [+] Top 10 out of recent 40 2024-12-26 23:15:14 -05:00
Azalea
42d94b43b1 [F] Fix score display 2024-12-26 23:08:12 -05:00
Azalea
cb6bf00236 [+] Allow saving chuni team name 2024-12-26 22:52:16 -05:00
Azalea
4f6bd11a70 [O] Rewrite login handler 2024-12-26 22:11:14 -05:00
Azalea
0f14326449 [F] Fix CM 2024-12-26 21:50:07 -05:00
Azalea
b421b4476b [+] Abstract mapper 2024-12-26 21:49:51 -05:00
Azalea
18554ec439 [-] Remove unused 2024-12-26 21:36:39 -05:00
Azalea
806e24b9f1 [O] Rewrite GetUserMusic 2024-12-26 21:30:34 -05:00
Azalea
fa1d69f1f9 [O] Rewrite GetUserRecentRating 2024-12-26 20:58:18 -05:00
Azalea
33aebc42b3 [O] Rewrite GetUserLoginBonus 2024-12-26 20:52:36 -05:00
Azalea
ffcb94674e [+] Rewrite More CM 2024-12-26 20:47:46 -05:00
Azalea
c1323a6ba1 [-] Remove duplicates 2024-12-26 20:38:49 -05:00
Azalea
ea70da8fbf [O] Split 2024-12-26 20:26:22 -05:00
Azalea
1bdb17f073 [F] Fix team name encoding 2024-12-26 20:24:50 -05:00
Azalea
506031b5cb [F] Fix team name null 2024-12-26 20:15:41 -05:00
Azalea
4a981900aa [O] Rewrite CM user data 2024-12-26 20:11:39 -05:00
Azalea
6fa052bfcf [+] Team name 2024-12-26 20:09:35 -05:00
Azalea
19ac32d328 [+] Add chusan team name option 2024-12-26 20:08:17 -05:00
Azalea
44eab78935 [+] Add todo 2024-12-26 19:51:18 -05:00
Azalea
a2413f3635 [F] Fix item kind 2024-12-26 19:46:20 -05:00
Azalea
13b1d8fc34 [F] Fix 2024-12-26 19:38:06 -05:00
Azalea
8b90449970 [+] Chusan rating calculation 2024-12-26 19:37:55 -05:00
Azalea
038e76ed94 [-] Remove comment 2024-12-26 19:24:26 -05:00
Azalea
390c80c46c [F] Fix StringMapper 2024-12-26 19:24:05 -05:00
Azalea
dffae008cd [F] Fix dates 2024-12-26 19:06:18 -05:00
Azalea
bcf9af71e2 [O] Rewrite roll gacha 2024-12-26 18:53:08 -05:00
Azalea
5787d32c1a [O] Rewrite user preview 2024-12-26 18:52:49 -05:00
Azalea
39b5032303 [O] Rewrite list getters 2024-12-26 18:52:16 -05:00
Azalea
5f871b1945 [O] Rewrite map area condition 2024-12-26 18:51:26 -05:00
Azalea
346f1c991a [O] Rewrite upsert chargelog 2024-12-26 18:51:07 -05:00
Azalea
b14a56bb6c [O] Rewrite Begin matching 2024-12-26 18:50:20 -05:00
Azalea
f75d0acb1c [-] Remove more unused 2024-12-26 17:41:54 -05:00
Azalea
b2d1fd916d [+] Add lazy uid to context 2024-12-26 17:41:33 -05:00
Azalea
b7f1e30708 [-] Remove unused 2024-12-26 17:41:26 -05:00
Azalea
88863d8d01 [O] Everything can be special 2024-12-26 17:41:05 -05:00
Azalea
c275c54fca [O] Rename composition 2024-12-26 12:25:23 -05:00
Azalea
b97ace2c6e [+] Chusan b40? 2024-12-26 12:22:43 -05:00
Azalea
c78c4689f1 [F] Fix sql syntax error 2024-12-26 12:19:19 -05:00
Azalea
f39ccf7629 [O] Better logging in json 2024-12-26 11:57:40 -05:00
Azalea
885dfb5bea [+] Repo query 2024-12-26 11:57:31 -05:00
Azalea
8037273672 [+] Update data version in upsert all 2024-12-26 11:57:19 -05:00
Azalea
2e9c0656de [+] Return correct data version in get game settings 2024-12-26 11:57:02 -05:00
Azalea
e85d294d12 [+] Version cache 2024-12-26 11:56:23 -05:00
Azalea
24bf6cffc3 [M] Rename 2024-12-26 11:55:31 -05:00
Azalea
16762d1a46 [F] Fix url passing 2024-12-26 08:30:21 -05:00
Azalea
6a54005472 [F] Fix matching url 2024-12-26 08:08:22 -05:00
Azalea
812d910212 [F] Fix safety :( 2024-12-26 07:55:54 -05:00
Azalea
b7c8fba464 [F] Fix safety 2024-12-26 07:53:36 -05:00
Azalea
89424f6466 [O] remove unnecessary toString 2024-12-26 07:24:52 -05:00
Azalea
0411505341 [O] riik GetGameSetting 2024-12-26 07:24:32 -05:00
Azalea
6938083463 [+] Special handler 2024-12-26 07:16:29 -05:00
Azalea
054b286388 [F] Fix build 2024-12-26 06:45:27 -05:00
Azalea
add1e02d2f [O] riik Chuni upsert all 2024-12-26 06:44:27 -05:00
Azalea
fd44744029 [O] riik Get cmission handler 2024-12-26 06:43:41 -05:00
Azalea
6844e1b435 [O] riik UpsertUserAll model 2024-12-26 06:42:27 -05:00
Azalea
8140380673 [O] riik 2024-12-26 06:41:58 -05:00
Azalea
66ad9e8856 [O] Remove coderesp 2024-12-26 06:41:28 -05:00
Azalea
da467ec8ee [M] riik CMission repos 2024-12-26 06:38:45 -05:00
Azalea
f0923c51e6 [F] Fix trailing } 2024-12-26 02:43:25 -05:00
Azalea
d1953e792a [+] Show fc, ap 2024-12-26 02:42:19 -05:00
Azalea
b3294eed68 [+] Recreated assets 2024-12-26 02:30:51 -05:00
Azalea
37946c5aba [+] Helpful message for unsupported games 2024-12-25 16:31:01 -05:00
Azalea
ce80f65e9f [F] Fix avatar saving 2024-12-23 20:16:59 -05:00
Azalea
4dce42b85f [M] Migrate to svelte 5 routing 2024-12-23 19:51:34 -05:00
Azalea
88702085bb [-] Remove unnecessary showOpenFilePicker library 2024-12-23 19:49:31 -05:00
Azalea
2719522e07 [-] Remove unused rating page 2024-12-23 19:23:47 -05:00
Azalea
dd573945ed [F] Fix build warnings 2024-12-23 18:56:44 -05:00
Azalea
9cffb19332 [M] Migrate usage 2024-12-23 18:32:20 -05:00
Azalea
6631bb593c [U] Migrate to svelte 5, switch to bun 2024-12-23 18:32:02 -05:00
Azalea
f5959925aa [O] Handle ranking with binary search 2024-12-23 18:00:06 -05:00
Azalea
5b20cb316b [O] Pre-compute ranking cache 2024-12-23 15:58:02 -05:00
Azalea
8cb7ff8ed4 [+] Diff tool 2024-12-23 15:57:06 -05:00
Azalea
4bcf1f2d9e [F] Fix inconsistencies 2024-12-20 11:18:03 -05:00
Azalea
452b077822 [F] Fix nullable 2024-12-20 10:04:48 -05:00
Azalea
f37a32ceab [-] Remove unused functions 2024-12-20 09:32:16 -05:00
Azalea
7182514a64 [M] Rename var 2024-12-20 09:29:48 -05:00
Azalea
da60131051 [O] Refactor 2024-12-20 09:27:50 -05:00
Azalea
aa9804d2df [+] User data handlers 2024-12-20 09:00:13 -05:00
Azalea
10c1b9bc29 [M] Static endpoints 2024-12-20 08:42:43 -05:00
Azalea
698422a41e [-] Collapse more 2024-12-20 07:29:39 -05:00
Azalea
ac16f40303 [O] Collapse boring handlers 2024-12-20 07:14:14 -05:00
Azalea
e41bdecd5b [O] Better chusan handling 2024-12-20 07:01:19 -05:00
Azalea
c9a0a8d2b5 [F] Fix matching bad for real for real 2024-12-20 07:00:32 -05:00
Azalea
c308940c4b [F] Fix matching bad for real 2024-12-20 06:57:48 -05:00
Azalea
99770ccd2f [F] Fix matching bad??? 2024-12-20 06:54:40 -05:00
Azalea
2d4bb90acc [F] Fix chusan duplicate key 2024-12-20 06:25:41 -05:00
Azalea
e78d80b99d [-] Remove json property order? 2024-12-20 05:21:08 -05:00
Azalea
9f5cd6dc88 [M] Migrate chusan user data (NEED TESTING) 2024-12-20 05:12:44 -05:00
Azalea
85c0b670da [F] Fix lastClientId null 2024-12-20 04:53:48 -05:00
Azalea
813ec7d294 [O] Migrate sass import 2024-12-20 04:37:51 -05:00
Azalea
d66eb239fa [F] Fix table 2024-12-20 04:25:39 -05:00
Azalea
9fcc46b5d5 [O] Common superclass for chusan user entities
Co-Authored-By: 凌莞~(=^▽^=) <opensource@c5y.moe>
2024-12-20 03:34:04 -05:00
Azalea
3ebf8a2061 [F] 263 should be 264
Co-Authored-By: 云 <i@muir.fun>

#96
2024-12-20 01:29:01 -05:00
Azalea
de98085e84 [U] Update readme 2024-12-20 14:07:45 +08:00
2557b55817 [+] Chusan Luminous Plus A072-A112 (#96) 2024-12-20 14:03:21 +08:00
Azalea
128706e8a1 [O] Switch to bun 2024-12-17 21:46:34 -05:00
Azalea
d854d8ae0b [F] Fix userbox 2024-12-17 20:36:01 -05:00
Azalea
637191836a [F} Fix dropdown white on white 2024-12-17 20:35:44 -05:00
Azalea
69ab9d96f7 [F] Fix userbox 2024-12-17 20:09:48 -05:00
Azalea
073febe24a [+] Remove classes, migration guide 2024-12-17 20:09:26 -05:00
Azalea
f01a4fcfac [+] UserBox endpoints 2024-12-17 15:28:28 -05:00
Azalea
4f81a4e9b4 Merge branch 'metrics' into v1-dev 2024-12-12 17:07:55 -05:00
Azalea
1a06033964 [+] Hide allnet port 2024-12-12 17:06:32 -05:00
Menci
c5dad11e5e [+] Metrics (#95)
* Add actuator and micrometer

* update

* [-] Remove unused import

* [O] Make code less verbose

* format

* refactor

---------

Co-authored-by: Azalea <22280294+hykilpikonna@users.noreply.github.com>
2024-12-13 05:47:31 +08:00
Menci
5ed89754b3 refactor 2024-12-12 02:33:14 +08:00
Menci
ee88be613c format 2024-12-11 11:11:17 +08:00
Azalea
ebafb4c05e [O] Make code less verbose 2024-12-10 21:56:15 -05:00
Azalea
70466d0c94 [-] Remove unused import 2024-12-10 19:13:40 -05:00
Menci
340003c568 update 2024-12-10 23:30:30 +08:00
Menci
db5343fba3 Add actuator and micrometer 2024-12-07 02:32:48 +08:00
akatki
8434842c65 [F] AimeDB Felica Lookup v2 rename package parameter (#94)
* [F] AimeDB Felica Lookup v2 rename package parameter

* [F] AimeDB Felica Lookup v2 rename package parameter
2024-12-01 11:39:51 +08:00
Clansty
2482881117 [RF] AquaMai moved to new repo 2024-11-30 15:18:08 +08:00
Clansty
4afe2160e1 [F] CI after moving assets 2024-11-30 14:45:47 +08:00
Menci
6225390b7f [F] Set ForceAsSserver to default ON (#92)
* Set ForceAsSserver to default ON

* work as origin

---------

Co-authored-by: Clansty <i@gao4.pw>
2024-11-30 14:43:25 +08:00
凌莞~(=^▽^=)
d5a9c98ff9 [O] ResetTouchAfterTrack -> ResetTouch, add press key to reset (#93)
* [O] ResetTouchAfterTrack -> ResetTouch, add press key to reset

* fix

* update

* fix: Remove not work

---------

Co-authored-by: Menci <mencici@msn.com>
2024-11-30 05:29:30 +08:00
Clansty
bed1b85319 [+] LogUnity 2024-11-29 11:58:50 +08:00
Clansty
8a728ad28a [F] JudgeAccuracyInfo crashes demo 2024-11-29 05:43:41 +08:00
Clansty
c42f17c96e [+] Bump version 2024-11-27 03:49:27 +08:00
Clansty
054352356b [O] Locale 2024-11-27 03:35:01 +08:00
Menci
2646f642b5 [+] AquaMai.Config.ApiVersion (#91)
* Add ApiVersion

* Fix SectionNameOrder
2024-11-27 00:19:37 +08:00
Clansty
436bdde60a [O] Do not reset touch panel when quick retry 2024-11-26 21:22:18 +08:00
Clansty
07210a23b7 [F] unused lockCredits 2024-11-26 05:53:20 +08:00
Clansty
da36ef4002 [O] enforce type for SetEntryValue and some comment and type chore 2024-11-26 05:14:58 +08:00
Menci
e3b06b110f [+] LogNetworkRequests (#90)
* It doesn't work...

* Implement

* rename
2024-11-26 00:03:50 +08:00
Clansty
792dce6843 [+] Add some interfaces for attributes 2024-11-26 00:03:35 +08:00
Clansty
0ec048ceba [F] LoadFromPacked Occupying file 2024-11-25 22:32:50 +08:00
Menci
07631e9b02 [F] AquaMai upload task shouldn't run on PR builds 2024-11-25 18:32:48 +08:00
Clansty
4834363fb5 [+] Add LatestVersion to interface 2024-11-25 04:04:04 +08:00
Menci
734dbfb761 [F] Fix AquaMai CI after config refactor (#89)
Message from previous commit:

[RF] AquaMai configuration refactor (#82)

更新了配置文件格式,原有的配置文件将被自动无缝迁移,详情请见新的配置文件中的注释(例外:`SlideJudgeTweak` 不再默认启用)
旧配置文件将被重命名备份,如果更新到此版本遇到 Bug 请联系我们

Updated configuration file schema. The old config file will be migrated automatically and seamlessly. See the comments in the new configuration file for details. (Except for `SlideJudgeTweak` is no longer enabled by default)
Your old configuration file will be renamed as a backup. If you encounter any bug with this version, please contact us.
2024-11-25 02:15:04 +08:00
Menci
37044dae01 [RF] AquaMai configuration refactor (#82)
更新了配置文件格式,原有的配置文件将被自动无缝迁移,详情请见新的配置文件中的注释(例外:`SlideJudgeTweak` 不再默认启用)
旧配置文件将被重命名备份,如果更新到此版本遇到 Bug 请联系我们

Updated configuration file schema. The old config file will be migrated automatically and seamlessly. See the comments in the new configuration file for details. (Except for `SlideJudgeTweak` is no longer enabled by default)
Your old configuration file will be renamed as a backup. If you encounter any bug with this version, please contact us.
2024-11-25 01:25:19 +08:00
Clansty
e9ee31b22a [F] 0.10000000149011612 2024-11-22 18:18:48 +08:00
Azalea
cf0e3ce989 [F] Should be card id, not game user id 2024-11-21 12:41:24 -05:00
Azalea
27664164fa [F] Fix ranking reindex 2024-11-21 12:34:59 -05:00
Azalea
b7360c426b [F] Fix encountMapNpcList runtime error 2024-11-21 12:28:09 -05:00
Azalea
0e176d5608 [F] Fix warnings 2024-11-21 12:26:36 -05:00
Azalea
a947a81772 [F] oops forgor 2024-11-21 12:16:17 -05:00
Azalea
bbb4185fac Merge branch 'v1-dev' of https://github.com/hykilpikonna/AquaDX into v1-dev 2024-11-21 12:12:09 -05:00
Azalea
e34f0587fe [O] Optimize ranking 2024-11-21 12:10:44 -05:00
Clansty
0e02dd660c [F] IconLoader 2024-11-22 00:59:25 +08:00
Azalea
2376e511ac [+] DB migration for ranking optimization 2024-11-21 11:39:36 -05:00
Azalea
56bf447cdb [M] Move opt out leaderboard to correct place 2024-11-21 11:39:23 -05:00
Azalea
5ebb1718d6 [-] Remove SQLite migrations 2024-11-21 10:49:21 -05:00
Clansty
9143b92932 [F] BasicFix 2024-11-21 18:47:56 +08:00
Azalea
fbff4a8cb1 [O] Optimize chu3 user data 2024-11-21 01:51:29 -05:00
Azalea
b02371e4c3 [O] Optimize auto-ban 2024-11-21 01:49:45 -05:00
Azalea
e32a2bbe81 [F] Fix hibernate enhance compilation 2024-11-20 22:29:45 -05:00
Azalea
10ebd61519 [+] Kotlin Hibernate enhance 2024-11-20 22:25:48 -05:00
Clansty
7ac90891ca [F] should hook getter 2024-11-21 01:53:12 +08:00
Clansty
711c18a7f1 [+] ForceIgnoreError 2024-11-20 04:06:15 +08:00
Clansty
b3cb08316a [+] ForceNonTarget 2024-11-20 02:46:41 +08:00
Clansty
42b8b9ce4a [O] RemoveEncryption should default true 2024-11-20 02:25:16 +08:00
村場 榞彦
fc4834ebd6 [+] Support More Custom Png Assets (#85)
素材放置于AssetBundleImages,支持姓名框背景板旅行伙伴,Icon仍在修,navichara和PartnerResult在写
2024-11-20 02:16:22 +08:00
Clansty
24ab79a09a [O] Comments 2024-11-20 02:08:47 +08:00
Clansty
786a8832d3 [+] Make it configurable 2024-11-19 01:38:29 +08:00
Minepig
4d25b6a43c Accuracy info and other features (#84)
* tweaks slide fade in

* judge accuracy info

* Update SlideArrowAnimation.cs
2024-11-19 01:32:18 +08:00
Clansty
29bb54d2cc [O] Show quick skip after 1sec 2024-11-16 18:42:10 +08:00
Clansty
cd075a3559 [F] RatingUpWhenSSSp Algo 2024-11-16 01:47:07 +08:00
Clansty
0455a83ef1 [+] Play Count in SelectionDetail 2024-11-16 00:53:22 +08:00
Clansty
6c5791b1fe [F] UpsertUserAll Crash with usernames longer than 8 chars 2024-11-14 22:58:20 +08:00
Clansty
705b6cc03d [F] Maybe fixed some PractiseMode problems 2024-11-14 22:52:40 +08:00
Clansty
b190e54285 [+] TouchResetAfterTrack 2024-11-14 22:52:21 +08:00
Clansty
478db15211 [F] Practice mode crash on AdvDemoProcess 2024-11-06 13:58:07 +08:00
Clansty
1542f3811d [F] Skip button background 2024-11-06 12:10:20 +08:00
Minepig
85dd8029af [+] Slide related visual feature (#81)
New Features:
1. Invert the Slide hierarchy
2. Slide Track shrinking animation

Changes:
1. Improve the visual effect of Break-Slide judge blink
2. `DisableTrackStartTabs` now also hide user's best achievement
2024-11-06 11:54:53 +08:00
Clansty
11beb6676e [+] Show alert in CI builds 2024-11-06 11:40:20 +08:00
Clansty
99d7fe5ca2 [F] SQL 2024-11-04 20:42:37 +08:00
Clansty
248c1ce189 [+] optOutOfLeaderboard 2024-11-04 20:32:50 +08:00
bf972681d5 [+] CardMaker 1.39 support (#79) 2024-11-04 19:18:56 +08:00
Clansty
996632ac73 [O] Allow change maimai name to chinese characters in settings 2024-11-04 19:09:48 +08:00
Clansty
b28a1986c9 [O] Disallow using card/summary to query others' card 2024-11-04 19:00:44 +08:00
Clansty
fb96e93184 [+] Configurable mod key map manager 2024-11-01 17:03:57 +08:00
Clansty
ac4db91df4 [F] userActivityList not unique error 2024-10-31 01:30:18 +08:00
Clansty
408845878b [+] Increase version code 2024-10-30 07:27:54 +08:00
Clansty
7933d49bb2 [RF] Move some patches to visual 2024-10-28 06:09:42 +08:00
Clansty
6945032077 [RF] Move sub-config classes to their own directory 2024-10-28 05:56:54 +08:00
Clansty
0af137ba8c [+] Add config entries for new patches (#77) 2024-10-28 05:43:55 +08:00
Clansty
de3d376063 [F] SinglePlayer compatibility with 1.09.00 2024-10-28 00:04:43 +08:00
Clansty
36da872932 [O] Locale 2024-10-27 23:56:26 +08:00
Clansty
ff2ed50dea [+] Mark supported game versions with attributes 2024-10-27 23:34:41 +08:00
Clansty
6bb2685e03 [+] Generate example config via attributes 2024-10-27 22:44:12 +08:00
Clansty
5eb0424ee7 [F] Bot renderer crash when b35 or b15 is empty 2024-10-27 04:32:02 +08:00
Menci
80536ef4fb [+] New APIs 2024-10-26 02:24:42 +08:00
Clansty
f3bebc6fa2 [F] Fody should merge System.Numerics 2024-10-25 22:16:08 +08:00
Minepig
d0bb3cc75c [+] Slide code support & split multiple patches (#77)
* 功能拆分

将不同的功能分拆到不同文件

* Slide code notation support

This is part of Maimai DX 2077 patch set.
New MA2 commands: NMSSS, BRSSS, EXSSS, BXSSS, CNSSS
2024-10-25 20:42:08 +08:00
WYH2004
98213cff67 [+] ShowErrorLog (#74)
* [+] ShowErrorLog

* [O] Fixed spelling errors in method names
2024-10-25 20:20:26 +08:00
Clansty
c074de5876 [+] SinglePlayer support legacy game versions 2024-10-25 00:45:12 +08:00
Clansty
906bdfa15e [+] GUI style 2024-10-24 02:12:36 +08:00
Clansty
e844164cf6 [+] Splash+ support 2024-10-24 01:15:55 +08:00
Clansty
1b47bfa2f1 [F] Unable to save in lower versions 2024-10-24 00:27:04 +08:00
Azalea
33997c9a82 Merge pull request #69 from Becods/v1-dev
[+] Maimai DX Buddies Plus I011
2024-10-22 06:21:55 -07:00
Azalea
4713a44573 [F] Fix #68 2024-10-22 09:20:33 -04:00
Clansty
be7b0945e9 [+] Increase version code 2024-10-22 00:19:43 +08:00
Clansty
0f1bfc5a17 [+] TouchPanelBaudRate 2024-10-22 00:19:12 +08:00
Clansty
3bc9f1382c [O] Hide skip button after click 2024-10-19 19:56:47 +08:00
Menci
a08e93d975 [F] Refactor CustomCameraId and remove hard-coded enums / IDs (#71)
* refactor

* Add PrintCameraList check

* Separate PrintCameraList to a class

* cleanup
2024-10-19 01:34:53 +08:00
Clansty
91a120599f [F] Repeat resets speed 2024-10-17 16:52:46 +08:00
Becods
5d399b2497 [+] Maimai DX Buddies Plus I011 2024-10-17 11:11:27 +08:00
WYH2004
0cab18b9b5 [+] CustomCameraId (#66)
* [+] CustomCameraId

* [F] Map CameraType to the correct Camera IDs using enum

* [+] GameInfo Utils

* [+] CustomCameraId Add ChimeCamera Support

* [+] Decide whether to print a CameraList based on the Config
2024-10-17 02:26:44 +08:00
Clansty
903da8732d [+] keep note speed when changed speed 2024-10-16 19:23:32 +08:00
Clansty
6857ae5182 [F] CurrentPlayMsec conflict with speed settings 2024-10-16 18:59:31 +08:00
Clansty
5bcbffcdf0 [F] Notes shift after set speed 2024-10-16 18:41:07 +08:00
Clansty
953083a0bf [F] Seek resets speed 2024-10-16 18:11:17 +08:00
Clansty
1810bbe2d5 [+] QuickEndPlay button when notes play end 2024-10-16 01:05:04 +08:00
Azalea
f716ab0c1b Merge pull request #67 from Becods/v1-dev
[+] Chusan Luminous Plus Events
2024-10-15 06:05:39 -04:00
Clansty
e04e5596a3 [+] IgnoreAimeServerError 2024-10-15 17:05:55 +08:00
Becods
f239d498ad [+] Chusan Luminous Plus A071 2024-10-15 10:35:05 +08:00
Becods
7b768b5b5b [+] Chusan Luminous Plus A000 to A001 2024-10-15 10:06:45 +08:00
Azalea
60813274dc [F] Forgor to login :( 2024-10-14 15:27:01 +08:00
Azalea
ad5bc4fc0d [+] Add ghcr.io repo as well 2024-10-14 15:26:02 +08:00
Azalea
c1c6949175 [+] ARM support? 2024-10-14 15:20:02 +08:00
Azalea
26840700ee [-] Revert docker-compose to using pre-built image 2024-10-14 15:11:52 +08:00
Azalea
ec610de266 [PR] #52 from istareatscreens/add-arm-support
Change docker-compose to support ARM
2024-10-14 03:10:49 -04:00
Azalea
f4129ff5c2 [+] Docker image action 2024-10-14 15:08:48 +08:00
Menci
b8cc6d9809 CI (#62) 2024-10-14 02:05:23 +08:00
Menci
9384d1d96f [+] Bypass Cake.dll hash check and SSL pinning (#63)
* Bypass Cake.dll hash check and SSL pinning

* Move to BasicFix
2024-10-14 02:04:26 +08:00
Menci
854b6b76a0 Fix headphone volume not set with SkipToMusicSelection (#65) 2024-10-14 02:02:58 +08:00
Menci
bc836e973c [F] Fix reflect invoking arguments in Shim (#64) 2024-10-14 01:06:15 +08:00
Clansty
bf9855abd1 [O] better _isPlaying detection 2024-10-13 23:54:53 +08:00
WYH2004
4006438d93 [+] TouchToButtonInput On Aquamai (#58)
Co-authored-by: Clansty <i@gao4.pw>
2024-10-13 23:36:28 +08:00
Menci
cdfb86e021 [+] Support official quick retry (3456) in UX/QuickSkip
Merge pull request #60

* Official quick retry
2024-10-13 21:45:14 +08:00
Menci
81e0232712 [O] Support SDGA and other game version in one binary
Merge pull request #61

* Merge targets

* Merge branch 'v1-dev' into fork/Menci/merge-targets

* [O] Move Shim to AquaMai.Helpers

---------

Co-authored-by: Clansty <i@gao4.pw>
2024-10-13 21:38:28 +08:00
Menci
e67b68aa20 [O] Refactor AquaMai.csproj to SDK style (#59)
* SDK style

* Update CI

* remove extra code

* [F] CI build and add CI for PR

* [F] Assembly version info

* [F] Do not generate satellite assembly for locale

---------

Co-authored-by: Clansty <i@gao4.pw>
2024-10-13 20:25:25 +08:00
Clansty
a075de4711 [+] Increase version code 2024-10-08 17:02:25 +08:00
Clansty
6d782352f7 [F] Compatibility for modified package 2024-10-07 23:29:59 +08:00
凌莞~(=^▽^=)
587993c957 Merge pull request #56 from shirokosunaookami/patch-1
Fix QuickRetry when use io4 firmware
2024-10-06 20:59:54 +08:00
shirokosunaookami
aaca3e65ce Fix QuickRetry when use io4 firmware 2024-10-06 20:57:49 +08:00
Azalea
ce53acdacf [F] Fix bound must be greater than origin 2024-10-05 05:51:55 -04:00
Azalea
a449bac130 [U] Update usage 2024-10-05 05:36:53 -04:00
Azalea
060bd32417 [F] Fix docstring 2024-10-05 05:36:28 -04:00
Azalea
08a1595d3e Merge branch 'v1-dev' of https://github.com/hykilpikonna/AquaDX into v1-dev 2024-10-05 05:35:53 -04:00
Azalea
b88c56b67a [F] Fix migrate card setting null for non-null field 2024-10-05 05:35:48 -04:00
Clansty
7deb395fd9 [+] Fix level display everywhere 2024-10-05 00:20:07 +08:00
Clansty
2ef104224b [O] make image same in two monitors 2024-10-04 23:07:44 +08:00
Clansty
d84b2f3870 [+] CustomLogo 2024-10-04 22:45:48 +08:00
Clansty
7e5467935b [+] HanabiFix + HideHanabi 2024-10-04 20:48:06 +08:00
Clansty
f7c1714cb8 [+] config file entry 2024-10-04 20:19:51 +08:00
Clansty
12724cea56 [+] Add options 2024-10-04 19:38:02 +08:00
凌莞~(=^▽^=)
2cea66cba5 Merge pull request #55
Customize note skin (just like MajdataView) &  several patches
2024-10-04 19:23:55 +08:00
凌莞~(=^▽^=)
ac01469eac Merge branch 'v1-dev' into v1-dev 2024-10-04 19:23:16 +08:00
Clansty
cb4cc4e7d9 [F] PractiseMode 2024-10-04 16:12:14 +08:00
Minepig
c648493a9e 自定义皮肤功能 2024-10-04 13:47:07 +08:00
Minepig
a36da6ebde 修复了闲置播放紫谱忘记改touch速度的问题 2024-10-04 13:45:50 +08:00
Minepig
4fd2fc7e00 个人录制谱面确认时用得到的patch 2024-10-04 13:44:51 +08:00
Minepig
39646732b6 增加了BreakSlide判定闪烁、圆弧Slide判定对齐、Wifi判定区分上下 2024-10-04 13:44:20 +08:00
Minepig
8791507aca 修正了Slide在AutoPlay时的轨迹箭头显示 2024-10-04 13:42:53 +08:00
Minepig
c173b2a230 修复连锁Slide的读取逻辑(刹那旅程爆机bug) 2024-10-04 13:41:48 +08:00
Clansty
05d2df623e [O] update config example 2024-10-04 00:26:54 +08:00
Clansty
e75a1fcd12 [+] PracticeMode config entry 2024-10-03 20:51:42 +08:00
Clansty
529165f2b5 [F] Fix text shadow a little bit 2024-10-03 20:02:10 +08:00
Clansty
9a5743a27e [+] Show play time on PractiseModeUI 2024-10-03 17:05:00 +08:00
Clansty
271ef9bf00 [F] SinglePlayer without remove mask 2024-10-03 16:40:51 +08:00
Clansty
3a97f7645e [O] Check object with maybeUserMusicList 2024-10-03 16:06:32 +08:00
Clansty
a84bf9efef [+] Import from a userMusicDetailList Json 2024-10-03 15:51:18 +08:00
Azalea
daa5129f65 [O] Make a non-callback version of cardByName 2024-10-03 02:47:20 -04:00
Clansty
ac375abf5e [+] Some font features 2024-10-02 23:28:33 +08:00
Clansty
bae5a7c838 [O] Make HideMask separate component 2024-10-02 19:03:30 +08:00
Clansty
1bcb7210c6 [+] Custom Keymap 2024-10-02 14:41:20 +08:00
Clansty
c15dcf6b98 [+] FrameRate lock + display 2024-10-02 00:52:37 +08:00
Clansty
9ead7a413e [+] able to switch off WindowState 2024-10-01 15:50:00 +08:00
Clansty
07817b04fb [F] SelectionDetail window size 2024-10-01 01:10:16 +08:00
Clansty
e65d67f12e [+] Network error reason 2024-10-01 01:00:32 +08:00
Clansty
e39f013808 [+] Show tip when saving is done 2024-10-01 00:15:55 +08:00
Clansty
c34affc215 [F] Maybe fix practise mode 2024-09-30 14:21:10 +08:00
Clansty
07b8cc04be [+] i18n 2024-09-30 01:26:54 +08:00
Clansty
78a396ce4b [F] SelectionDetail Font size
[RF] Move SelectionDetail to Utils
[RF] Remove UrGui
[RF] Refactor SelectionDetail
2024-09-29 23:12:22 +08:00
Clansty
43997f2215 [+] Increase version code 2024-09-29 13:05:51 +08:00
Clansty
e9bac0a737 [O] Disable MipMap 2024-09-29 13:03:54 +08:00
Clansty
e7c69d2a6b [+] PractiseModeUI 2024-09-28 23:06:06 +08:00
Clansty
8c3400ee41 [O] better get player 2024-09-28 19:42:42 +08:00
Clansty
3d79c939e9 [+] Speed change 2024-09-28 17:35:59 +08:00
Clansty
27b8e6bd21 [+] PractiseMode Debugging 2024-09-28 16:30:19 +08:00
Clansty
24ecaab570 [O] better polyfill load 2024-09-28 15:31:58 +08:00
Clansty
74e39c437d [+] Window Magic! 2024-09-27 21:50:27 +08:00
Clansty
c1c7788cd3 [O] Auto detect if DebugFeature is need to be patched 2024-09-27 20:18:53 +08:00
Clansty
a2db465825 [+] Skip track start screen 2024-09-27 19:33:37 +08:00
Clansty
9605264b9a [RF] Move some settings to TimeSavingConfig 2024-09-27 19:19:42 +08:00
Clansty
24e6808984 [+] seeking in DebugFeature 2024-09-27 18:59:27 +08:00
Clansty
0d9c7a4cc2 [F] Default string value 2024-09-24 20:18:10 +08:00
Azalea
3c6ecf1563 [+] Add cat 🐱 2024-09-23 15:57:55 -04:00
Clansty
5c634d6ff9 [+] Telegram and QQ join link 2024-09-22 19:41:47 +08:00
Clansty
6b51155bac [F] Remove debug log 2024-09-20 02:36:48 +08:00
Clansty
1873ad8355 [+] Increase version code 2024-09-17 11:21:11 +08:00
Clansty
8087396188 [+] TouchSensitivity 2024-09-17 06:25:52 +08:00
Clansty
5128db9f6c [+] Global judge adjust 2024-09-17 04:13:51 +08:00
Clansty
ef832461c0 [O] Change target name 2024-09-17 03:26:33 +08:00
Clansty
85493cdfd8 [+] Write example config when config not found 2024-09-17 03:24:35 +08:00
Clansty
e557f1361d [+] Error notice 2024-09-17 02:58:37 +08:00
Clansty
9598ac5a50 [F] Crash with the new modified SDEZ145 DLL with deleted methods 2024-09-17 02:48:07 +08:00
Clansty
5ee7add355 [+] Force Paid play 2024-09-17 02:34:38 +08:00
Clansty
81c1e6e887 [+] Increase version code 2024-09-12 21:56:23 +08:00
Clansty
b7004b3866 [+] Extend notes pool to support some odd charts 2024-09-12 21:54:37 +08:00
Clansty
5341326811 [O] Coming soon! -> Coming soon™ 2024-09-11 01:57:17 +08:00
Clansty
776c08e605 [F] RemoveEncryption error with SDEZ 2024-09-11 01:35:17 +08:00
Clansty
b7c5d18df1 [+] Log user ID on login 2024-09-11 00:56:15 +08:00
Clansty
39dc6c576a [F] Nested types patches without enable 2024-09-11 00:38:13 +08:00
Clansty
d9fc262003 [F] Nested types patches without enable 2024-09-11 00:26:45 +08:00
Clansty
9b7f2b3a79 fix: Level display shift when level number not match display level 2024-09-08 17:09:38 +08:00
Clansty
1ad4ac2d63 [+] SelfMadeChartsWhiteListUsers 2024-09-07 22:17:01 +08:00
Clansty
9ca7949bf0 [+] Globally disable self made charts 2024-09-07 22:11:01 +08:00
Clansty
d2174364b2 [F] reset HideSelfMadeCharts when enter login screen 2024-09-07 21:27:48 +08:00
Clansty
91238c3a9c [+] Increase version code 2024-09-07 00:22:43 +08:00
Clansty
d32c8c999b [O] more accurate genreName and versionName for SelectionDetail 2024-09-06 23:24:44 +08:00
Clansty
6580b78485 [+] Load png TabTitle 2024-09-06 23:15:53 +08:00
Clansty
0eec8dea05 [+] Support 2p SelectionDetail 2024-09-06 17:34:43 +08:00
Clansty
8fa356242e [+] Port SelectionDetail 2024-09-06 16:41:29 +08:00
istareatscreens
a13611f601 Change docker-compose to support ARM 2024-09-05 08:33:38 -04:00
Clansty
e8307cdcd9 [+] toggle the display of self-made charts 2024-09-05 02:31:07 +08:00
Clansty
ca425cf949 [+] Increase version code 2024-09-04 18:54:27 +08:00
Clansty
9f57d393bf [F] LoadJacketPng and RandomBgm crash when LocalAssets not exists 2024-09-04 15:32:11 +08:00
Clansty
84c59e2c8b [+] Support all Melonloader versions 2024-09-04 15:12:32 +08:00
Clansty
212f60db60 [+] Increase version code 2024-09-03 01:11:01 +08:00
Clansty
fbbdb056d7 [O] Retry attempts of action 2024-09-02 23:50:05 +08:00
Clansty
e3c0fe5e78 [+] Also enable shop name display in SDGA when CustomPlaceName is set 2024-09-02 23:15:25 +08:00
Clansty
a3afb1a2b8 [+] Custom shop name in photo 2024-09-02 23:02:47 +08:00
Clansty
ac94b6d917 [F] Uppercase extension 2024-09-02 21:45:47 +08:00
Clansty
8db9580ff5 [+] Restore AutoPlay(Home) and Pause(Enter) for SDGA 2024-09-02 17:35:31 +08:00
Clansty
489c00ebb0 [+] Load Jacket from A???\AssetBundleImages\jacket\*.png 2024-09-02 17:06:34 +08:00
Clansty
d58fe84439 [+] Make ForceAsServer and ForceFreePlay individual components 2024-08-22 20:17:26 +08:00
Clansty
ffe3843747 [i18n] Add zh version of config toml 2024-08-22 02:16:38 +08:00
Clansty
b370af3c19 [F] Remove debug logs 2024-08-22 01:49:41 +08:00
Clansty
cdd3c81bdc [+] Prevent accidental touch of the Test button 2024-08-20 00:36:41 +08:00
Clansty
eb72839e2b [+] trigger QuickSkip with service key 2024-08-20 00:00:00 +08:00
Clansty
6457cedd9b [+] CI build for AquaMai 2024-08-16 19:23:12 +08:00
凌莞~(=^▽^=)
be72ea0c98 Merge pull request #50 from Becods/v1-dev
The play count should be the PC count not the TRACK count.
2024-08-12 14:50:43 +08:00
bf5691bdb6 [F] The play count should be the PC count not the TRACK count. 2024-08-12 12:45:20 +08:00
Clansty
a6a8734599 [+] Setting of score rounding and fix bugs 2024-08-08 14:49:20 +08:00
Clansty
d0aecc76ed [O] Move general game settings to general tab 2024-08-08 13:50:14 +08:00
Azalea
3b80b8d7f1 [F] Fix wrong implementation in GetUserMapAreaApi
Thanks rinsama for the patch
2024-08-08 00:31:18 -04:00
Clansty
c11bb3be59 [F] Rival may lead to unable to login the game 2024-08-07 19:46:35 +08:00
Clansty
7ee4c14fae [+] API for bot to ban user from ranking board 2024-08-06 15:13:54 +08:00
Clansty
17a0209c8c [F] Chuni rating display 2024-08-05 23:34:02 +08:00
Clansty
fc10c05731 [F] export api and game api leaking lastClientId 2024-08-05 21:36:20 +08:00
Clansty
9ef0d0edfb [F] mai2: Error when rival list empty 2024-08-05 21:15:32 +08:00
Clansty
473f4a4295 [+] mai2: support adding rival 2024-08-05 20:37:18 +08:00
Clansty
94ba1f0b09 [+] AquaMai: Add CalcSpecialNum 2024-08-05 20:37:07 +08:00
Clansty
8903fa268a [+] CheckServerHash 2024-08-04 12:27:19 +08:00
Clansty
6ad980d471 [F] Encrypt and Decrypt hook run without enabled in config 2024-08-04 12:26:48 +08:00
Clansty
9a6e9c4660 [+] Some API endpoints for bot query 2024-08-02 08:51:24 +08:00
Clansty
f7c842774b [+] Return AquaNet profile photo as maimai userPortrait 2024-08-01 13:34:54 +08:00
Clansty
fde952fcd9 [+] Add option to disable the legacy aquaviewer api 2024-08-01 09:38:36 +08:00
Clansty
a71c2bd8ec [+] Import player data, tested with maimai 2024-08-01 08:41:11 +08:00
Clansty
7c4f887ef4 [+] Export maimai userdata 2024-08-01 06:56:31 +08:00
Clansty
b32b0e970c [+] Add change name for maimai and refactor settings page 2024-07-31 09:03:26 +08:00
Clansty
836f789fc9 [+] Only show UserBox if user played chuni 2024-07-31 07:06:16 +08:00
凌莞~(=^▽^=)
6b71e2f22a Merge pull request #42 from alexay7/usebox
Added UserBox page (Chunithm)
2024-07-31 05:20:43 +08:00
凌莞~(=^▽^=)
1fa83d3f8f [+] Add SDGA 1.45 support in README 2024-07-30 01:00:33 +08:00
Clansty
247f8f132b [F] Some compatability for 2p mode 2024-07-30 00:39:58 +08:00
Clansty
3fcdf38d4a [F] Game crash on ResultProcess when login as guest 2024-07-29 23:59:30 +08:00
Clansty
0626d1c466 [F] Crash when playing tutorial 2024-07-29 23:38:47 +08:00
Clansty
f0da7c6300 [F] Wrong SQL syntax 2024-07-29 23:08:10 +08:00
Azalea
2554478a38 Merge pull request #47 from Becods/v1-dev
[+] Chusan Luminous A151 to A181
2024-07-29 07:22:28 -07:00
Clansty
d7f24759d8 [+] Allow use any characters in maimai name 2024-07-29 10:25:15 +08:00
Clansty
df3bd6fbec [+] Allow register-card via http 2024-07-29 06:18:53 +08:00
Clansty
11ab81a484 [F] Upsert error when isNewFavoritemusicList is Null 2024-07-29 06:15:55 +08:00
Becods
91e7a092c4 [+] Chusan Luminous A151 to A181 2024-07-29 05:07:23 +08:00
alexay7
bca5130020 Modify way to get user luid 2024-07-28 03:45:22 +02:00
Clansty
153029abdd [+] Add Character all unlock 2024-07-28 06:02:19 +08:00
Clansty
03ed3f13f4 [+] Support setting favourite music 2024-07-28 00:56:18 +08:00
Clansty
8c7fd78bd4 [+] Support setting favourite items 2024-07-27 23:58:12 +08:00
Clansty
a813535e3f [+] Fix DebugInput (MouseTouchPanel) 2024-07-27 05:47:45 +08:00
Clansty
7cae5f8f10 [+] Add 6 new APIs 2024-07-27 00:37:47 +08:00
Clansty
070c19d784 [+] GetGameWeeklyDataApi 2024-07-26 23:59:01 +08:00
Clansty
0833cd8a9b [+] Basic fix 2024-07-26 23:24:42 +08:00
Clansty
64f3a2db58 [F] Build for SDGA1.45 2024-07-26 22:55:53 +08:00
Azalea
ad8a425d30 Merge pull request #46 from Becods/v1-dev
Player names should allow the use of hiragana and katakana.
2024-07-20 17:29:30 +08:00
40d5c8d79f [F] Player names should allow the use of hiragana and katakana 2024-07-18 20:16:03 +08:00
Clansty
c6e471323f [+] Fixes required to run SDGA 2024-07-09 18:11:06 +08:00
Clansty
60a0c8726e [O] Move SkipVersionCheck to Fix 2024-07-09 16:30:30 +08:00
Clansty
5772ff78e6 [+] Allow login with higher data version 2024-07-09 16:18:54 +08:00
Clansty
222ed29b6c [F] SDGA Support 2024-07-09 16:18:22 +08:00
Azalea
23870523fb Merge pull request #45 from yuuz233/patch-1
Update game_specific_notes.md
2024-06-27 16:02:08 +08:00
yuzusoft
b1a1d36b66 Update game_specific_notes.md
Latest doc for latest tested working support of game
2024-06-27 10:24:02 +08:00
Clansty
2946c51774 [+] Use the png jacket as bga 2024-06-26 03:11:56 +08:00
Clansty
8b72214780 [+] Load jacket with higher resolution 2024-06-19 21:12:29 +08:00
Clansty
0f701ad2d3 [+] Unlock Utage 2024-06-19 20:57:32 +08:00
Clansty
d686c48a0b [+] Save immediate after playing a song 2024-06-16 17:58:20 +08:00
Clansty
80555f9c96 [F] B50 algorithm 2024-06-15 01:47:18 +08:00
alexay7
ec1155b1ba Merge branch 'hykilpikonna:v1-dev' into usebox 2024-06-06 23:54:35 +02:00
alexay7
7377386ee2 Fix layout breaks when options are large 2024-06-05 19:43:40 +02:00
alexay7
f4bb1101bf Added UserBox page 2024-06-05 18:57:48 +02:00
Azalea
e44188b830 Merge pull request #40 from alexay7/v1-dev
Filter days with no plays from heatmap
2024-06-05 12:28:00 +08:00
alexay7
c5d81afdf6 Filter days with no plays from heatmap 2024-06-05 02:46:29 +02:00
Clansty
f6d55fec35 [+] Skip "Discovered new area" 2024-05-26 13:36:56 +08:00
Clansty
2ef8219f15 [F] Skip Event Info 2024-05-26 13:21:03 +08:00
Clansty
bf9197b3e4 [F] Game crash after one track with new AIME with SkipToMusicSelection 2024-05-26 12:59:16 +08:00
Clansty
27b1a31436 [+] Quick end game with "select" key 2024-05-26 11:58:04 +08:00
Clansty
9b51c8cab4 [+] Totally disable and hide timer + fix side effects when ExtendTimer is on 2024-05-26 11:28:06 +08:00
Clansty
114a452609 [+] Skip "Dont tap or slide vigorously" and "Bye" when QuickSkip is on 2024-05-26 10:33:29 +08:00
Clansty
ef85156bae [F] Need to press skip multiple time to exit photo edit while ExtendTimer is on 2024-05-26 10:11:29 +08:00
Clansty
e55d17fd08 [+] Skip the wait progress after one player login in 1p mode 2024-05-26 09:40:24 +08:00
Clansty
8b83205b0a [F] Mouse input with 1P mode 2024-05-22 12:04:36 +08:00
Clansty
2251350a4e [+] Change every timer to 200 seconds 2024-05-21 21:17:30 +08:00
Clansty
f106a31990 [+] Unlock maps that are not in this version 2024-05-21 03:49:19 +08:00
Clansty
c9f222583a [+] Play "Master" difficulty on Demo screen 2024-05-20 23:36:52 +08:00
Clansty
13fc51a8a5 [F] May fix sometime custom command not triggered 2024-05-20 22:40:02 +08:00
Clansty
21309cddf0 [+] Execute some command on game idle or on game start 2024-05-20 22:31:27 +08:00
Azalea
86164ba518 [F] Fix link card null 2024-05-17 21:22:13 +08:00
Azalea
8173003144 [F] Fix rating composition null elements, generalize
#35
2024-05-16 11:25:22 +08:00
Azalea
f9c8b00587 [PR] #35 from Becods: i18n and rating page fixes
I18n update and rating page fixes
2024-05-16 11:04:15 +08:00
Becods
b77da0f143 [+] More i18n 2024-05-16 10:48:48 +08:00
Becods
ed955150df [F] If id is 0, skip 2024-05-16 10:43:02 +08:00
Azalea
f282197611 Merge pull request #34 from Becods/v1-dev
[+] Add ongeki b55
2024-05-16 01:53:20 +08:00
Clansty
93ce932d28 [F] Unable to load music Acb 2024-05-15 23:57:55 +08:00
Clansty
29505fa4a3 [F] Disable 2P music 2024-05-15 23:29:42 +08:00
Clansty
991442d5c0 [+] Random old version maimai BGM 2024-05-15 21:01:19 +08:00
Becods
e7b5991dbf [+] Add ongeki b55 2024-05-13 10:13:17 +08:00
Azalea
fb72317c6f [+] AquaMai: Skip event and info screen for new users 2024-05-08 21:47:36 +08:00
Azalea
7992568c0f Merge branch 'v1-dev' of https://github.com/hykilpikonna/AquaDX into v1-dev 2024-05-08 21:43:40 +08:00
Azalea
38666b7c99 [O] Try to fix reboot (again) 2024-05-08 21:43:19 +08:00
Azalea
1f3f143ffb Merge pull request #32 from Becods/v1-dev
[+] Add ongeki 1.45 and supplement missing events
2024-05-06 11:31:52 +08:00
Becods
156ece4bb5 [+] Add ongeki 1.45 and supplement missing events 2024-05-06 11:29:25 +08:00
Clansty
770d1ae689 [F] Modify ImproveLoadSpeed to only skip delays to reduce bugs 2024-05-05 19:54:50 +08:00
Azalea
d7287c48cf Merge pull request #30 from Becods/v1-dev
[+] Add nginx configuration template
2024-05-01 07:35:10 -04:00
Azalea
b4c329f2f9 Merge branch 'v1-dev' of https://github.com/hykilpikonna/AquaDX into v1-dev 2024-05-01 19:23:40 +08:00
Azalea
cb2219e2cd [O] Clarify something in the readme 2024-05-01 19:23:36 +08:00
65f0bfa8a4 [+] Add nginx configuration template 2024-05-01 01:26:08 +08:00
Clansty
7090e0a47b [F] Play Activity maybe missing last several days of current month 2024-04-30 23:43:04 +08:00
Azalea
fbb4d61194 [U] Update readme features 2024-04-28 09:38:17 -04:00
Azalea
634b0b50ff [F] Fix disable reboot patch 2024-04-28 09:13:22 -04:00
Azalea
7ff66e9277 [+] AquaMai: Disable reboot 2024-04-28 09:04:46 -04:00
Azalea
b93cc3ab20 [F] Fix migration 2024-04-28 08:17:59 -04:00
Azalea
55e7052189 [+] Migrate: Remove signed IDs 2024-04-28 08:15:13 -04:00
Azalea
5a9808de59 [F] Narrow id range to avoid the signed bit in uint32 2024-04-28 07:48:44 -04:00
Azalea
a30b34df70 [F] Fix mai reboot? 2024-04-26 11:19:45 -04:00
Azalea
482b19dd5a [F] Fix mai reboot? 2024-04-26 11:15:07 -04:00
Azalea
7895ed89f1 [+] Add SDGA and SDGB to AllNet 2024-04-26 00:13:24 -04:00
Azalea
8449853076 [F] Fix maimai reboot time setting 2024-04-26 00:11:50 -04:00
Azalea
affec8d3c1 Merge branch 'v1-dev' of https://github.com/hykilpikonna/AquaDX into v1-dev 2024-04-25 17:38:43 -04:00
Azalea
362b69d921 [F] Fix maimai2 reboot window? 2024-04-25 17:38:36 -04:00
Azalea
9d463c7b4a [U] Updating instructions 2024-04-25 14:35:49 -07:00
Azalea
cd7da64794 [O] Pre-build docker image 2024-04-25 17:25:14 -04:00
Azalea
5c95f2971f [F] Fix CRLF 2024-04-25 17:16:20 -04:00
Azalea
ab3f3f0633 [F] Fix windows WSL2 volume bug 2024-04-25 16:57:12 -04:00
Azalea
ba61ac46d1 Merge branch 'v1-dev' of https://github.com/hykilpikonna/AquaDX into v1-dev 2024-04-25 16:48:45 -04:00
Azalea
48205d8a6c [U] Update running instructions 2024-04-25 16:48:43 -04:00
Clansty
b4cbb1fd14 [+] Load AssetBundle without manifest 2024-04-23 18:51:49 +08:00
Clansty
c8db3ec762 [+] Skip to next step or restart current song 2024-04-23 17:34:50 +08:00
Azalea
f6cf157930 [+] Last played host 2024-04-22 11:17:16 -04:00
Azalea
4a84a9ed8e [F] Fix tooltip pos 2024-04-22 10:57:51 -04:00
Azalea
dbb41ba249 [O] Hide loading 2024-04-22 10:43:55 -04:00
Azalea
d3adec5a23 [+] Leaderboard hover 2024-04-22 10:30:34 -04:00
Azalea
1fd030f909 [+] User card 2024-04-22 10:29:55 -04:00
Azalea
b6dfeb475d [+] Slot tooltip 2024-04-22 10:29:45 -04:00
Azalea
39050c6de6 [-] Remove logging 2024-04-22 09:17:30 -04:00
Azalea
c36926c915 Merge branch 'v1-dev' of https://github.com/hykilpikonna/AquaDX into v1-dev 2024-04-22 09:16:04 -04:00
Azalea
3bf3241bd7 [O] Advanced achievement rounding 2024-04-22 09:15:57 -04:00
Clansty
df863e879f [+] Feature for load self-made charts jacket from file 2024-04-22 20:59:08 +08:00
Azalea
b13af00061 [O] B50 tooltip & hide unknown song level 2024-04-22 08:58:47 -04:00
Azalea
1c2215a8a2 [O] Reduce displayed digits 2024-04-22 08:48:32 -04:00
Azalea
555ae35bb9 [F] Fix mai2 rating calculation 2024-04-22 08:46:22 -04:00
Azalea
8337a1698e [U] Upgrade yarn 1 -> 4, update dependencies 2024-04-21 22:40:36 -04:00
Azalea
f0bfa96937 [F] Fix AquaNet ghost card detection 2024-04-21 14:53:50 -04:00
Azalea
7b143dd38f [+] More logging 2024-04-21 14:45:56 -04:00
Clansty
5201c5933c [+] B15 in user detail 2024-04-22 01:55:15 +08:00
Azalea
4c1d501856 [F] Fix b50 NPE 2024-04-21 13:43:44 -04:00
Azalea
e001533f33 [F] Fix diva migration sql 2024-04-20 14:20:09 +09:00
Azalea
c854dd9a45 [F] Fix ranking username conflict 2024-04-20 11:25:37 +09:00
Azalea
4215b39539 [F] Try to fix wacca uint overflow 2024-04-20 09:37:34 +09:00
652 changed files with 15870 additions and 66658 deletions

61
.github/workflows/docker-image.yml vendored Normal file
View File

@@ -0,0 +1,61 @@
name: Build and Publish Docker Image
# Trigger the workflow on push to the main branch or on manual dispatch
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
# 1. Checkout the repository
- name: Checkout repository
uses: actions/checkout@v3
# 2. Set up QEMU and Docker Buildx (for multi-platform builds, optional)
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# 3. Log in to Docker Hub
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: hykilpikonna
password: ${{ secrets.DOCKERHUB_TOKEN }}
# 3. Log in to GitHub Container Registry (ghcr.io)
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
# Use GITHUB_TOKEN for authentication
password: ${{ secrets.GITHUB_TOKEN }}
# 4. Cache Docker layers to speed up builds (optional but recommended)
- name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
# 5. Build and push the Docker image
- name: Build and push Docker image
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: |
hykilpikonna/aquadx:latest
platforms: linux/amd64,linux/arm64
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache

3
.gitignore vendored
View File

@@ -1,3 +1,4 @@
db/
web/
bin/
@@ -80,3 +81,5 @@ gradle-app.setting
src/main/resources/meta/*/*.json
*.log.*.gz
*.salive
test-diff
htmlReport

376
AquaMai/.gitignore vendored
View File

@@ -1,376 +0,0 @@
# 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

View File

@@ -1,14 +0,0 @@
<?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>

View File

@@ -1,284 +0,0 @@
<?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="Performance\ImproveLoadSpeed.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Main.cs" />
<Compile Include="UX\CustomVersionString.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>

View File

@@ -1,25 +0,0 @@

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

View File

@@ -1,23 +0,0 @@
# ===================================
# 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
# Set the version string displayed at the top-right corner of the screen
CustomVersionString=""
[Performance]
# Disable some useless checks and delays to speed up the game boot process
# !! Known issue: The game may crash if DX Pass scanning is enabled
ImproveLoadSpeed=false

View File

@@ -1,40 +0,0 @@
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;
}
}
}

View File

@@ -1,30 +0,0 @@
using System.Diagnostics.CodeAnalysis;
namespace AquaMai
{
[SuppressMessage("ReSharper", "ClassNeverInstantiated.Global")]
public class Config
{
public UXConfig UX { get; set; }
public CheatConfig Cheat { get; set; }
public PerformanceConfig Performance { 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; }
public string CustomVersionString { get; set; }
}
public class PerformanceConfig
{
public bool ImproveLoadSpeed { get; set; }
}
}
}

View File

@@ -1,44 +0,0 @@
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;
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,86 +0,0 @@
using System;
using AquaMai.Fix;
using AquaMai.UX;
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));
Patch(typeof(CustomVersionString));
MelonLogger.Msg("Loaded!");
}
}
}

View File

@@ -1,63 +0,0 @@
using System.Diagnostics;
using HarmonyLib;
using MAI2.Util;
using Manager;
using Process;
namespace AquaMai.Performance
{
public class ImproveLoadSpeed
{
[HarmonyPrefix]
[HarmonyPatch(typeof(PowerOnProcess), "OnUpdate")]
public static bool PrePowerOnUpdate(PowerOnProcess __instance)
{
var traverse = Traverse.Create(__instance);
var state = traverse.Field("_state").GetValue<byte>();
switch (state)
{
case 3:
traverse.Field("_state").SetValue((byte)4);
break;
case 5:
case 6:
case 7:
traverse.Field("_state").SetValue((byte)8);
break;
case 9:
traverse.Field("_state").SetValue((byte)10);
break;
}
return true;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(StartupProcess), "OnUpdate")]
public static bool PreStartupUpdate(StartupProcess __instance)
{
var traverse = Traverse.Create(__instance);
var state = traverse.Field("_state").GetValue<byte>();
switch (state)
{
case 0:
traverse.Field("_state").SetValue((byte)1);
break;
case 2:
// AimeReader maybe typeof AimeReaderManager or ChimeReaderManager, must build with correct Assembly-CSharp.dll in Libs folder
if(SingletonStateMachine<AmManager, AmManager.EState>.Instance.AimeReader.GetType().FullName == "Manager.AimeReaderManager")
traverse.Field("_state").SetValue((byte)3);
break;
case 4:
traverse.Field("_state").SetValue((byte)5);
break;
case 8:
var timer = traverse.Field("timer").GetValue<Stopwatch>();
Traverse.Create(timer).Field("elapsed").SetValue(2 * 10000000L);
break;
}
return true;
}
}
}

View File

@@ -1,18 +0,0 @@
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)]

View File

@@ -1,33 +0,0 @@
## 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)

View File

@@ -1,24 +0,0 @@
using HarmonyLib;
namespace AquaMai.UX
{
public class CustomVersionString
{
/*
* Patch displayVersionString Property Getter
*/
[HarmonyPrefix]
[HarmonyPatch(typeof(MAI2System.Config), "displayVersionString", MethodType.Getter)]
public static bool GetDisplayVersionString(ref string __result)
{
if (string.IsNullOrEmpty(AquaMai.AppConfig.UX.CustomVersionString))
{
return true;
}
__result = AquaMai.AppConfig.UX.CustomVersionString;
// Return false to block the original method
return false;
}
}
}

View File

@@ -1,32 +0,0 @@
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;
}
}
}

View File

@@ -1,26 +0,0 @@
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;
}
}
}

View File

@@ -1,28 +0,0 @@
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;
}
}
}

11
AquaNet/.gitignore vendored
View File

@@ -21,4 +21,13 @@ dist-ssr
*.ntvs*
*.njsproj
*.sln
*.sw?
*.sw?
# Yarn 3 files
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

893
AquaNet/.yarn/releases/yarn-4.1.1.cjs vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -5,18 +5,16 @@ 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.
This project uses Svelte (NOT SvelteKit) + TypeScript + Sass, built using Vite. The preferred editor is VSCode.
### Running locally
First, you would need to install Node.js and yarn.
First, you would need to install Node.js and bun.
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
bun install
bun run dev
```

View File

@@ -1,35 +0,0 @@
## 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)
```

BIN
AquaNet/bun.lockb Normal file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More