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
This commit is contained in:
@@ -269,7 +269,7 @@
|
||||
songObj.subtitle_lang = subtitleLangArray.join("\n")
|
||||
}
|
||||
if(!songObj.category){
|
||||
songObj.category = category || this.getCategory(file)
|
||||
songObj.category = category || this.getCategory(file, [songTitle || songObj.title, file.name.slice(0, file.name.lastIndexOf("."))])
|
||||
}
|
||||
if(songObj.stars.length !== 0){
|
||||
this.songs[index] = songObj
|
||||
@@ -277,7 +277,7 @@
|
||||
var hash = md5.base64(event.target.result).slice(0, -2)
|
||||
songObj.hash = hash
|
||||
scoreStorage.songTitles[songObj.title] = hash
|
||||
var score = scoreStorage.get(hash)
|
||||
var score = scoreStorage.get(hash, false, true)
|
||||
if(score){
|
||||
score.title = songObj.title
|
||||
}
|
||||
@@ -307,7 +307,7 @@
|
||||
music: this.otherFiles[dir + osu.generalInfo.AudioFilename.toLowerCase()] || "muted"
|
||||
}
|
||||
var filename = file.name.slice(0, file.name.lastIndexOf("."))
|
||||
var title = osu.metadata.TitleUnicode || osu.metadata.Title
|
||||
var title = osu.metadata.TitleUnicode || osu.metadata.Title || file.name.slice(0, file.name.lastIndexOf("."))
|
||||
if(title){
|
||||
var suffix = ""
|
||||
var matches = filename.match(/\[.+?\]$/)
|
||||
@@ -320,11 +320,11 @@
|
||||
songObj.title = filename
|
||||
}
|
||||
this.songs[index] = songObj
|
||||
songObj.category = category || this.getCategory(file)
|
||||
songObj.category = category || this.getCategory(file, [osu.metadata.TitleUnicode, osu.metadata.Title, file.name.slice(0, file.name.lastIndexOf("."))])
|
||||
var hash = md5.base64(event.target.result).slice(0, -2)
|
||||
songObj.hash = hash
|
||||
scoreStorage.songTitles[songObj.title] = hash
|
||||
var score = scoreStorage.get(hash)
|
||||
var score = scoreStorage.get(hash, false, true)
|
||||
if(score){
|
||||
score.title = songObj.title
|
||||
}
|
||||
@@ -394,12 +394,21 @@
|
||||
return name.slice(0, name.lastIndexOf("."))
|
||||
}
|
||||
|
||||
getCategory(file){
|
||||
getCategory(file, exclude){
|
||||
var path = file.webkitRelativePath.toLowerCase().split("/")
|
||||
for(var i = path.length - 2; i >= 0; i--){
|
||||
for(var cat in this.categories){
|
||||
if(path[i].indexOf(cat) !== -1){
|
||||
return this.categories[cat]
|
||||
var hasTitle = false
|
||||
for(var j in exclude){
|
||||
if(path[i].indexOf(exclude[j].toLowerCase()) !== -1){
|
||||
hasTitle = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if(!hasTitle){
|
||||
for(var cat in this.categories){
|
||||
if(path[i].indexOf(cat) !== -1){
|
||||
return this.categories[cat]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user