Fix live replay

Signed-off-by: Sean Du <do4suki@gmail.com>
This commit is contained in:
2026-06-01 21:48:41 +08:00
parent 4664847f10
commit e3f62faa75
2 changed files with 20 additions and 22 deletions
+10 -10
View File
@@ -64,9 +64,9 @@ func preciseScore(ctx *gin.Context) {
}
// fmt.Println("liveSetting", liveSetting)
notes := []liveschema.NotesList{}
notes_list := utils.ReadAllText("./assets/serverdata/beatmaps/" + liveSetting.NotesSettingAsset)
err = json.Unmarshal([]byte(notes_list), &notes)
notesList := []liveschema.NotesList{}
noteData := utils.ReadAllText("./assets/serverdata/beatmaps/" + liveSetting.NotesSettingAsset)
err = json.Unmarshal([]byte(noteData), &notesList)
if ss.CheckErr(err) {
return
}
@@ -116,7 +116,7 @@ func preciseScore(ctx *gin.Context) {
IsRandom: false,
AcFlag: liveSetting.AcFlag,
SwingFlag: liveSetting.SwingFlag,
NotesList: notes,
NotesList: notesList,
},
},
Off: liveschema.Skill{
@@ -126,7 +126,7 @@ func preciseScore(ctx *gin.Context) {
IsRandom: false,
AcFlag: liveSetting.AcFlag,
SwingFlag: liveSetting.SwingFlag,
NotesList: notes,
NotesList: notesList,
},
},
RankInfo: ranks,
@@ -146,8 +146,8 @@ func preciseScore(ctx *gin.Context) {
UpdateDate: nil,
PreciseList: nil,
DeckInfo: nil,
TapAdjust: nil, // TODO: 不知道保存在哪里
CanReplay: false, // TODO: 不知道保存在哪里
TapAdjust: nil,
CanReplay: false,
}
skillOff = skillOn
@@ -159,7 +159,9 @@ func preciseScore(ctx *gin.Context) {
if ss.CheckErr(err) {
return
}
liveInfo.NotesList = notes
liveInfo.NotesList = notesList
skillOn.LiveInfo = liveInfo
skillOff.LiveInfo = liveInfo
// PreciseList
var preciseList []liveschema.PreciseList
@@ -192,7 +194,6 @@ func preciseScore(ctx *gin.Context) {
if record.IsSkillOn {
// 技能开
skillOn.HasRecord = true
skillOn.LiveInfo = liveInfo
skillOn.RandomSeed = time.Now().Unix() // TODO: 从 /live/play 的 Timestamp 字段获取
skillOn.MaxCombo = record.MaxCombo
skillOn.UpdateDate = record.UpdateDate
@@ -205,7 +206,6 @@ func preciseScore(ctx *gin.Context) {
} else {
// 技能关
skillOff.HasRecord = true
skillOff.LiveInfo = liveInfo
skillOff.RandomSeed = time.Now().Unix() // TODO: 从 /live/play 的 Timestamp 字段获取
skillOff.MaxCombo = record.MaxCombo
skillOff.UpdateDate = record.UpdateDate
+10 -12
View File
@@ -1,11 +1,9 @@
package session
import (
"encoding/json"
"honoka-chan/internal/constant"
usermodel "honoka-chan/internal/model/user"
liveschema "honoka-chan/internal/schema/live"
"honoka-chan/pkg/utils"
)
// Move from LevelDB to SQLite
@@ -77,7 +75,7 @@ func (ss *Session) GetLiveInfo(LiveDifficultyID int) (bool, *liveschema.LiveInfo
}
if !has {
has, err = ss.MainEng.Table("special_live_m").Alias("a").
has, err = ss.MainEng.Table("normal_live_m").Alias("a").
Join("LEFT", "live_setting_m", "a.live_setting_id = live_setting_m.live_setting_id").
Where("live_difficulty_id = ?", LiveDifficultyID).
Cols("a.live_difficulty_id,live_setting_m.*").Get(&info)
@@ -86,14 +84,14 @@ func (ss *Session) GetLiveInfo(LiveDifficultyID int) (bool, *liveschema.LiveInfo
}
}
var notesList []liveschema.NotesList
if has {
noteData := utils.ReadAllText("./assets/serverdata/beatmaps/" + info.NotesSettingAsset)
err = json.Unmarshal([]byte(noteData), &notesList)
if ss.CheckErr(err) {
return false, nil
}
}
// var notesList []liveschema.NotesList
// if has {
// noteData := utils.ReadAllText("./assets/serverdata/beatmaps/" + info.NotesSettingAsset)
// err = json.Unmarshal([]byte(noteData), &notesList)
// if ss.CheckErr(err) {
// return false, nil
// }
// }
return has, &liveschema.LiveInfo{
LiveDifficultyID: info.LiveDifficultyID,
@@ -108,7 +106,7 @@ func (ss *Session) GetLiveInfo(LiveDifficultyID int) (bool, *liveschema.LiveInfo
SRankCombo: info.SRankCombo,
AcFlag: info.AcFlag,
SwingFlag: info.SwingFlag,
NotesList: notesList,
NotesList: []liveschema.NotesList{},
}
}