Bug fixes
- Fixed touch multiplayer drum being too small and nameplate drawing on top of it - Fixed #lyric lines being forced to be lowercase and appearing too early - Fixed exiting session while someone else is using netplay sending you to difficulty selection of the song that the netplay person has selected - Fixed ≠MM title on song select not having the first symbol rotated - Fixed nameplate cache in song select and in game not getting cleared - Increased ping timeout for multiplayer Admin page fixes - Add meta viewport tag so that the admin pages can be opened on mobile - On song list, songs that are not enabled are now marked - Disable tabbing through diverge notes checkboxes in courses when adding or editing a song - Add Hash to song adding - Display an error if a local chart file has not been found while calculating hash - If calculating the hash results in an error, do not discard all other changes
This commit is contained in:
@@ -56,7 +56,7 @@
|
||||
ideographicComma: /[、。]/,
|
||||
apostrophe: /[''’]/,
|
||||
degree: /[゚°]/,
|
||||
brackets: /[\((\))\[\]「」『』【】::;;]/,
|
||||
brackets: /[\((\))\[\]「」『』【】::;;≠]/,
|
||||
tilde: /[\--~~〜_]/,
|
||||
tall: /[bbddffgghhj-lj-ltt♪]/,
|
||||
i: /[ii]/,
|
||||
|
||||
@@ -409,10 +409,6 @@ class Loader{
|
||||
})
|
||||
}
|
||||
clean(error){
|
||||
var fontDetectDiv = document.getElementById("fontdetectHelper")
|
||||
if(fontDetectDiv){
|
||||
fontDetectDiv.parentNode.removeChild(fontDetectDiv)
|
||||
}
|
||||
delete this.loaderDiv
|
||||
delete this.loaderPercentage
|
||||
delete this.loaderProgress
|
||||
|
||||
@@ -153,6 +153,7 @@
|
||||
var sectionBegin = true
|
||||
var lastBpm = bpm
|
||||
var lastGogo = gogo
|
||||
var lyricsLine = null
|
||||
|
||||
var currentMeasure = []
|
||||
var firstNote = true
|
||||
@@ -265,6 +266,18 @@
|
||||
}
|
||||
note_chain = [];
|
||||
}
|
||||
if("lyricsLine" in note){
|
||||
if(!this.lyrics){
|
||||
this.lyrics = []
|
||||
}
|
||||
if(this.lyrics.length !== 0){
|
||||
this.lyrics[this.lyrics.length - 1].end = note.start
|
||||
}
|
||||
this.lyrics.push({
|
||||
start: note.start,
|
||||
text: note.lyricsLine
|
||||
})
|
||||
}
|
||||
}
|
||||
if (note_chain.length > 1 && currentMeasure.length >= 8) {
|
||||
checkChain(note_chain, currentMeasure.length, false);
|
||||
@@ -281,6 +294,10 @@
|
||||
lastBpm = bpm
|
||||
lastGogo = gogo
|
||||
}
|
||||
if(lyricsLine !== null){
|
||||
circleObj.lyricsLine = lyricsLine
|
||||
lyricsLine = null
|
||||
}
|
||||
currentMeasure.push(circleObj)
|
||||
}
|
||||
}
|
||||
@@ -293,12 +310,21 @@
|
||||
gogo: gogo
|
||||
})
|
||||
}else if(!circleObj){
|
||||
currentMeasure.push({
|
||||
var circleObj2 = {
|
||||
bpm: bpm,
|
||||
scroll: scroll
|
||||
})
|
||||
}
|
||||
if(lyricsLine !== null){
|
||||
circleObj2.lyricsLine = lyricsLine
|
||||
lyricsLine = null
|
||||
}
|
||||
currentMeasure.push(circleObj2)
|
||||
}
|
||||
if(circleObj){
|
||||
if(lyricsLine !== null){
|
||||
circleObj.lyricsLine = lyricsLine
|
||||
lyricsLine = null
|
||||
}
|
||||
currentMeasure.push(circleObj)
|
||||
}
|
||||
}
|
||||
@@ -307,8 +333,9 @@
|
||||
var line = this.data[lineNum]
|
||||
if(line.slice(0, 1) === "#"){
|
||||
|
||||
var line = line.slice(1).toLowerCase()
|
||||
var line = line.slice(1)
|
||||
var [name, value] = this.split(line, " ")
|
||||
name = name.toLowerCase()
|
||||
|
||||
switch(name){
|
||||
case "gogostart":
|
||||
@@ -415,16 +442,7 @@
|
||||
branchObj[branchName] = currentBranch
|
||||
break
|
||||
case "lyric":
|
||||
if(!this.lyrics){
|
||||
this.lyrics = []
|
||||
}
|
||||
if(this.lyrics.length !== 0){
|
||||
this.lyrics[this.lyrics.length - 1].end = ms
|
||||
}
|
||||
this.lyrics.push({
|
||||
start: ms,
|
||||
text: value.trim().replace(regexLinebreak, "\n")
|
||||
})
|
||||
lyricsLine = value.replace(regexLinebreak, "\n").trim()
|
||||
break
|
||||
}
|
||||
|
||||
@@ -512,13 +530,8 @@
|
||||
}
|
||||
break
|
||||
case ",":
|
||||
if(currentMeasure.length === 0 && (bpm !== lastBpm || gogo !== lastGogo)){
|
||||
insertNote({
|
||||
type: "event",
|
||||
bpm: bpm,
|
||||
scroll: scroll,
|
||||
gogo: gogo
|
||||
})
|
||||
if(currentMeasure.length === 0 && (bpm !== lastBpm || gogo !== lastGogo || lyricsLine !== null)){
|
||||
insertBlankNote()
|
||||
}
|
||||
pushMeasure()
|
||||
currentMeasure = []
|
||||
|
||||
@@ -2642,6 +2642,7 @@ class SongSelect{
|
||||
this.difficultyCache.clean()
|
||||
this.sessionCache.clean()
|
||||
this.currentSongCache.clean()
|
||||
this.nameplateCache.clean()
|
||||
assets.sounds["bgm_songsel"].stop()
|
||||
if(!this.bgmEnabled){
|
||||
snd.musicGain.fadeIn()
|
||||
|
||||
@@ -591,8 +591,8 @@
|
||||
|
||||
this.nameplateCache.get({
|
||||
ctx: ctx,
|
||||
x: 320,
|
||||
y: this.player === 2 ? 460 : 20,
|
||||
x: touchMultiplayer ? 47 : 320,
|
||||
y: touchMultiplayer ? (this.player === 2 ? 361 : 119) : (this.player === 2 ? 460 : 20),
|
||||
w: 273,
|
||||
h: 66,
|
||||
id: "1p",
|
||||
@@ -743,7 +743,7 @@
|
||||
y: animPos.y2
|
||||
}]
|
||||
|
||||
var touchTop = frameTop + (touchMultiplayer ? 135 : 0)
|
||||
var touchTop = frameTop + (touchMultiplayer ? 135 : 0) + (this.player === 2 ? -165 : 0)
|
||||
this.touchDrum = (() => {
|
||||
var sw = 842
|
||||
var sh = 340
|
||||
@@ -2263,6 +2263,7 @@
|
||||
this.comboCache.clean()
|
||||
this.pauseCache.clean()
|
||||
this.branchCache.clean()
|
||||
this.nameplateCache.clean()
|
||||
|
||||
versionDiv.classList.remove("version-hide")
|
||||
loader.screen.parentNode.appendChild(versionDiv)
|
||||
|
||||
Reference in New Issue
Block a user