Skip to content

Commit bb2c971

Browse files
committed
condense if statements
1 parent afddaf9 commit bb2c971

3 files changed

Lines changed: 34 additions & 37 deletions

File tree

internal/gameServer/server.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,7 @@ func (g *GameServer) ManagePlayers() {
171171

172172
g.gameDataMutex.Lock()
173173
for i = range 4 {
174-
v, ok := g.registrations.Load(i)
175-
if ok {
174+
if v, ok := g.registrations.Load(i); ok {
176175
if g.gameData.playerAlive[i] {
177176
g.Logger.Info("player status", "player", i, "regID", v.(*Registration).regID, "bufferHealth", g.gameData.averageBufferHealth[i], "bufferSize", g.gameData.bufferSize, "countLag", g.gameData.averageCountLag[i], "address", g.gameData.playerAddresses[i])
178177
playersActive = true

internal/gameServer/tcp.go

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,7 @@ func (g *GameServer) tcpSendReg(conn *net.TCPConn) {
128128
registrations := make([]byte, 24)
129129
current := 0
130130
for i = range 4 {
131-
v, ok := g.registrations.Load(i)
132-
if ok {
131+
if v, ok := g.registrations.Load(i); ok {
133132
binary.BigEndian.PutUint32(registrations[current:], v.(*Registration).regID)
134133
current += 4
135134
registrations[current] = v.(*Registration).plugin
@@ -282,8 +281,15 @@ func (g *GameServer) processTCP(conn *net.TCPConn) {
282281
regID := binary.BigEndian.Uint32(regIDBytes)
283282

284283
response := make([]byte, 2)
285-
v, ok := g.registrations.Load(playerNumber)
286-
if !ok {
284+
if v, ok := g.registrations.Load(playerNumber); ok {
285+
if v.(*Registration).regID == regID {
286+
g.Logger.Error(fmt.Errorf("re-registration"), "player already registered", "registration", v.(*Registration), "number", playerNumber, "bufferLeft", tcpData.buffer.Len(), "address", conn.RemoteAddr().String())
287+
response[0] = 1
288+
} else {
289+
g.Logger.Error(fmt.Errorf("registration failure"), "could not register player", "registration", v.(*Registration), "number", playerNumber, "bufferLeft", tcpData.buffer.Len(), "address", conn.RemoteAddr().String())
290+
response[0] = 0
291+
}
292+
} else {
287293
if playerNumber > 0 && plugin == 2 { // Only P1 can use mempak
288294
plugin = 1
289295
}
@@ -301,14 +307,6 @@ func (g *GameServer) processTCP(conn *net.TCPConn) {
301307
g.gameData.pendingInput[playerNumber] = InputData{0, plugin}
302308
g.gameData.playerAlive[playerNumber] = true
303309
g.gameDataMutex.Unlock()
304-
} else {
305-
if v.(*Registration).regID == regID {
306-
g.Logger.Error(fmt.Errorf("re-registration"), "player already registered", "registration", v.(*Registration), "number", playerNumber, "bufferLeft", tcpData.buffer.Len(), "address", conn.RemoteAddr().String())
307-
response[0] = 1
308-
} else {
309-
g.Logger.Error(fmt.Errorf("registration failure"), "could not register player", "registration", v.(*Registration), "number", playerNumber, "bufferLeft", tcpData.buffer.Len(), "address", conn.RemoteAddr().String())
310-
response[0] = 0
311-
}
312310
}
313311

314312
response[1] = uint8(g.BufferTarget)
@@ -333,27 +331,28 @@ func (g *GameServer) processTCP(conn *net.TCPConn) {
333331
regID := binary.BigEndian.Uint32(regIDBytes)
334332
var i byte
335333
for i = range 4 {
336-
v, ok := g.registrations.Load(i)
337-
if ok && v.(*Registration).regID == regID {
338-
g.Logger.Info("player disconnected TCP", "regID", regID, "player", i, "address", conn.RemoteAddr().String())
339-
340-
g.gameDataMutex.Lock()
341-
g.gameData.playerAlive[i] = false
342-
g.gameData.status |= (0x1 << (i + 1))
343-
g.registrations.Delete(i)
344-
345-
g.Players.Range(func(k, v any) bool {
346-
if v.(*Client).Number == int(i) {
347-
g.Players.Delete(k)
348-
g.NeedsUpdatePlayers.Store(true)
349-
return false
350-
} else {
351-
return true
352-
}
353-
})
354-
355-
g.gameData.bufferHealth[i] = g.gameData.bufferHealth[i][:0]
356-
g.gameDataMutex.Unlock()
334+
if v, ok := g.registrations.Load(i); ok {
335+
if v.(*Registration).regID == regID {
336+
g.Logger.Info("player disconnected TCP", "regID", regID, "player", i, "address", conn.RemoteAddr().String())
337+
338+
g.gameDataMutex.Lock()
339+
g.gameData.playerAlive[i] = false
340+
g.gameData.status |= (0x1 << (i + 1))
341+
g.registrations.Delete(i)
342+
343+
g.Players.Range(func(k, v any) bool {
344+
if v.(*Client).Number == int(i) {
345+
g.Players.Delete(k)
346+
g.NeedsUpdatePlayers.Store(true)
347+
return false
348+
} else {
349+
return true
350+
}
351+
})
352+
353+
g.gameData.bufferHealth[i] = g.gameData.bufferHealth[i][:0]
354+
g.gameDataMutex.Unlock()
355+
}
357356
}
358357
}
359358
tcpData.request = RequestNone

internal/gameServer/udp.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,7 @@ func uintLarger(v uint32, w uint32) bool {
5959
func (g *GameServer) getPlayerNumberByID(regID uint32) (byte, error) {
6060
var i byte
6161
for i = range 4 {
62-
v, ok := g.registrations.Load(i)
63-
if ok {
62+
if v, ok := g.registrations.Load(i); ok {
6463
if v.(*Registration).regID == regID {
6564
return i, nil
6665
}

0 commit comments

Comments
 (0)