Commit Graph

91 Commits

Author SHA1 Message Date
LoveEevee
13d6aaab78 Bug fixes
- Fix chart in Ai want U
- Mute music on song select with Q
- Do not scroll song select background when the tab is not active
- Fix very short inputs not being recognized
- Fix sound being muted when playing the same song again
- Fix multiplayer when audio latency is set
- Fix getting stuck when imported song cannot be restarted
- Fix 2P cursor when ura is selected by both players
- Add KeyboardEvent.key to browser tests
- Separate buttons like Shift+Left into two on the How to Play page
- Change focused button on the custom songs screen to the first one available
- Add favicon to the admin page
- Display the id on the admin new song page
2020-12-04 13:52:35 +03:00
LoveEevee
5094b0bc70 Add folder dropping, fix rate limits
- Add folder drag and drop support
- Do expodential retrying if rate limited, allowing upload of very large drive folders
- Do not import deleted files
- Move the upload buttons to their own line
- Notify when no TJA files have been found
- Add more translations
2020-11-04 03:12:46 +03:00
LoveEevee
f590222568 Fix metadata loading, loading animation, osu charts, and gpicker
- Speed up metadata loading by not waiting for the audio
- Make loading animation bigger on mobile
- Fix osu charts imported with gdrive
- Fix gpicker not appearing after cancelling
2020-10-29 09:04:36 +03:00
LoveEevee
3fea149353 ImportSongs: Add Google Drive support
- Adds a new page for importing custom songs, where it is possible to pick a local folder (desktop only) or a Google Drive folder (desktop and Android)
  - This feature is disabled on iOS due to the lack of OGG audio support in the browser
- In order to not get rate limited, a TJA file is parsed for metadata only when the song is clicked in the song selection, rather than all at once at import time
- The instance maintainer will need to provide the API credentials in the config.py file to enable this feature
  - This requires a new project to be created at console.cloud.google.com
  - Drive API will have to be enabled
  - API and OAuth keys should be created
    - API key can be restricted to only have Google Drive and Google Picker APIs
    - OAuth Client ID should have Web Application type and JavaScript origins set
    - Editing the OAuth consent screen to have a name and icon is recommended
      - It is semi-required to submit the consent screen for verification as the permission to download all of the Drive files will be asked.
      - Note that the email of the maintainer is publicly visible on the consent screen
  - The project number can be found in the IAM & Admin settings page
2020-10-29 08:07:56 +03:00
LoveEevee
69b5aa2903 More consistent don size in account settings 2020-04-04 18:01:35 +03:00
LoveEevee
cd288d4fa4 Add custom Don
- Registered users can customise the colour of their Don and it will appear for other players
- Bug fixes:
  - Add lyrics checkbox to admin page
  - 2P shows above "creative" or "with lyrics" labels
  - Prevent accidental alt and menu keyboard presses from triggering browser menus
  - Fixed mouse hitboxes on difficulty selection
  - Clean cached sounds and lyrics when another song is loading
  - Fixed debug jumping to the top-left of the screen when hidden
  - Fixed server volume not being applied to songs
2020-04-04 16:48:58 +03:00
LoveEevee
51bd6cec63 Support importing lyrics
- Use inline "#LYRIC" lines in tja files
- "LYRICS:" in tja metadata can point to a vtt file, this overrides "#LYRIC"
2020-03-31 15:50:27 +03:00
LoveEevee
3679c27986 Add lyrics 2020-03-30 09:50:34 +03:00
Bui
fe90a35625 generate hashes on server 2020-03-17 01:27:06 +00:00
Bui
5a68978ec4 implement song addition/deletion 2020-03-16 23:30:44 +00:00
LoveEevee
4b37150ee0 Improve the song loading screen error message 2020-03-16 16:42:36 +03:00
LoveEevee
33b9b206a7 Improve the loading screen error message
- Fix subtitle if the previously selected song had the same title
2020-03-16 12:54:21 +03:00
Bui
61e521dda3 update song edit page 2020-03-15 16:16:18 +00:00
LoveEevee
7f1bb9d357 Multiplayer improvements and reupload score on error
- In multiplayer you will play at the bottom if you joined second
- Add a dialog to song select that score has not been saved
- Uploads the score when logged in again
- Translate error messages from the server
2020-03-14 07:50:04 +03:00
Bui
ae71ab8073 Merge remote-tracking branch 'origin/add-accounts' into user-server 2020-03-13 02:46:52 +00:00
Bui
7519b1c4c2 account system backend, db rewrite 2020-03-13 02:45:42 +00:00
LoveEevee
2af924a985 Add everything for accounts 2020-03-13 05:34:54 +03:00
LoveEevee
ff09cb83bd Add global offset
Adds new settings for controlling the note offset while playing. It can be either an actual offset (it is called "Audio Latency" in the settings) or just the visual offset ("Video Latency").
With higher audio latency it means you have to press the button sooner than what you hear, similarly with higher video latency it is sooner than what you see. By offsetting these events the game would play better, however, the sound effect of you hitting the drum would still play at the wrong time, the code cannot anticipate you to hit the drum in the future so to work around this issue a new option that disables drum sounds is also included.
These settings could be set through trial and error but it would be better to get the correct values through the automated latency calibration, where you can hit the drum as you hear sounds or see a blinking animation. I tried making one by measuring latency from user input, adding all the latency up, and dividing, but that gives unreliable results. I hope someone suggests to me what I should be doing during the calibration to get better results, as I cannot figure what to do on my own.
2019-11-28 09:04:40 +03:00
LoveEevee
7b67be87d3 Fix views on small resolutions 2019-04-17 00:33:50 +03:00
LoveEevee
f5d4c6bce5 Improve gamepad layout window 2019-04-16 22:48:21 +03:00
LoveEevee
f05b2518f3 Split language and tutorial, add gamepad settings 2019-04-16 21:06:41 +03:00
LoveEevee
a4d938e888 Move language settings from title screen 2019-04-06 22:14:44 +03:00
LoveEevee
b3c0f8cd73 Add language to settings 2019-04-06 13:19:10 +03:00
LoveEevee
879186c313 Add keyboard and gamepad settings 2019-04-05 22:53:51 +03:00
LoveEevee
cb64777012 SongSelect: Add Settings
- Resolution can be adjusted, as well as touch drum animation on mobile
- A translation text file "songtitle.txt" can be imported
  - Titles and translated titles are each on their own line, if a line begins with a language code, it will translate the song title that is above
  - An example file can be found here: https://gist.github.com/LoveEevee/65fe66f0b54c0536f96fd2f4862984d4
- The page will fail to load if version on the page does not match /api/config
- Disabled Tab key while playing, before hitting it would focus the version link
- Fix forcing branches in debug not working
- Fixed not being able to click on songs that do not have oni but have ura
- Fix unexpected category being used as a fallback
- Fix verticalText and layeredText not accepting anything except strings
2019-04-04 23:40:11 +03:00
LoveEevee
911da048bb Fix code
- Fixes code
2019-03-20 17:00:30 +03:00
LoveEevee
7ee8773e61 View: Fix donbg scrolling
- All metadata fields in imported TJA files are now optional
- Added new metadata fields: `TITLEEN` and `SUBTITLEEN` (`EN` can be any language id from strings.js)
2019-03-06 00:48:30 +03:00
LoveEevee
03b9326733 PraseTja: Add branches
- Needs the following changes to the database: change `easy`, `normal`, `hard`, and `oni` to `TEXT` type
- When adding songs to the database and if, for example, a song's 7-star difficulty has a branch, instead of `7` input `7 B`, this is to display song's branch support on the song selection
- Branch can be forced in debug
2019-02-17 19:26:46 +03:00
Bui
29040f474d Titlescreen: increase #lang z-index 2019-01-28 15:33:03 +00:00
Bui
2a4e566227 Titlescreen: add disclaimer 2019-01-28 11:43:18 +00:00
LoveEevee
08fb3498f6 Titlescreen: Change logo 2019-01-28 04:57:18 +03:00
LoveEevee
8d50b9ceea BrowserSupport: Translate 2019-01-26 21:29:13 +03:00
LoveEevee
05720b27f9 SongSelect: Translatable song titles 2019-01-25 04:42:05 +03:00
LoveEevee
6fd37985c8 Add hover effect to language menu 2019-01-21 22:33:33 +03:00
LoveEevee
4cb84c3426 Replace difficulty badges, translate good/ok/bad 2019-01-21 22:08:02 +03:00
LoveEevee
59baa9f06f Titlescreen: Add language selection menu 2019-01-21 18:47:22 +03:00
LoveEevee
3398791afe Controller: Separate game and view loops 2019-01-16 15:33:42 +03:00
LoveEevee
6c182d2c47 Scoresheet: Fix animation speed on window resize 2019-01-01 18:00:00 +03:00
LoveEevee
f9bb8cabb0 Fix browser compatibility 2019-01-01 07:45:13 +03:00
LoveEevee
fc92c55370 Add failed animation 2019-01-01 06:04:49 +03:00
LoveEevee
9e8242b136 Scoresheet: Add characters 2019-01-01 04:16:55 +03:00
LoveEevee
a435ed1a6d SongSel: Add browse for local songs button 2018-12-05 23:33:34 +03:00
LoveEevee
6d770e7b2d Add second player backgrounds, add fade on miss 2018-12-02 19:36:04 +03:00
LoveEevee
f25aee9643 SongBg: Add don backgrounds 2018-12-02 18:25:42 +03:00
LoveEevee
14d98254bb Add browser support tests 2018-11-27 02:05:02 +03:00
LoveEevee
e43821ba48 SongBg: Add song skins 2018-11-26 01:42:24 +03:00
LoveEevee
6e79154cad SongBg: Reduce background resolution on mobile 2018-11-24 17:09:08 +03:00
LoveEevee
edd76b55a4 Fix backgrounds in multiplayer 2018-11-23 22:44:14 +03:00
LoveEevee
96b8e9f3a2 Add random stage 2018-11-23 21:52:24 +03:00
LoveEevee
87bdf7a407 View: Add song backgrounds 2018-11-23 20:00:45 +03:00