Lint cleanup gocyclo (#847)

* d2player/inventory.go: fixed gocyclo error, broke up render method to smaller methods

* d2client/game_client.go: suppressing gocyclo error for OnPacketReceived, doesnt make sense to split

* d2remoteclient/remote_client_connection.go: suppressing gocyclo error for decodeToPacket, doesnt make sense to split

* d2dcc/dcc_direction.go: suppressing gocyclo error in generateFrames
This commit is contained in:
gravestench 2020-10-26 09:24:04 +00:00 committed by GitHub
parent 6f8b43f8d6
commit aa9f6be411
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 51 additions and 63 deletions

View File

@ -265,7 +265,7 @@ func (v *DCCDirection) generateFrames(pcd *d2datautils.BitMuncher) {
v.PixelBuffer = nil
}
//nolint:funlen,gocognit // can't reduce
//nolint:funlen,gocognit,gocyclo // can't reduce
func (v *DCCDirection) fillPixelBuffer(pcd, ec, pm, et, rp *d2datautils.BitMuncher) {
var pixelMaskLookup = []int{0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4}

View File

@ -170,71 +170,59 @@ func (g *Inventory) Render(target d2interface.Surface) error {
return nil
}
if err := g.frame.Render(target); err != nil {
return err
}
x, y := g.originX+1, g.originY
y += 64
// Panel
// Top left
if err := g.panel.SetCurrentFrame(frameInventoryTopLeft); err != nil {
return err
}
w, h := g.panel.GetCurrentFrameSize()
g.panel.SetPosition(x, y+h)
if err := g.panel.Render(target); err != nil {
return err
}
x += w
// Top right
if err := g.panel.SetCurrentFrame(frameInventoryTopRight); err != nil {
return err
}
_, h = g.panel.GetCurrentFrameSize()
g.panel.SetPosition(x, y+h)
if err := g.panel.Render(target); err != nil {
return err
}
y += h
// Bottom right
if err := g.panel.SetCurrentFrame(frameInventoryBottomRight); err != nil {
return err
}
_, h = g.panel.GetCurrentFrameSize()
g.panel.SetPosition(x, y+h)
if err := g.panel.Render(target); err != nil {
return err
}
// Bottom left
if err := g.panel.SetCurrentFrame(frameInventoryBottomLeft); err != nil {
return err
}
w, h = g.panel.GetCurrentFrameSize()
g.panel.SetPosition(x-w, y+h)
if err := g.panel.Render(target); err != nil {
if err := g.renderFrame(target); err != nil {
return err
}
g.grid.Render(target)
g.renderItemHover(target)
return nil
}
func (g *Inventory) renderFrame(target d2interface.Surface) error {
if err := g.frame.Render(target); err != nil {
return err
}
frames := []int{
frameInventoryTopLeft,
frameInventoryTopRight,
frameInventoryBottomRight,
frameInventoryBottomLeft,
}
x, y := g.originX+1, g.originY
y += 64
for _, frame := range frames {
if err := g.panel.SetCurrentFrame(frame); err != nil {
return err
}
w, h := g.panel.GetCurrentFrameSize()
g.panel.SetPosition(x, y+h)
if err := g.panel.Render(target); err != nil {
return err
}
switch frame {
case frameInventoryTopLeft:
x += w
case frameInventoryTopRight:
y += h
case frameInventoryBottomRight:
x -= w
}
}
return nil
}
func (g *Inventory) renderItemHover(target d2interface.Surface) {
hovering := false
for idx := range g.grid.items {
@ -258,8 +246,6 @@ func (g *Inventory) Render(target d2interface.Surface) error {
}
g.hovering = hovering
return nil
}
func (g *Inventory) renderItemDescription(target d2interface.Surface, i InventoryItem) {

View File

@ -163,6 +163,7 @@ func (r *RemoteClientConnection) bytesToJSON(buffer []byte) (string, d2netpacket
// decodeToPacket unmarshals the JSON string into the correct struct
// and returns a NetPacket declaring that struct.
// nolint:gocyclo // switch statement on packet type makes sense, no need to change
func (r *RemoteClientConnection) decodeToPacket(t d2netpackettype.NetPacketType, data string) (d2netpacket.NetPacket, error) {
var np = d2netpacket.NetPacket{}

View File

@ -118,6 +118,7 @@ func (g *GameClient) Destroy() error {
// OnPacketReceived is called by the ClientConection and processes incoming
// packets.
// nolint:gocyclo // switch statement on packet type makes sense, no need to change
func (g *GameClient) OnPacketReceived(packet d2netpacket.NetPacket) error {
switch packet.PacketType {
case d2netpackettype.GenerateMap: