Commit Graph

89 Commits

Author SHA1 Message Date
LoveEevee
e81bf9b480 More bug fixes
- BPM and go go time change even when there are no notes after the change, seen in Ego Ego Atakushi and UFO Swingin'
- Maker URL can be added to a local tja
  - Example: `MAKER: Creator name <https://example.com/path>`
- Long list of settings scrolls more naturally with arrow keys
- When media engagement is low, gamepad users will not be able to proceed on the title screen until a mouse click or a key press unpauses the audio context
- Fix "Bad" note gauge judgement on easy difficulty
- In debug, use hash to tell apart songs
2020-03-12 07:59:28 +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
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
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
267461dd84 Clean more caches 2019-03-22 13:47:10 +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
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
29a4d154b3 Game: Fix notelocking
- Will not skip the note if `ka` was pressed right before `don` note or `don` was pressed right before `ka` note
- Will still skip the note if `don` and `ka` is pressed at the same time (within 25ms)
- Fixed `TAIKOWEBSKIN:` in imported songs crashing the game with some values
2019-02-24 15:04:14 +03:00
LoveEevee
c72b5a742c Add animations and fix behaviour 2019-02-20 23:48:21 +03:00
LoveEevee
4e9bf237a1 Fix go go time 2019-02-17 20:17:07 +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
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
Bui
913c0787ef audio overhaul 2019-02-04 09:14:42 +00:00
LoveEevee
da40fd58ff ImportSongs: Custom assets 2019-02-03 15:04:25 +03: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
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
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
a83e75b2e2 View: Fix go go time gradient 2019-01-06 22:59:49 +03:00
LoveEevee
8bc9aee594 ImportSongs: Add song genre 2019-01-05 10:44:28 +03:00
Bui
b91b3110d5 fix 2P breakage again 2019-01-02 04:32:33 +00:00
Bui
99463a7bf0 fix 2P breakage 2019-01-02 04:26:24 +00:00
LoveEevee
9e8242b136 Scoresheet: Add characters 2019-01-01 04:16:55 +03:00
LoveEevee
c0f89179cc View: Fix multiplayer on songs with skins 2018-12-23 17:56:40 +03:00
LoveEevee
5f4048315d Miscellaneous bug fixes 2018-12-13 12:18:52 +03:00
LoveEevee
3ea9bc8690 Fade in when hitting drumrolls and balloons 2018-12-02 19:53:12 +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
LoveEevee
3a92a9c950 View: Fix layeredText offset 2018-11-21 13:50:48 +03:00
LoveEevee
0533ae77a4 View: Add category info 2018-11-21 12:02:53 +03:00
LoveEevee
7cd8ce1ac1 View: Add note explosions 2018-11-15 11:42:22 +03:00
LoveEevee
1356f682cc View: Fix touch 2018-11-13 21:44:04 +03:00
LoveEevee
aae31c6630 View: Fix missing sound effect 2018-11-12 14:06:36 +03:00
LoveEevee
89e25f237e View: Change pause screen 2018-11-12 13:32:02 +03:00
LoveEevee
b06d6d8412 View: Blue gauge for second player 2018-11-06 22:26:58 +03:00
LoveEevee
a4e119ecf6 GameConfig: Fix css assets 2018-10-28 14:54:15 +03:00
Bui
2598a5014d add game config 2018-10-27 22:42:28 +01:00
LoveEevee
d7900ca083 SongSelect: Selectable text, assets cleanup, and bug fixes 2018-10-27 21:35:04 +03:00