Fix on backend "createInputsBufferSnapshot".

This commit is contained in:
genxium 2022-12-05 17:27:44 +08:00
parent 26bdd41285
commit 17cac19c62
2 changed files with 7 additions and 6 deletions

View File

@ -1605,20 +1605,21 @@ func (pR *Room) downsyncToSinglePlayer(playerId int32, player *Player, refRender
func (pR *Room) createInputsBufferSnapshot(stFrameId, edFrameId int32) []*InputFrameDownsync {
// [WARNING] This function MUST BE called while "pR.InputsBufferLock" is locked!
snapshot := make([]*InputFrameDownsync, 0, edFrameId-stFrameId)
prevFrameFound := true
prevFrameFound := false
j := stFrameId
for j < edFrameId {
tmp := pR.InputsBuffer.GetByFrameId(j)
if nil == tmp {
if false == prevFrameFound {
// The "id"s are always consecutive
break
j++
continue // allowed to keep not finding the requested inputFrames at the beginning
} else {
prevFrameFound = false
continue
break // The "id"s are always consecutive
}
}
prevFrameFound = true
foo := tmp.(*InputFrameDownsync)
bar := &InputFrameDownsync{
InputFrameId: foo.InputFrameId,
InputList: make([]uint64, len(foo.InputList)),

View File

@ -440,7 +440,7 @@
"array": [
0,
0,
210.7506841057913,
210.2448888647705,
0,
0,
0,