From 169b70b5525aa3b8658981506ff49412cc4c7b11 Mon Sep 17 00:00:00 2001 From: yuuki <> Date: Wed, 25 Dec 2024 12:32:11 +0900 Subject: [PATCH] rollback! --- public/src/js/controller.js | 5 +++- public/src/js/loadsong.js | 4 +-- public/src/js/view.js | 49 +++++++++++++++++++++---------------- 3 files changed, 34 insertions(+), 24 deletions(-) diff --git a/public/src/js/controller.js b/public/src/js/controller.js index 3373236..c0b13ee 100644 --- a/public/src/js/controller.js +++ b/public/src/js/controller.js @@ -83,6 +83,9 @@ class Controller{ this.game = new Game(this, this.selectedSong, this.parsedSongData) this.view = new View(this) + if (parseFloat(localStorage.getItem("baisoku") ?? "1", 10) !== 1) { + this.saveScore = false; + } this.mekadon = new Mekadon(this, this.game) this.keyboard = new GameInput(this) if(!autoPlayEnabled && this.multiplayer !== 2){ @@ -278,7 +281,7 @@ class Controller{ var chartDiff = this.selectedSong.difficulty chart = chart[chartDiff] } - this.addPromise(promises, chart.read(this.selectedSong.type === "tja" ? "sjis" : undefined).then(data => { + this.addPromise(promises, chart.read(this.selectedSong.type === "tja" ? "utf-8" : undefined).then(data => { this.songData = data.replace(/\0/g, "").split("\n") return Promise.resolve() }), chart.url) diff --git a/public/src/js/loadsong.js b/public/src/js/loadsong.js index b793f49..6c8c0e8 100644 --- a/public/src/js/loadsong.js +++ b/public/src/js/loadsong.js @@ -135,7 +135,7 @@ class LoadSong{ chart = chart[chartDiff] } if(chart){ - this.addPromise(chart.read(song.type === "tja" ? "sjis" : "").then(data => { + this.addPromise(chart.read(song.type === "tja" ? "utf-8" : "").then(data => { this.songData = data.replace(/\0/g, "").split("\n") }), chart.url) }else{ @@ -309,7 +309,7 @@ class LoadSong{ if(song.type === "tja" || !chart || !chart.separateDiff || !chart[chartDiff]){ this.startMultiplayer() }else{ - chart[chartDiff].read(song.type === "tja" ? "sjis" : "").then(data => { + chart[chartDiff].read(song.type === "tja" ? "utf-8" : "").then(data => { this.song2Data = data.replace(/\0/g, "").split("\n") }, () => {}).then(() => { this.startMultiplayer() diff --git a/public/src/js/view.js b/public/src/js/view.js index ef0ba62..717720a 100644 --- a/public/src/js/view.js +++ b/public/src/js/view.js @@ -1487,11 +1487,11 @@ var measureH = 130 * mul measures.forEach(measure => { - var timeForDistance = this.posToMs(distanceForCircle, measure.speed) + var timeForDistance = this.posToMs(distanceForCircle, measure.speed * parseFloat(localStorage.getItem("baisoku") ?? "1", 10)) var startingTime = measure.ms - timeForDistance + this.controller.videoLatency - var finishTime = measure.ms + this.posToMs(this.slotPos.x - this.slotPos.paddingLeft + 3, measure.speed) + this.controller.videoLatency + var finishTime = measure.ms + this.posToMs(this.slotPos.x - this.slotPos.paddingLeft + 3, measure.speed * parseFloat(localStorage.getItem("baisoku") ?? "1", 10)) + this.controller.videoLatency if(measure.visible && (!measure.branch || measure.branch.active) && ms >= startingTime && ms <= finishTime){ - var measureX = this.slotPos.x + this.msToPos(measure.ms - ms + this.controller.videoLatency, measure.speed) + var measureX = this.slotPos.x + this.msToPos(measure.ms - ms + this.controller.videoLatency, measure.speed * parseFloat(localStorage.getItem("baisoku") ?? "1", 10)) this.ctx.strokeStyle = measure.branchFirst ? "#ff0" : "#bdbdbd" this.ctx.lineWidth = 3 this.ctx.beginPath() @@ -1537,7 +1537,7 @@ for(var i = circles.length; i--;){ var circle = circles[i] - var speed = circle.speed + var speed = circle.speed * parseFloat(localStorage.getItem("baisoku") ?? "1", 10) var timeForDistance = this.posToMs(distanceForCircle + this.slotPos.size / 2, speed) var startingTime = circle.ms - timeForDistance + this.controller.videoLatency @@ -1626,11 +1626,13 @@ var circleMs = circle.ms var endTime = circle.endTime var animated = circle.animating - var speed = circle.speed + var speed = circle.speed * parseFloat(localStorage.getItem("baisoku") ?? "1", 10) var played = circle.isPlayed var drumroll = 0 var endX = 0 + const doron = localStorage.getItem("doron") ?? "false"; + if(!circlePos){ circlePos = { x: this.slotPos.x + this.msToPos(circleMs - ms + this.controller.videoLatency, speed), @@ -1676,12 +1678,14 @@ }else if(ms > endTime + this.controller.audioLatency){ circlePos.x = this.slotPos.x + this.msToPos(endTime - ms + this.controller.audioLatency, speed) } - ctx.drawImage(assets.image["balloon"], - circlePos.x + size - 4, - circlePos.y - h / 2 + 2, - h / 61 * 115, - h - ) + if (doron !== "true") { + ctx.drawImage(assets.image["balloon"], + circlePos.x + size - 4, + circlePos.y - h / 2 + 2, + h / 61 * 115, + h + ) + } } }else if(type === "drumroll" || type === "daiDrumroll"){ fill = "#f3b500" @@ -1695,17 +1699,20 @@ endX = this.msToPos(endTime - circleMs, speed) drumroll = endX > 50 ? 2 : 1 - ctx.fillStyle = fill - ctx.strokeStyle = "#000" - ctx.lineWidth = 3 - ctx.beginPath() - ctx.moveTo(circlePos.x, circlePos.y - size + 1.5) - ctx.arc(circlePos.x + endX, circlePos.y, size - 1.5, Math.PI / -2, Math.PI / 2) - ctx.lineTo(circlePos.x, circlePos.y + size - 1.5) - ctx.fill() - ctx.stroke() + if (doron !== "true") { + ctx.fillStyle = fill + ctx.strokeStyle = "#000" + ctx.lineWidth = 3 + ctx.beginPath() + ctx.moveTo(circlePos.x, circlePos.y - size + 1.5) + ctx.arc(circlePos.x + endX, circlePos.y, size - 1.5, Math.PI / -2, Math.PI / 2) + ctx.lineTo(circlePos.x, circlePos.y + size - 1.5) + ctx.fill() + ctx.stroke() + } } - if(!fade || fade < 1){ + + if((!fade || fade < 1) && doron !== "true"){ // Main circle ctx.fillStyle = fill ctx.beginPath()