Commit Graph

69 Commits

Author SHA1 Message Date
KatieFrogs
0655b79293 Bug fixes
- Change song select mouse wheel song scrolling to be instant
- Clicking on don chan in account settings toggles the animation
- If the music is too long for the chart, the results screen is shown earlier
- Fix weird BPM values freezing the browser (zero, negative, and very large)
- Add a warning to the page when JavaScript is disabled in the browser
- Fix Chrome auto dark mode by forcing light mode on the page
- Add a meta keywords tag to the page
- Fix plugin names getting cut off in the menu
- Delay the function editing of the EditFunction class in plugins to the start() function instead of load()
  - When stopping one of the plugins, all the plugins have to be stopped in reverse order and started again so that patched code of a stopped plugin does not linger around
- Fix importing plugins that have a SyntaxError
- Fix plugins getting the same internal name when added without one, causing them to not appear in the plugin settings
- Support editing args in EditFunction for plugins
- Prevent multiple websockets from being opened
- Fix page freezing after selecting Random song with no songs
- Fix the back button being repeated twice when there are no songs
- Fix /admin/users not accepting case insensitive usernames
- Pressing enter on the Delete Account field does the expected action instead of refreshing the page
- Better error message when custom folder access is denied
- Fix being able to start netplay in custom songs after refreshing the page (#383)
- Fix an error when importing songs from previous session and clicking on the white spot where you normally start multiplayer session
- Fix canvas elements becoming smaller than 1x1 resolution and crashing the game (#390)
- Fix song frame shadow cache on song select not being cleared when resizing the browser window, causing it to become blurry
- Fix a pause-restart error when you hit both confirm keys on the restart button
2022-02-17 23:50:07 +03:00
KatieFrogs
1db4eb6710 ImportSongs: Add plugin support
- Files with filenames that end with .taikoweb.js can be imported and run to add custom functionality to the game
- The plugin file is a javascript module script that should have a class in the default export
- Currently supported methods in the class: name (string), load, start, stop, unload (functions)
- The class can be extended from the Patch class to add automatic patching of variables and functions
- Here are some of the plugins I made: https://github.com/KatieFrogs/taiko-web-plugins
2022-02-11 17:28:22 +03:00
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
4b37150ee0 Improve the song loading screen error message 2020-03-16 16:42:36 +03: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
LoveEevee
2af924a985 Add everything for accounts 2020-03-13 05:34:54 +03:00
LoveEevee
9248a52194 Lots of bug fixes
- Toggling autoplay checkbox in debug now disallows saving the score
- Fix crown of the song that was previously selected rendering above the genre
- Outline of empty crowns is slightly darker
- Fix rendering when there is a crown on oni and no crown on ura
- Fix crowns overlapping the netplay 2P icon
- Fix gauge in latency calibration
- Fix debug to work on mobile, can be toggled with ctrl+alt+`;` on hacker's keyboard with permanent notification
- Fix being unable to scroll the settings list without toggling something
- Handle KeyboardInterrupt in server.py
- Fix category jumping not working in session mode
- Fix mouse cursor being hidden at results screen in session mode
- Make "Issues" on the about screen and "An error occurred, please refresh" on loading screens translateable
- CanvasCache uses integer increments for comparison instead of Date.now()
- For imported songs, exclude song titles from genre comparisons if they appear in the name of the folder
- Fix tja files with spaces in the notation
- Fix second player's score on the results screen to have upside down appearance
- Add fixed chinese strings
2020-03-09 15:36:57 +03:00
LoveEevee
40577beadc ScoreStorage: Fix full combos with a worse score not saving 2020-03-07 10:34:01 +03:00
LoveEevee
1759772831 ScoreStorage: Use hashes instead of song titles 2020-03-07 04:48:30 +03:00
LoveEevee
0221c977c8 SongSelect: Add crowns
- Improve the soul gauge to fill properly. The algorithm is different for each difficulty.
- Saves score to localStorage, the whole score is correct now.
- Adds crowns to song selection screen.

The scores would take a lot of space if stored as readable objects so they are stored compressed. If you need to edit your scores, you can do so by opening dev console and entering `scoreStorage.get()`. Expand to the song and double click on values that you need to edit. When you are done editing, do not forget to save your scores with `scoreStorage.save()`. Adding new scores can be done with `scoreStorage.add`, first get a template with `obj=scoreStorage.template(),obj` and after editing, add it with `scoreStorage.add("song name", "oni", obj)`. To remove a score use `scoreStorage.remove("song name"[, "oni"])`.
2020-03-06 20:57:01 +03:00
LoveEevee
21259abdda Scoresheet: Save results to localstorage 2020-03-06 19:02:40 +03:00
LoveEevee
41afc2a905 Game: Improve gauge 2020-03-05 18:58:49 +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
f05b2518f3 Split language and tutorial, add gamepad settings 2019-04-16 21:06:41 +03:00
LoveEevee
879186c313 Add keyboard and gamepad settings 2019-04-05 22:53:51 +03:00
LoveEevee
78528b424c Fix results screen, clear drum asset 2019-04-05 00:21:08 +03:00
LoveEevee
61a5d6d496 SoundBuffer: Set song volume
- Requires a new column in the database after preview: `volume` REAL
- The value is a volume multiplier, if the value is set to null or 1 there will be no change
- The volume can be set in debugger
- Imported TJA files are now read from disk every time the song is played, freeing some memory and making it easier to create charts
- Correctly parse TJA files with alphabet notes, added "A" and "B" notes, which appear as DON (Big) and KA (Big) respectively
2019-03-16 00:34:48 +03:00
LoveEevee
e677f2f032 Change some events, fix p2 sending gameend twice
- Fixed gameend being sent twice in p2
- Add `ready`, `loader-error`, and `song-select-random` events
- Fixed `session-start` not firing when invited, added event detail
- Fixed `language-change` being fired at startup
- Fixed `version-link` and `about-link` firing twice
- "#song=" will fire `song-select-difficulty`
- Removed `key-events` and `scoresheet-player2`, merged with `scoresheet` and made it more detailed
2019-02-15 01:10:34 +03:00
LoveEevee
adc45cb652 Custom scripting, #song=, translations
- A song can be linked directly by adding "#song=<id>" to the url, replace `<id>` with the id in the database, after loading it jumps immediately jumps to the difficulty selection
- Added tutorial translations
- Fixed song preview not playing
- Use text fallback for the logo when there are no vectors
- Increased combo cache by 1 pixel
- A custom javascript file can be loaded from config.json by defining "custom_js" value
- Added lots of events to help writing custom js files: `version-link, title-screen, language-change, song-select, song-select-move, song-select-difficulty, song-select-back, about, about-link, tutorial, import-songs, import-songs-default, session, session-start, session-end, debug, load-song, load-song-player2, load-song-unfocused, load-song-cancel, load-song-error, game-start, key-events, p2-game-end, p2-disconnected, p2-abandoned, pause, unpause, pause-restart, pause-song-select, game-lag, scoresheet, scoresheet-player2`
- Event syntax example:
```js
addEventListener("game-start", event => {
	console.log("game-start", event.detail)
})
```
2019-02-14 12:32:45 +03:00
LoveEevee
4d2c17c1e0 Support different results characters for debug mode 2019-02-12 03:31:20 +03:00
Bui
913c0787ef audio overhaul 2019-02-04 09:14:42 +00:00
LoveEevee
8d50b9ceea BrowserSupport: Translate 2019-01-26 21:29:13 +03:00
LoveEevee
e8768cc35e Strings: Translate views 2019-01-22 21:47:09 +03:00
LoveEevee
4cb84c3426 Replace difficulty badges, translate good/ok/bad 2019-01-21 22:08:02 +03:00
LoveEevee
6559e8ee28 Fix scoresheet text 2019-01-21 19:12:30 +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
8bc9aee594 ImportSongs: Add song genre 2019-01-05 10:44:28 +03:00
LoveEevee
6c182d2c47 Scoresheet: Fix animation speed on window resize 2019-01-01 18:00:00 +03:00
LoveEevee
f535428125 Fix black loading screens 2019-01-01 16:35:12 +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
06cdc1c7e2 Fix characters with page zoom 2019-01-01 04:57:21 +03:00
LoveEevee
9e8242b136 Scoresheet: Add characters 2019-01-01 04:16:55 +03:00
LoveEevee
57bf7bbd8c Gamepad: Disable with keyboard input 2018-12-15 22:13:16 +03:00
LoveEevee
5f4048315d Miscellaneous bug fixes 2018-12-13 12:18:52 +03:00
LoveEevee
b06d6d8412 View: Blue gauge for second player 2018-11-06 22:26:58 +03:00
LoveEevee
82963f7912 Disable scoresheet skipping, change multiplayer string and bg 2018-11-02 13:26:46 +03:00
LoveEevee
426bc160c6 P2: Add multiplayer session 2018-11-02 01:13:48 +03:00
LoveEevee
d7900ca083 SongSelect: Selectable text, assets cleanup, and bug fixes 2018-10-27 21:35:04 +03:00
LoveEevee
f90f6fe6e1 View: Rewrite 2018-10-25 17:18:41 +03:00
Bui
ab2e3d2417 update more keybinds 2018-10-23 15:51:55 +01:00
LoveEevee
773684c2cb Fix ios landscape again, add html linebreak to mailto 2018-10-14 14:25:10 +03:00
Bui
b16f74d252 scoresheet: don't wait for results if no crown 2018-10-13 10:08:00 +01:00
LoveEevee
4845ec106b Add ura stars to preview, add ura badge 2018-10-13 01:09:42 +03:00
LoveEevee
fecf4d86b6 Add fallback font 2018-10-12 21:21:21 +03:00
LoveEevee
f80565f25b SongSelect: Add ura difficulty 2018-10-12 21:04:28 +03:00
LoveEevee
190beb224d Songselect: Add cache for shadows 2018-10-09 16:23:21 +03:00
LoveEevee
32caec8fac Keyboard: Add TaTaCon buttons 2018-10-08 23:32:25 +03:00
LoveEevee
e1b8b45d88 Change drum to match Switch, add fullscreen to songsel, fix tutorial 2018-10-06 16:24:23 +03:00