summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/Makefile.am1
-rw-r--r--src/being/flooritem.h4
-rw-r--r--src/const/resources/item/cards.h27
-rw-r--r--src/gui/mailmessage.h4
-rw-r--r--src/gui/widgets/browserbox.cpp4
-rw-r--r--src/gui/widgets/itemlinkhandler.cpp4
-rw-r--r--src/itemcolormanager.cpp4
-rw-r--r--src/net/ea/inventoryitem.h4
-rw-r--r--src/net/eathena/auctionrecv.cpp4
-rw-r--r--src/net/eathena/beingrecv.cpp8
-rw-r--r--src/net/eathena/inventoryrecv.cpp40
-rw-r--r--src/net/eathena/itemrecv.cpp10
-rw-r--r--src/net/eathena/mailrecv.cpp2
-rw-r--r--src/net/eathena/partyrecv.cpp4
-rw-r--r--src/net/eathena/searchstorerecv.cpp4
-rw-r--r--src/net/eathena/traderecv.cpp4
-rw-r--r--src/net/eathena/vendingrecv.cpp6
-rw-r--r--src/net/tmwa/inventoryrecv.cpp24
-rw-r--r--src/net/tmwa/traderecv.cpp4
-rw-r--r--src/resources/item/item.cpp2
-rw-r--r--src/resources/item/item.h4
22 files changed, 110 insertions, 59 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index d67bfc654..4c796f1eb 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1006,6 +1006,7 @@ SET(SRCS
resources/map/location.h
resources/map/map.cpp
resources/map/map.h
+ const/resources/item/cards.h
const/resources/map/map.h
resources/map/mapheights.cpp
resources/map/mapheights.h
diff --git a/src/Makefile.am b/src/Makefile.am
index 2a96c66bd..f290d33ed 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1191,6 +1191,7 @@ manaplus_SOURCES += main.cpp \
resources/map/location.h \
resources/map/map.cpp \
resources/map/map.h \
+ const/resources/item/cards.h \
const/resources/map/map.h \
resources/map/mapheights.cpp \
resources/map/mapheights.h \
diff --git a/src/being/flooritem.h b/src/being/flooritem.h
index 343e50c40..cedcaf96e 100644
--- a/src/being/flooritem.h
+++ b/src/being/flooritem.h
@@ -23,6 +23,8 @@
#ifndef BEING_FLOORITEM_H
#define BEING_FLOORITEM_H
+#include "const/resources/item/cards.h"
+
#include "enums/simpletypes/damaged.h"
#include "enums/simpletypes/identified.h"
#include "enums/simpletypes/itemcolor.h"
@@ -127,7 +129,7 @@ class FloorItem final : public ActorSprite
{ return mDamaged; }
private:
- int mCards[4];
+ int mCards[maxCards];
int mItemId;
int mX, mY;
int mDropTime;
diff --git a/src/const/resources/item/cards.h b/src/const/resources/item/cards.h
new file mode 100644
index 000000000..7a58ed3ea
--- /dev/null
+++ b/src/const/resources/item/cards.h
@@ -0,0 +1,27 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2011-2016 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef CONST_RESOURCES_ITEM_ITEM_H
+#define CONST_RESOURCES_ITEM_ITEM_H
+
+const int maxCards = 4;
+const int maxMailCards = 4;
+
+#endif // CONST_RESOURCES_ITEM_ITEM_H
diff --git a/src/gui/mailmessage.h b/src/gui/mailmessage.h
index c4e61b49b..099cc2e34 100644
--- a/src/gui/mailmessage.h
+++ b/src/gui/mailmessage.h
@@ -21,6 +21,8 @@
#ifndef GUI_MAILMESSAGE_H
#define GUI_MAILMESSAGE_H
+#include "const/resources/item/cards.h"
+
#include <string>
#include "localconsts.h"
@@ -53,7 +55,7 @@ struct MailMessage final
std::string sender;
std::string strTime;
std::string text;
- uint16_t card[4];
+ uint16_t card[maxMailCards];
int id;
int time;
int money;
diff --git a/src/gui/widgets/browserbox.cpp b/src/gui/widgets/browserbox.cpp
index 9ffead378..9c5dcc77c 100644
--- a/src/gui/widgets/browserbox.cpp
+++ b/src/gui/widgets/browserbox.cpp
@@ -26,6 +26,8 @@
#include "itemcolormanager.h"
#include "settings.h"
+#include "const/resources/item/cards.h"
+
#include "input/inputmanager.h"
#include "gui/gui.h"
@@ -246,7 +248,7 @@ void BrowserBox::addRow(const std::string &row, const bool atTop)
{
std::vector<int> parts;
splitToIntVector(parts, bLink.link.substr(idx), ',');
- while (parts.size() < 4)
+ while (parts.size() < maxCards)
parts.push_back(0);
const ItemColor itemColor =
ItemColorManager::getColorFromCards(&parts[0]);
diff --git a/src/gui/widgets/itemlinkhandler.cpp b/src/gui/widgets/itemlinkhandler.cpp
index 1f30c5da6..e363fe671 100644
--- a/src/gui/widgets/itemlinkhandler.cpp
+++ b/src/gui/widgets/itemlinkhandler.cpp
@@ -24,6 +24,8 @@
#include "itemcolormanager.h"
+#include "const/resources/item/cards.h"
+
#include "gui/viewport.h"
#include "gui/popups/itempopup.h"
@@ -119,7 +121,7 @@ void ItemLinkHandler::handleLink(const std::string &link, MouseEvent *event)
if (id > 0)
{
str.erase(str.begin());
- while (str.size() < 4)
+ while (str.size() < maxCards)
str.push_back(0);
const ItemColor color =
ItemColorManager::getColorFromCards(&str[0]);
diff --git a/src/itemcolormanager.cpp b/src/itemcolormanager.cpp
index 7653b0ad9..9344ff856 100644
--- a/src/itemcolormanager.cpp
+++ b/src/itemcolormanager.cpp
@@ -20,6 +20,8 @@
#include "itemcolormanager.h"
+#include "const/resources/item/cards.h"
+
#include "resources/iteminfo.h"
#include "resources/db/itemdb.h"
@@ -30,7 +32,7 @@ ItemColor ItemColorManager::getColorFromCards(const int *const cards)
{
if (!cards)
return ItemColor_one;
- for (int f = 0; f < 4; f ++)
+ for (int f = 0; f < maxCards; f ++)
{
const ItemInfo &info = ItemDB::get(cards[f]);
const ItemColor &color = info.getCardColor();
diff --git a/src/net/ea/inventoryitem.h b/src/net/ea/inventoryitem.h
index a32b0bfde..7971c9584 100644
--- a/src/net/ea/inventoryitem.h
+++ b/src/net/ea/inventoryitem.h
@@ -23,6 +23,8 @@
#ifndef NET_EA_INVENTORYITEM_H
#define NET_EA_INVENTORYITEM_H
+#include "const/resources/item/cards.h"
+
#include "enums/simpletypes/damaged.h"
#include "enums/simpletypes/equipm.h"
#include "enums/simpletypes/favorite.h"
@@ -51,7 +53,7 @@ class InventoryItem final
int slot;
int id;
int type;
- int cards[4];
+ int cards[maxCards];
int quantity;
uint8_t refine;
ItemColor color;
diff --git a/src/net/eathena/auctionrecv.cpp b/src/net/eathena/auctionrecv.cpp
index e097be551..cc7723e5f 100644
--- a/src/net/eathena/auctionrecv.cpp
+++ b/src/net/eathena/auctionrecv.cpp
@@ -22,6 +22,8 @@
#include "logger.h"
+#include "const/resources/item/cards.h"
+
#include "net/messagein.h"
#include "debug.h"
@@ -51,7 +53,7 @@ void AuctionRecv::processAuctionResults(Net::MessageIn &msg)
msg.readUInt8("identify");
msg.readUInt8("attribute");
msg.readUInt8("refine");
- for (int d = 0; d < 4; d ++)
+ for (int d = 0; d < maxCards; d ++)
msg.readInt16("card");
msg.readInt32("price");
msg.readInt32("buy now");
diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp
index 2d66f5152..bb6fff382 100644
--- a/src/net/eathena/beingrecv.cpp
+++ b/src/net/eathena/beingrecv.cpp
@@ -31,6 +31,8 @@
#include "being/mercenaryinfo.h"
+#include "const/resources/item/cards.h"
+
#include "enums/resources/notifytypes.h"
#include "particle/particle.h"
@@ -94,7 +96,7 @@ void BeingRecv::processBeingChangeLook2(Net::MessageIn &msg)
void BeingRecv::processBeingChangeLookCards(Net::MessageIn &msg)
{
Being *dstBeing = nullptr;
- int cards[4];
+ int cards[maxCards];
if (!actorManager)
{ // here can be look from char server
@@ -126,7 +128,7 @@ void BeingRecv::processBeingChangeLookCards(Net::MessageIn &msg)
if (type != 2)
id2 = 1;
- for (int f = 0; f < 4; f ++)
+ for (int f = 0; f < maxCards; f ++)
cards[f] = msg.readInt16("card");
if (!dstBeing)
@@ -1585,7 +1587,7 @@ void BeingRecv::processBeingViewEquipment(Net::MessageIn &msg)
msg.readInt32("location");
msg.readInt32("wear state");
msg.readInt8("refine");
- for (int d = 0; d < 4; d ++)
+ for (int d = 0; d < maxCards; d ++)
msg.readInt16("card");
msg.readInt32("hire expire date (?)");
msg.readInt16("equip type");
diff --git a/src/net/eathena/inventoryrecv.cpp b/src/net/eathena/inventoryrecv.cpp
index ecd0a8257..fcaada26a 100644
--- a/src/net/eathena/inventoryrecv.cpp
+++ b/src/net/eathena/inventoryrecv.cpp
@@ -98,8 +98,8 @@ void InventoryRecv::processPlayerEquipment(Net::MessageIn &msg)
msg.readInt32("location");
const int equipType = msg.readInt32("wear state");
const uint8_t refine = static_cast<uint8_t>(msg.readInt8("refine"));
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
msg.readInt32("hire expire date (?)");
msg.readInt16("equip type");
@@ -159,8 +159,8 @@ void InventoryRecv::processPlayerInventoryAdd(Net::MessageIn &msg)
uint8_t identified = msg.readUInt8("identified");
const uint8_t damaged = msg.readUInt8("is damaged");
const uint8_t refine = msg.readUInt8("refine");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
const int equipType = msg.readInt32("location");
const int itemType = msg.readUInt8("item type");
@@ -289,8 +289,8 @@ void InventoryRecv::processPlayerInventory(Net::MessageIn &msg)
const int itemType = msg.readUInt8("item type");
const int amount = msg.readInt16("count");
msg.readInt32("wear state / equip");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
msg.readInt32("hire expire date (?)");
ItemFlags flags;
@@ -332,8 +332,8 @@ void InventoryRecv::processPlayerStorage(Net::MessageIn &msg)
const int itemType = msg.readUInt8("item type");
const int amount = msg.readInt16("count");
msg.readInt32("wear state / equip");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
msg.readInt32("hire expire date (?)");
ItemFlags flags;
@@ -488,8 +488,8 @@ void InventoryRecv::processPlayerStorageEquip(Net::MessageIn &msg)
msg.readInt32("location");
msg.readInt32("wear state");
const uint8_t refine = msg.readUInt8("refine level");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
msg.readInt32("hire expire date");
msg.readInt16("bind on equip");
@@ -535,8 +535,8 @@ void InventoryRecv::processPlayerStorageAdd(Net::MessageIn &msg)
const unsigned char identified = msg.readUInt8("identify");
const Damaged damaged = fromBool(msg.readUInt8("attribute"), Damaged);
const uint8_t refine = msg.readUInt8("refine");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
if (serverVersion >= 8 && packetVersion >= 20150226)
{
@@ -736,8 +736,8 @@ void InventoryRecv::processPlayerCartAdd(Net::MessageIn &msg)
uint8_t identified = msg.readUInt8("identified");
const Damaged damaged = fromBool(msg.readUInt8("attribute"), Damaged);
const uint8_t refine = msg.readUInt8("refine");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
if (serverVersion >= 8 && packetVersion >= 20150226)
{
@@ -807,8 +807,8 @@ void InventoryRecv::processPlayerCartEquip(Net::MessageIn &msg)
msg.readInt32("location");
msg.readInt32("wear state");
const uint8_t refine = msg.readUInt8("refine level");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
msg.readInt32("hire expire date");
msg.readInt16("bind on equip");
@@ -856,8 +856,8 @@ void InventoryRecv::processPlayerCartItems(Net::MessageIn &msg)
const int itemType = msg.readUInt8("item type");
const int amount = msg.readInt16("count");
msg.readInt32("wear state / equip");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
msg.readInt32("hire expire date (?)");
ItemFlags flags;
@@ -964,7 +964,7 @@ void InventoryRecv::processPlayerRepairList(Net::MessageIn &msg)
msg.readInt16("index");
msg.readInt16("item id");
msg.readUInt8("refine");
- for (int d = 0; d < 4; d ++)
+ for (int d = 0; d < maxCards; d ++)
msg.readInt16("card");
}
menu = MenuType::RepairWespon;
@@ -989,7 +989,7 @@ void InventoryRecv::processPlayerRefineList(Net::MessageIn &msg)
msg.readInt16("item index");
msg.readInt16("item id");
msg.readUInt8("refine");
- for (int d = 0; d < 4; d ++)
+ for (int d = 0; d < maxCards; d ++)
msg.readInt16("card");
}
menu = MenuType::WeaponeRefine;
diff --git a/src/net/eathena/itemrecv.cpp b/src/net/eathena/itemrecv.cpp
index de0eacd08..79892ebf7 100644
--- a/src/net/eathena/itemrecv.cpp
+++ b/src/net/eathena/itemrecv.cpp
@@ -26,6 +26,8 @@
#include "itemcolormanager.h"
#include "logger.h"
+#include "const/resources/item/cards.h"
+
#include "net/messagein.h"
#include "debug.h"
@@ -71,8 +73,8 @@ void ItemRecv::processItemDropped2(Net::MessageIn &msg)
msg.readUInt8("identify"), Identified);
const Damaged damaged = fromBool(msg.readUInt8("attribute"), Damaged);
const uint8_t refine = msg.readUInt8("refine");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
const int x = msg.readInt16("x");
const int y = msg.readInt16("y");
@@ -145,8 +147,8 @@ void ItemRecv::processItemVisible2(Net::MessageIn &msg)
msg.readUInt8("identify"), Identified);
const Damaged damaged = fromBool(msg.readUInt8("attribute"), Damaged);
const uint8_t refine = msg.readUInt8("refine");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
const int x = msg.readInt16("x");
const int y = msg.readInt16("y");
diff --git a/src/net/eathena/mailrecv.cpp b/src/net/eathena/mailrecv.cpp
index 1198968ac..67ba37cf2 100644
--- a/src/net/eathena/mailrecv.cpp
+++ b/src/net/eathena/mailrecv.cpp
@@ -92,7 +92,7 @@ void MailRecv::processReadMail(Net::MessageIn &msg)
mail->itemIdentify = msg.readUInt8("identify");
mail->itemAttribute = msg.readUInt8("attribute");
mail->itemRefine = msg.readUInt8("refine");
- for (int f = 0; f < 4; f ++)
+ for (int f = 0; f < maxCards; f ++)
mail->card[f] = msg.readInt16("card");
const int msgLen = msg.readUInt8("msg len");
if (msgLen != sz)
diff --git a/src/net/eathena/partyrecv.cpp b/src/net/eathena/partyrecv.cpp
index b71b8d882..c5f04008f 100644
--- a/src/net/eathena/partyrecv.cpp
+++ b/src/net/eathena/partyrecv.cpp
@@ -26,6 +26,8 @@
#include "being/localplayer.h"
+#include "const/resources/item/cards.h"
+
#include "enums/resources/notifytypes.h"
#include "gui/windows/chatwindow.h"
@@ -282,7 +284,7 @@ void PartyRecv::processPartyItemPickup(Net::MessageIn &msg)
msg.readUInt8("identify");
msg.readUInt8("attribute");
msg.readUInt8("refine");
- for (int f = 0; f < 4; f++)
+ for (int f = 0; f < maxCards; f++)
msg.readInt16("card");
msg.readInt16("equip location");
msg.readUInt8("item type");
diff --git a/src/net/eathena/searchstorerecv.cpp b/src/net/eathena/searchstorerecv.cpp
index 5d2d57265..3fc2c26b8 100644
--- a/src/net/eathena/searchstorerecv.cpp
+++ b/src/net/eathena/searchstorerecv.cpp
@@ -23,6 +23,8 @@
#include "logger.h"
#include "notifymanager.h"
+#include "const/resources/item/cards.h"
+
#include "enums/resources/notifytypes.h"
#include "net/messagein.h"
@@ -49,7 +51,7 @@ void SearchStoreRecv::processSearchAck(Net::MessageIn &msg)
msg.readInt32("price");
msg.readInt16("amount");
msg.readUInt8("refine");
- for (int d = 0; d < 4; d++)
+ for (int d = 0; d < maxCards; d++)
msg.readInt16("card");
// +++ need use ItemColorManager for colors
diff --git a/src/net/eathena/traderecv.cpp b/src/net/eathena/traderecv.cpp
index 97dc6affd..cdae4788e 100644
--- a/src/net/eathena/traderecv.cpp
+++ b/src/net/eathena/traderecv.cpp
@@ -77,8 +77,8 @@ void TradeRecv::processTradeItemAdd(Net::MessageIn &msg)
const uint8_t identify = msg.readUInt8("identify");
const Damaged damaged = fromBool(msg.readUInt8("attribute"), Damaged);
const uint8_t refine = msg.readUInt8("refine");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
if (serverVersion >= 8 && packetVersion >= 20150226)
{
diff --git a/src/net/eathena/vendingrecv.cpp b/src/net/eathena/vendingrecv.cpp
index 27e186d40..00618d53d 100644
--- a/src/net/eathena/vendingrecv.cpp
+++ b/src/net/eathena/vendingrecv.cpp
@@ -84,7 +84,7 @@ void VendingRecv::processItemsList(Net::MessageIn &msg)
Being *const being = actorManager->findBeing(id);
if (!being)
return;
- int cards[4];
+ int cards[maxCards];
CREATEWIDGETV(mBuyDialog, BuyDialog, being->getName());
mBuyDialog->setMoney(PlayerInfo::getAttribute(Attributes::MONEY));
msg.readInt32("vender id");
@@ -98,7 +98,7 @@ void VendingRecv::processItemsList(Net::MessageIn &msg)
msg.readUInt8("identify");
msg.readUInt8("attribute");
msg.readUInt8("refine");
- for (int d = 0; d < 4; d ++)
+ for (int d = 0; d < maxCards; d ++)
cards[d] = msg.readInt16("card");
if (serverVersion >= 8 && packetVersion >= 20150226)
{
@@ -141,7 +141,7 @@ void VendingRecv::processOpen(Net::MessageIn &msg)
msg.readUInt8("identify");
msg.readUInt8("attribute");
msg.readUInt8("refine");
- for (int d = 0; d < 4; d ++)
+ for (int d = 0; d < maxCards; d ++)
msg.readInt16("card");
if (serverVersion >= 8 && packetVersion >= 20150226)
{
diff --git a/src/net/tmwa/inventoryrecv.cpp b/src/net/tmwa/inventoryrecv.cpp
index 897b8a274..ce59dc274 100644
--- a/src/net/tmwa/inventoryrecv.cpp
+++ b/src/net/tmwa/inventoryrecv.cpp
@@ -68,8 +68,8 @@ void InventoryRecv::processPlayerEquipment(Net::MessageIn &msg)
const int equipType = msg.readInt16("equip type");
msg.readUInt8("attribute");
const uint8_t refine = msg.readUInt8("refine");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
if (Ea::InventoryRecv::mDebugInventory)
@@ -121,8 +121,8 @@ void InventoryRecv::processPlayerInventoryAdd(Net::MessageIn &msg)
const uint8_t identified = msg.readUInt8("identified");
msg.readUInt8("attribute");
const uint8_t refine = msg.readUInt8("refine");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
const int equipType = msg.readInt16("equip type");
const int type = msg.readUInt8("item type");
@@ -234,14 +234,14 @@ void InventoryRecv::processPlayerInventory(Net::MessageIn &msg)
for (int loop = 0; loop < number; loop++)
{
- int cards[4];
+ int cards[maxCards];
const int index = msg.readInt16("index") - INVENTORY_OFFSET;
const int itemId = msg.readInt16("item id");
const uint8_t itemType = msg.readUInt8("item type");
const uint8_t identified = msg.readUInt8("identified");
const int amount = msg.readInt16("amount");
const int arrow = msg.readInt16("arrow");
- for (int i = 0; i < 4; i++)
+ for (int i = 0; i < maxCards; i++)
cards[i] = msg.readInt16("card");
if (Ea::InventoryRecv::mDebugInventory)
@@ -284,14 +284,14 @@ void InventoryRecv::processPlayerStorage(Net::MessageIn &msg)
for (int loop = 0; loop < number; loop++)
{
- int cards[4];
+ int cards[maxCards];
const int index = msg.readInt16("index") - STORAGE_OFFSET;
const int itemId = msg.readInt16("item id");
const uint8_t itemType = msg.readUInt8("item type");
const uint8_t identified = msg.readUInt8("identified");
const int amount = msg.readInt16("amount");
msg.readInt16("arrow");
- for (int i = 0; i < 4; i++)
+ for (int i = 0; i < maxCards; i++)
cards[i] = msg.readInt16("card");
if (Ea::InventoryRecv::mDebugInventory)
@@ -362,7 +362,7 @@ void InventoryRecv::processPlayerStorageEquip(Net::MessageIn &msg)
for (int loop = 0; loop < number; loop++)
{
- int cards[4];
+ int cards[maxCards];
const int index = msg.readInt16("index") - STORAGE_OFFSET;
const int itemId = msg.readInt16("item id");
const uint8_t itemType = msg.readUInt8("item type");
@@ -372,7 +372,7 @@ void InventoryRecv::processPlayerStorageEquip(Net::MessageIn &msg)
msg.readInt16("another equip point?");
msg.readUInt8("attribute (broken)");
const uint8_t refine = msg.readUInt8("refine");
- for (int i = 0; i < 4; i++)
+ for (int i = 0; i < maxCards; i++)
cards[i] = msg.readInt16("card");
if (Ea::InventoryRecv::mDebugInventory)
@@ -411,8 +411,8 @@ void InventoryRecv::processPlayerStorageAdd(Net::MessageIn &msg)
const unsigned char identified = msg.readUInt8("identified");
msg.readUInt8("attribute");
const uint8_t refine = msg.readUInt8("refine");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
if (Item *const item = Ea::InventoryRecv::mStorage->getItem(index))
diff --git a/src/net/tmwa/traderecv.cpp b/src/net/tmwa/traderecv.cpp
index 48020eca3..feb65c3a6 100644
--- a/src/net/tmwa/traderecv.cpp
+++ b/src/net/tmwa/traderecv.cpp
@@ -64,8 +64,8 @@ void TradeRecv::processTradeItemAdd(Net::MessageIn &msg)
const uint8_t identify = msg.readUInt8("identify");
msg.readUInt8("attribute");
const uint8_t refine = msg.readUInt8("refine");
- int cards[4];
- for (int f = 0; f < 4; f++)
+ int cards[maxCards];
+ for (int f = 0; f < maxCards; f++)
cards[f] = msg.readInt16("card");
if (tradeWindow)
diff --git a/src/resources/item/item.cpp b/src/resources/item/item.cpp
index 3f67585ac..ae31dd94c 100644
--- a/src/resources/item/item.cpp
+++ b/src/resources/item/item.cpp
@@ -66,7 +66,7 @@ Item::Item(const int id,
mFavorite(favorite)
{
setId(id, color);
- for (int f = 0; f < 4; f ++)
+ for (int f = 0; f < maxCards; f ++)
mCards[f] = 0;
}
diff --git a/src/resources/item/item.h b/src/resources/item/item.h
index c287abd8c..9a910c31b 100644
--- a/src/resources/item/item.h
+++ b/src/resources/item/item.h
@@ -23,6 +23,8 @@
#ifndef RESOURCES_ITEM_ITEM_H
#define RESOURCES_ITEM_ITEM_H
+#include "const/resources/item/cards.h"
+
#include "enums/simpletypes/damaged.h"
#include "enums/simpletypes/equipm.h"
#include "enums/simpletypes/equipped.h"
@@ -36,8 +38,6 @@
class Image;
-const int maxCards = 4;
-
/**
* Represents one or more instances of a certain item type.
*/