[Scummvm-git-logs] scummvm master -> b1f21cd7687ce9234f93f00abf1358632049f003

dreammaster dreammaster at scummvm.org
Fri Nov 24 22:49:45 CET 2017


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
b1f21cd768 XEEN: Fixes for calculating weapon costs


Commit: b1f21cd7687ce9234f93f00abf1358632049f003
    https://github.com/scummvm/scummvm/commit/b1f21cd7687ce9234f93f00abf1358632049f003
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-11-24T16:49:38-05:00

Commit Message:
XEEN: Fixes for calculating weapon costs

Changed paths:
    engines/xeen/dialogs_items.cpp


diff --git a/engines/xeen/dialogs_items.cpp b/engines/xeen/dialogs_items.cpp
index 3b0b4ff..fa130da 100644
--- a/engines/xeen/dialogs_items.cpp
+++ b/engines/xeen/dialogs_items.cpp
@@ -669,6 +669,13 @@ int ItemsDialog::calcItemCost(Character *c, int itemIndex, ItemsMode mode,
 	int result = 0;
 	int level = skillLevel & 0x7f;
 
+	InventoryItems *invGroups[4] = {
+		&c->_weapons, &c->_armor, &c->_accessories, &c->_misc
+	};
+	const int *BASE_COSTS[4] = {
+		Res.WEAPON_BASE_COSTS, Res.ARMOR_BASE_COSTS, Res.ACCESSORY_BASE_COSTS, Res.MISC_BASE_COSTS
+	};
+
 	switch (mode) {
 	case ITEMMODE_BLACKSMITH:
 		level = 0;
@@ -691,11 +698,8 @@ int ItemsDialog::calcItemCost(Character *c, int itemIndex, ItemsMode mode,
 	case CATEGORY_WEAPON:
 	case CATEGORY_ARMOR:
 	case CATEGORY_ACCESSORY: {
-		// 0=Weapons, 1=Armor, 2=Accessories
-		XeenItem &i = (mode == 0) ? c->_weapons[itemIndex] :
-			(mode == 1 ? c->_armor[itemIndex] : c->_accessories[itemIndex]);
-		amount1 = (mode == 0) ? Res.WEAPON_BASE_COSTS[i._id] :
-			(mode == 1 ? Res.ARMOR_BASE_COSTS[i._id] : Res.ACCESSORY_BASE_COSTS[i._id]);
+		XeenItem &i = (*invGroups[category])[itemIndex];
+		amount1 = (BASE_COSTS[category])[i._id];
 
 		if (i._material > 36 && i._material < 59) {
 			switch (i._material) {
@@ -738,7 +742,7 @@ int ItemsDialog::calcItemCost(Character *c, int itemIndex, ItemsMode mode,
 		break;
 	}
 
-	case 3: {
+	case CATEGORY_MISC: {
 		// Misc
 		XeenItem &i = c->_misc[itemIndex];
 		amount1 = Res.MISC_MATERIAL_COSTS[i._material];





More information about the Scummvm-git-logs mailing list