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:
LoveEevee
2020-04-17 04:53:53 +03:00
parent d98b2d9697
commit f83fab41e3
11 changed files with 97 additions and 59 deletions

View File

@@ -56,7 +56,7 @@
ideographicComma: /[、。]/,
apostrophe: /[']/,
degree: /[゚°]/,
brackets: /[\(\)\[\]「」『』【】:;]/,
brackets: /[\(\)\[\]「」『』【】:;]/,
tilde: /[\-~〜_]/,
tall: /[bdfghj-l-t♪]/,
i: /[i]/,

View File

@@ -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

View File

@@ -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 = []

View File

@@ -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()

View File

@@ -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)