summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-03-06 18:28:57 +0300
committerAndrei Karas <akaras@inbox.ru>2016-03-06 18:28:57 +0300
commit32223642829f80fe2f8a775f2dca81e5565c0104 (patch)
tree1f8378d3a7d9436742f0c8c6cc80396e75723efc
parentfe4bd9d594ae6c305c9c51a32fca503dbb2e0771 (diff)
downloadplus-32223642829f80fe2f8a775f2dca81e5565c0104.tar.gz
plus-32223642829f80fe2f8a775f2dca81e5565c0104.tar.bz2
plus-32223642829f80fe2f8a775f2dca81e5565c0104.tar.xz
plus-32223642829f80fe2f8a775f2dca81e5565c0104.zip
Fix some slot conversion tables and add comments (hercules).
-rw-r--r--src/enums/equipslot.h2
-rw-r--r--src/net/eathena/inventoryhandler.cpp21
-rw-r--r--src/net/eathena/inventoryrecv.cpp45
3 files changed, 34 insertions, 34 deletions
diff --git a/src/enums/equipslot.h b/src/enums/equipslot.h
index 7f4b151d7..52c8e2a4a 100644
--- a/src/enums/equipslot.h
+++ b/src/enums/equipslot.h
@@ -51,8 +51,6 @@ namespace EquipSlot
SHADOW_SHOES_SLOT = 19,
SHADOW_ACCESSORY1_SLOT = 20,
SHADOW_ACCESSORY2_SLOT = 21,
- EVOL_SLOT3 = 22,
- EVOL_SLOT4 = 23,
VECTOREND
};
} // namespace EquipSlot
diff --git a/src/net/eathena/inventoryhandler.cpp b/src/net/eathena/inventoryhandler.cpp
index 90608764f..49a0b39fb 100644
--- a/src/net/eathena/inventoryhandler.cpp
+++ b/src/net/eathena/inventoryhandler.cpp
@@ -37,27 +37,28 @@
extern Net::InventoryHandler *inventoryHandler;
-// missing EQUIP_RING1_SLOT
+// this conversion from bit corrupted LOOK_* to EquipSlot
+// for how it corrupted, see BeingRecv::processBeingChangeLookContinue
const EquipSlot::Type EQUIP_CONVERT[] =
{
- EquipSlot::PROJECTILE_SLOT, // 0 0
+ EquipSlot::PROJECTILE_SLOT, // 0 SPRITE_BASE
EquipSlot::FEET_SLOT, // 1 SPRITE_HAIR
EquipSlot::LEGS_SLOT, // 2 SPRITE_WEAPON
EquipSlot::TORSO_SLOT, // 3 SPRITE_HEAD_BOTTOM
- EquipSlot::GLOVES_SLOT, // 4 0
- EquipSlot::EVOL_RING1_SLOT, // 5
- EquipSlot::PROJECTILE_SLOT, // 6 0
+ EquipSlot::GLOVES_SLOT, // 4 SPRITE_HEAD_TOP
+ EquipSlot::EVOL_RING1_SLOT, // 5 SPRITE_HEAD_MID
+ EquipSlot::PROJECTILE_SLOT, // 6 SPRITE_HAIR_COLOR
EquipSlot::HEAD_SLOT, // 7 SPRITE_CLOTHES_COLOR
- EquipSlot::RING2_SLOT, // 8 0
+ EquipSlot::RING2_SLOT, // 8 SPRITE_SHIELD
EquipSlot::PROJECTILE_SLOT, // 9 SPRITE_SHOES
EquipSlot::FIGHT1_SLOT, // 10 SPRITE_BODY
EquipSlot::FIGHT2_SLOT, // 11 SPRITE_FLOOR
- EquipSlot::EVOL_RING2_SLOT, // 12
+ EquipSlot::EVOL_RING2_SLOT, // 12 SPRITE_ROBE
EquipSlot::PROJECTILE_SLOT, // 13 SPRITE_EVOL2
EquipSlot::COSTUME_ROBE_SLOT, // 14 SPRITE_EVOL3
EquipSlot::RING1_SLOT, // 15 SPRITE_EVOL4
- EquipSlot::EVOL_SLOT3, // 16 SPRITE_EVOL5
- EquipSlot::EVOL_SLOT4, // 17 SPRITE_EVOL6
+ EquipSlot::NECK_SLOT, // 16 SPRITE_EVOL5
+ EquipSlot::RING2_SLOT, // 17 SPRITE_EVOL6
};
namespace EAthena
@@ -209,7 +210,7 @@ void InventoryHandler::selectEgg(const Item *const item) const
int InventoryHandler::convertFromServerSlot(const int serverSlot) const
{
- if (serverSlot < 0 || serverSlot > 17)
+ if (serverSlot < 0 || serverSlot >= 17)
return 0;
return CAST_S32(EQUIP_CONVERT[serverSlot]);
diff --git a/src/net/eathena/inventoryrecv.cpp b/src/net/eathena/inventoryrecv.cpp
index 2fce17be0..3b0114cb9 100644
--- a/src/net/eathena/inventoryrecv.cpp
+++ b/src/net/eathena/inventoryrecv.cpp
@@ -69,30 +69,31 @@ namespace EAthena
namespace InventoryRecv
{
+ // EQP_* to EquipSlot
const EquipSlot::Type EQUIP_POINTS[EquipSlot::VECTOREND] =
{
- EquipSlot::LEGS_SLOT, // Lower Headgear
- EquipSlot::FIGHT1_SLOT, // Weapon
- EquipSlot::GLOVES_SLOT, // Garment
- EquipSlot::RING2_SLOT, // Accessory 1
- EquipSlot::RING1_SLOT, // Armor
- EquipSlot::FIGHT2_SLOT, // Shield
- EquipSlot::FEET_SLOT, // Footgear
- EquipSlot::NECK_SLOT, // Accessory 2
- EquipSlot::HEAD_SLOT, // Upper Headgear
- EquipSlot::TORSO_SLOT, // Middle Headgear
- EquipSlot::EVOL_RING1_SLOT, // Costume Top Headgear
- EquipSlot::EVOL_RING2_SLOT, // Costume Mid Headgear
- EquipSlot::PROJECTILE_SLOT, // Costume Low Headgear
- EquipSlot::COSTUME_ROBE_SLOT, // Costume Garment/Robe
- EquipSlot::MISSING1_SLOT, // Missing slot 1
- EquipSlot::MISSING2_SLOT, // Missing slot 2
- EquipSlot::SHADOW_ARMOR_SLOT, // Shadow Armor
- EquipSlot::SHADOW_WEAPON_SLOT, // Shadow Weapon
- EquipSlot::SHADOW_SHIELD_SLOT, // Shadow Shield
- EquipSlot::SHADOW_SHOES_SLOT, // Shadow Shoes
- EquipSlot::SHADOW_ACCESSORY2_SLOT, // Shadow Accessory 2
- EquipSlot::SHADOW_ACCESSORY1_SLOT, // Shadow Accessory 1
+ EquipSlot::LEGS_SLOT, // 0 1 EQP_HEAD_LOW
+ EquipSlot::FIGHT1_SLOT, // 1 2 EQP_HAND_R
+ EquipSlot::GLOVES_SLOT, // 2 4 EQP_GARMENT
+ EquipSlot::RING2_SLOT, // 3 8 EQP_ACC_L
+ EquipSlot::RING1_SLOT, // 4 16 EQP_ARMOR
+ EquipSlot::FIGHT2_SLOT, // 5 32 EQP_HAND_L
+ EquipSlot::FEET_SLOT, // 6 64 EQP_SHOES
+ EquipSlot::NECK_SLOT, // 7 128 EQP_ACC_R
+ EquipSlot::HEAD_SLOT, // 8 256 EQP_HEAD_TOP
+ EquipSlot::TORSO_SLOT, // 9 512 EQP_HEAD_MID
+ EquipSlot::EVOL_RING1_SLOT, // 10 1024 EQP_COSTUME_HEAD_TOP
+ EquipSlot::EVOL_RING2_SLOT, // 11 2048 EQP_COSTUME_HEAD_MID
+ EquipSlot::PROJECTILE_SLOT, // 12 4096 EQP_COSTUME_HEAD_LOW
+ EquipSlot::COSTUME_ROBE_SLOT, // 13 8192 EQP_COSTUME_GARMENT
+ EquipSlot::PROJECTILE_SLOT, // 14 16384 UNUSED_COSTUME_FLOOR
+ EquipSlot::PROJECTILE_SLOT, // 15 32768 EQP_AMMO
+ EquipSlot::SHADOW_ARMOR_SLOT, // 16 65536 EQP_SHADOW_ARMOR
+ EquipSlot::SHADOW_WEAPON_SLOT, // 17 131072 EQP_SHADOW_WEAPON
+ EquipSlot::SHADOW_SHIELD_SLOT, // 18 262144 EQP_SHADOW_SHIELD
+ EquipSlot::SHADOW_SHOES_SLOT, // 19 524288 EQP_SHADOW_SHOES
+ EquipSlot::SHADOW_ACCESSORY2_SLOT, // 20 1048576 EQP_SHADOW_ACC_R
+ EquipSlot::SHADOW_ACCESSORY1_SLOT, // 21 2097152 EQP_SHADOW_ACC_L
};
Ea::InventoryItems mCartItems;