From ba7321b535d01e4f95d3640a4767c7a30906588b Mon Sep 17 00:00:00 2001 From: wish Date: Wed, 10 Jan 2024 19:29:51 +1100 Subject: [PATCH] fix stringstack & MoveStage error --- common/stringstack/stringstack.go | 17 +---------------- server/channelserver/handlers_stage.go | 8 -------- 2 files changed, 1 insertion(+), 24 deletions(-) diff --git a/common/stringstack/stringstack.go b/common/stringstack/stringstack.go index 9f6b646ae..a7ddef31e 100644 --- a/common/stringstack/stringstack.go +++ b/common/stringstack/stringstack.go @@ -6,8 +6,7 @@ import ( // StringStack is a basic LIFO "stack" for storing strings. type StringStack struct { - Locked bool - stack []string + stack []string } // New creates a new instance of StringStack @@ -20,20 +19,6 @@ func (s *StringStack) Set(v string) { s.stack = []string{v} } -// Lock freezes the StringStack -func (s *StringStack) Lock() { - if !s.Locked { - s.Locked = true - } -} - -// Unlock unfreezes the StringStack -func (s *StringStack) Unlock() { - if s.Locked { - s.Locked = false - } -} - // Push pushes a string onto the stack. func (s *StringStack) Push(v string) { s.stack = append(s.stack, v) diff --git a/server/channelserver/handlers_stage.go b/server/channelserver/handlers_stage.go index a9de55b28..bc0b3689e 100644 --- a/server/channelserver/handlers_stage.go +++ b/server/channelserver/handlers_stage.go @@ -157,7 +157,6 @@ func handleMsgSysEnterStage(s *Session, p mhfpacket.MHFPacket) { s.stage.reservedClientSlots[s.charID] = false s.stage.Unlock() s.stageMoveStack.Push(s.stage.id) - s.stageMoveStack.Lock() } if s.reservationStage != nil { @@ -171,7 +170,6 @@ func handleMsgSysBackStage(s *Session, p mhfpacket.MHFPacket) { pkt := p.(*mhfpacket.MsgSysBackStage) // Transfer back to the saved stage ID before the previous move or enter. - s.stageMoveStack.Unlock() backStage, err := s.stageMoveStack.Pop() if backStage == "" || err != nil { backStage = "sl1Ns200p0a0u0" @@ -190,12 +188,6 @@ func handleMsgSysBackStage(s *Session, p mhfpacket.MHFPacket) { func handleMsgSysMoveStage(s *Session, p mhfpacket.MHFPacket) { pkt := p.(*mhfpacket.MsgSysMoveStage) - - // Set a new move stack from the given stage ID - if !s.stageMoveStack.Locked { - s.stageMoveStack.Set(pkt.StageID) - } - doStageTransfer(s, pkt.AckHandle, pkt.StageID) }