From 29d62634fa930e94fa143f98ac9be67a50ab6ef7 Mon Sep 17 00:00:00 2001 From: wish Date: Sun, 29 Jan 2023 22:32:52 +1100 Subject: [PATCH] clean up various save handlers --- server/channelserver/handlers.go | 3 +-- server/channelserver/handlers_house.go | 8 +++---- server/channelserver/handlers_mercenary.go | 26 +++++++++------------- server/channelserver/handlers_plate.go | 25 +++++---------------- 4 files changed, 19 insertions(+), 43 deletions(-) diff --git a/server/channelserver/handlers.go b/server/channelserver/handlers.go index 536a12c48..39bf41ebd 100644 --- a/server/channelserver/handlers.go +++ b/server/channelserver/handlers.go @@ -1834,8 +1834,7 @@ func handleMsgMhfGetEnhancedMinidata(s *Session, p mhfpacket.MHFPacket) { var data []byte err := s.server.db.QueryRow("SELECT minidata FROM characters WHERE id = $1", pkt.CharID).Scan(&data) if err != nil { - data = make([]byte, 0x400) // returning empty might avoid a client softlock - //s.logger.Fatal("Failed to get minidata from db", zap.Error(err)) + data = make([]byte, 1) } doAckBufSucceed(s, pkt.AckHandle, data) } diff --git a/server/channelserver/handlers_house.go b/server/channelserver/handlers_house.go index c979208d2..ab150f180 100644 --- a/server/channelserver/handlers_house.go +++ b/server/channelserver/handlers_house.go @@ -248,12 +248,10 @@ func handleMsgMhfLoadDecoMyset(s *Session, p mhfpacket.MHFPacket) { if err != nil { s.logger.Error("Failed to load decomyset", zap.Error(err)) } - - if len(data) > 0 { - doAckBufSucceed(s, pkt.AckHandle, data) - } else { - doAckBufSucceed(s, pkt.AckHandle, []byte{0x01, 0x00}) + if len(data) == 0 { + data = []byte{0x01, 0x00} } + doAckBufSucceed(s, pkt.AckHandle, data) } func handleMsgMhfSaveDecoMyset(s *Session, p mhfpacket.MHFPacket) { diff --git a/server/channelserver/handlers_mercenary.go b/server/channelserver/handlers_mercenary.go index 3a855485f..b20b55ff4 100644 --- a/server/channelserver/handlers_mercenary.go +++ b/server/channelserver/handlers_mercenary.go @@ -18,12 +18,11 @@ func handleMsgMhfLoadPartner(s *Session, p mhfpacket.MHFPacket) { pkt := p.(*mhfpacket.MsgMhfLoadPartner) var data []byte err := s.server.db.QueryRow("SELECT partner FROM characters WHERE id = $1", s.charID).Scan(&data) - if len(data) > 0 { - doAckBufSucceed(s, pkt.AckHandle, data) - } else { + if len(data) == 0 { s.logger.Error("Failed to load partner", zap.Error(err)) - doAckBufSucceed(s, pkt.AckHandle, []byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}) + data = make([]byte, 9) } + doAckBufSucceed(s, pkt.AckHandle, data) doAckSimpleSucceed(s, pkt.AckHandle, []byte{0x00, 0x00, 0x00, 0x00}) } @@ -47,13 +46,11 @@ func handleMsgMhfLoadHunterNavi(s *Session, p mhfpacket.MHFPacket) { pkt := p.(*mhfpacket.MsgMhfLoadHunterNavi) var data []byte err := s.server.db.QueryRow("SELECT hunternavi FROM characters WHERE id = $1", s.charID).Scan(&data) - if len(data) > 0 { - doAckBufSucceed(s, pkt.AckHandle, data) - } else { + if len(data) == 0 { s.logger.Error("Failed to load hunternavi", zap.Error(err)) - body := make([]byte, 0x226) - doAckBufSucceed(s, pkt.AckHandle, body) + data = make([]byte, 0x226) } + doAckBufSucceed(s, pkt.AckHandle, data) } func handleMsgMhfSaveHunterNavi(s *Session, p mhfpacket.MHFPacket) { @@ -227,14 +224,11 @@ func handleMsgMhfLoadOtomoAirou(s *Session, p mhfpacket.MHFPacket) { pkt := p.(*mhfpacket.MsgMhfLoadOtomoAirou) var data []byte err := s.server.db.QueryRow("SELECT otomoairou FROM characters WHERE id = $1", s.charID).Scan(&data) - if err != nil { - s.logger.Fatal("Failed to get partnyaa savedata from db", zap.Error(err)) - } - if len(data) > 0 { - doAckBufSucceed(s, pkt.AckHandle, data) - } else { - doAckBufSucceed(s, pkt.AckHandle, []byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}) + if len(data) == 0 { + s.logger.Error("Failed to load otomoairou", zap.Error(err)) + data = make([]byte, 10) } + doAckBufSucceed(s, pkt.AckHandle, data) } func handleMsgMhfSaveOtomoAirou(s *Session, p mhfpacket.MHFPacket) { diff --git a/server/channelserver/handlers_plate.go b/server/channelserver/handlers_plate.go index 7138535bb..3f5688184 100644 --- a/server/channelserver/handlers_plate.go +++ b/server/channelserver/handlers_plate.go @@ -14,12 +14,7 @@ func handleMsgMhfLoadPlateData(s *Session, p mhfpacket.MHFPacket) { if err != nil { s.logger.Error("Failed to load platedata", zap.Error(err)) } - - if len(data) > 0 { - doAckBufSucceed(s, pkt.AckHandle, data) - } else { - doAckBufSucceed(s, pkt.AckHandle, []byte{}) - } + doAckBufSucceed(s, pkt.AckHandle, data) } func handleMsgMhfSavePlateData(s *Session, p mhfpacket.MHFPacket) { @@ -86,12 +81,7 @@ func handleMsgMhfLoadPlateBox(s *Session, p mhfpacket.MHFPacket) { if err != nil { s.logger.Error("Failed to load platebox", zap.Error(err)) } - - if len(data) > 0 { - doAckBufSucceed(s, pkt.AckHandle, data) - } else { - doAckBufSucceed(s, pkt.AckHandle, []byte{}) - } + doAckBufSucceed(s, pkt.AckHandle, data) } func handleMsgMhfSavePlateBox(s *Session, p mhfpacket.MHFPacket) { @@ -155,16 +145,11 @@ func handleMsgMhfLoadPlateMyset(s *Session, p mhfpacket.MHFPacket) { pkt := p.(*mhfpacket.MsgMhfLoadPlateMyset) var data []byte err := s.server.db.QueryRow("SELECT platemyset FROM characters WHERE id = $1", s.charID).Scan(&data) - if err != nil { + if len(data) == 0 { s.logger.Error("Failed to load platemyset", zap.Error(err)) + data = make([]byte, 0x780) } - - if len(data) > 0 { - doAckBufSucceed(s, pkt.AckHandle, data) - } else { - blankData := make([]byte, 0x780) - doAckBufSucceed(s, pkt.AckHandle, blankData) - } + doAckBufSucceed(s, pkt.AckHandle, data) } func handleMsgMhfSavePlateMyset(s *Session, p mhfpacket.MHFPacket) {