DM: Rename IconIndice enum
This commit is contained in:
parent
7654c89d4f
commit
b365338293
12 changed files with 141 additions and 141 deletions
|
@ -35,8 +35,8 @@
|
|||
|
||||
namespace DM {
|
||||
|
||||
#define k0x4000_IgnoreObjectModifiers 0x4000 // @ MASK0x4000_IGNORE_OBJECT_MODIFIERS
|
||||
#define k0x8000_IgnoreTemporaryExperience 0x8000 // @ MASK0x8000_IGNORE_TEMPORARY_EXPERIENCE
|
||||
#define kDMIgnoreObjectModifiers 0x4000 // @ MASK0x4000_IGNORE_OBJECT_MODIFIERS
|
||||
#define kDMIgnoreTemporaryExperience 0x8000 // @ MASK0x8000_IGNORE_TEMPORARY_EXPERIENCE
|
||||
|
||||
class Scent {
|
||||
uint16 _scent;
|
||||
|
@ -97,79 +97,79 @@ public:
|
|||
}; // @ PARTY
|
||||
|
||||
enum IconIndice {
|
||||
kM1_IconIndiceNone = -1, // @ CM1_ICON_NONE
|
||||
k0_IconIndiceJunkCompassNorth = 0, // @ C000_ICON_JUNK_COMPASS_NORTH
|
||||
k3_IconIndiceJunkCompassWest = 3, // @ C003_ICON_JUNK_COMPASS_WEST
|
||||
k4_IconIndiceWeaponTorchUnlit = 4, // @ C004_ICON_WEAPON_TORCH_UNLIT
|
||||
k7_IconIndiceWeaponTorchLit = 7, // @ C007_ICON_WEAPON_TORCH_LIT
|
||||
k8_IconIndiceJunkWater = 8, // @ C008_ICON_JUNK_WATER
|
||||
k9_IconIndiceJunkWaterSkin = 9, // @ C009_ICON_JUNK_WATERSKIN
|
||||
k10_IconIndiceJunkJewelSymalUnequipped = 10, // @ C010_ICON_JUNK_JEWEL_SYMAL_UNEQUIPPED
|
||||
k11_IconIndiceJunkJewelSymalEquipped = 11, // @ C011_ICON_JUNK_JEWEL_SYMAL_EQUIPPED
|
||||
k12_IconIndiceJunkIllumuletUnequipped = 12, // @ C012_ICON_JUNK_ILLUMULET_UNEQUIPPED
|
||||
k13_IconIndiceJunkIllumuletEquipped = 13, // @ C013_ICON_JUNK_ILLUMULET_EQUIPPED
|
||||
k14_IconIndiceWeaponFlamittEmpty = 14, // @ C014_ICON_WEAPON_FLAMITT_EMPTY
|
||||
k16_IconIndiceWeaponEyeOfTimeEmpty = 16, // @ C016_ICON_WEAPON_EYE_OF_TIME_EMPTY
|
||||
k18_IconIndiceWeaponStormringEmpty = 18, // @ C018_ICON_WEAPON_STORMRING_EMPTY
|
||||
k20_IconIndiceWeaponStaffOfClawsEmpty = 20, // @ C020_ICON_WEAPON_STAFF_OF_CLAWS_EMPTY
|
||||
k22_IconIndiceWeaponStaffOfClawsFull = 22, // @ C022_ICON_WEAPON_STAFF_OF_CLAWS_FULL
|
||||
k23_IconIndiceWeaponBoltBladeStormEmpty = 23, // @ C023_ICON_WEAPON_BOLT_BLADE_STORM_EMPTY
|
||||
k25_IconIndiceWeaponFuryRaBladeEmpty = 25, // @ C025_ICON_WEAPON_FURY_RA_BLADE_EMPTY
|
||||
k27_IconIndiceWeaponTheFirestaff = 27, // @ C027_ICON_WEAPON_THE_FIRESTAFF
|
||||
k28_IconIndiceWeaponTheFirestaffComplete = 28, // @ C028_ICON_WEAPON_THE_FIRESTAFF_COMPLETE
|
||||
k30_IconIndiceScrollOpen = 30, // @ C030_ICON_SCROLL_SCROLL_OPEN
|
||||
k31_IconIndiceScrollClosed = 31, // @ C031_ICON_SCROLL_SCROLL_CLOSED
|
||||
k32_IconIndiceWeaponDagger = 32, // @ C032_ICON_WEAPON_DAGGER
|
||||
k38_IconIndiceWeaponDeltaSideSplitter = 38, // @ C038_ICON_WEAPON_DELTA_SIDE_SPLITTER
|
||||
k39_IconIndiceWeaponDiamondEdge = 39, // @ C039_ICON_WEAPON_DIAMOND_EDGE
|
||||
k40_IconIndiceWeaponVorpalBlade = 40, // @ C040_ICON_WEAPON_VORPAL_BLADE
|
||||
k41_IconIndiceWeaponTheInquisitorDragonFang = 41, // @ C041_ICON_WEAPON_THE_INQUISITOR_DRAGON_FANG
|
||||
k43_IconIndiceWeaponHardcleaveExecutioner = 43, // @ C043_ICON_WEAPON_HARDCLEAVE_EXECUTIONER
|
||||
k45_IconIndiceWeaponMaceOfOrder = 45, // @ C045_ICON_WEAPON_MACE_OF_ORDER
|
||||
k51_IconIndiceWeaponArrow = 51, // @ C051_ICON_WEAPON_ARROW
|
||||
k52_IconIndiceWeaponSlayer = 52, // @ C052_ICON_WEAPON_SLAYER
|
||||
k54_IconIndiceWeaponRock = 54, // @ C054_ICON_WEAPON_ROCK
|
||||
k55_IconIndiceWeaponPoisonDart = 55, // @ C055_ICON_WEAPON_POISON_DART
|
||||
k56_IconIndiceWeaponThrowingStar = 56, // @ C056_ICON_WEAPON_THROWING_STAR
|
||||
k58_IconIndiceWeaponStaff = 58, // @ C058_ICON_WEAPON_STAFF
|
||||
k59_IconIndiceWeaponWand = 59, // @ C059_ICON_WEAPON_WAND
|
||||
k60_IconIndiceWeaponTeowand = 60, // @ C060_ICON_WEAPON_TEOWAND
|
||||
k61_IconIndiceWeaponYewStaff = 61, // @ C061_ICON_WEAPON_YEW_STAFF
|
||||
k62_IconIndiceWeaponStaffOfManarStaffOfIrra = 62, // @ C062_ICON_WEAPON_STAFF_OF_MANAR_STAFF_OF_IRRA
|
||||
k63_IconIndiceWeaponSnakeStaffCrossOfNeta = 63, // @ C063_ICON_WEAPON_SNAKE_STAFF_CROSS_OF_NETA
|
||||
k64_IconIndiceWeaponTheConduitSerpentStaff = 64, // @ C064_ICON_WEAPON_THE_CONDUIT_SERPENT_STAFF
|
||||
k65_IconIndiceWeaponDragonSpit = 65, // @ C065_ICON_WEAPON_DRAGON_SPIT
|
||||
k66_IconIndiceWeaponSceptreOfLyf = 66, // @ C066_ICON_WEAPON_SCEPTRE_OF_LYF
|
||||
k81_IconIndiceArmourCloakOfNight = 81, // @ C081_ICON_ARMOUR_CLOAK_OF_NIGHT
|
||||
k104_IconIndiceArmourCrownOfNerra = 104, // @ C104_ICON_ARMOUR_CROWN_OF_NERRA
|
||||
k119_IconIndiceArmourElvenBoots = 119, // @ C119_ICON_ARMOUR_ELVEN_BOOTS
|
||||
k120_IconIndiceJunkGemOfAges = 120, // @ C120_ICON_JUNK_GEM_OF_AGES
|
||||
k121_IconIndiceJunkEkkhardCross = 121, // @ C121_ICON_JUNK_EKKHARD_CROSS
|
||||
k122_IconIndiceJunkMoonstone = 122, // @ C122_ICON_JUNK_MOONSTONE
|
||||
k124_IconIndiceJunkPendantFeral = 124, // @ C124_ICON_JUNK_PENDANT_FERAL
|
||||
k128_IconIndiceJunkBoulder = 128, // @ C128_ICON_JUNK_BOULDER
|
||||
k137_IconIndiceJunkRabbitsFoot = 137, // @ C137_ICON_JUNK_RABBITS_FOOT
|
||||
k140_IconIndiceArmourDexhelm = 140, // @ C140_ICON_ARMOUR_DEXHELM
|
||||
k141_IconIndiceArmourFlamebain = 141, // @ C141_ICON_ARMOUR_FLAMEBAIN
|
||||
k142_IconIndiceArmourPowertowers = 142, // @ C142_ICON_ARMOUR_POWERTOWERS
|
||||
k144_IconIndiceContainerChestClosed = 144, // @ C144_ICON_CONTAINER_CHEST_CLOSED
|
||||
k145_IconIndiceContainerChestOpen = 145, // @ C145_ICON_CONTAINER_CHEST_OPEN
|
||||
k147_IconIndiceJunkChampionBones = 147, // @ C147_ICON_JUNK_CHAMPION_BONES
|
||||
k148_IconIndicePotionMaPotionMonPotion = 148, // @ C148_ICON_POTION_MA_POTION_MON_POTION
|
||||
k163_IconIndicePotionWaterFlask = 163, // @ C163_ICON_POTION_WATER_FLASK
|
||||
k168_IconIndiceJunkApple = 168, // @ C168_ICON_JUNK_APPLE
|
||||
k176_IconIndiceJunkIronKey = 176, // @ C176_ICON_JUNK_IRON_KEY
|
||||
k191_IconIndiceJunkMasterKey = 191, // @ C191_ICON_JUNK_MASTER_KEY
|
||||
k194_IconIndiceArmourBootOfSpeed = 194, // @ C194_ICON_ARMOUR_BOOT_OF_SPEED
|
||||
k195_IconIndicePotionEmptyFlask = 195, // @ C195_ICON_POTION_EMPTY_FLASK
|
||||
k197_IconIndiceJunkZokathra = 197, // @ C197_ICON_JUNK_ZOKATHRA
|
||||
k201_IconIndiceActionEmptyHand = 201, // @ C201_ICON_ACTION_ICON_EMPTY_HAND
|
||||
k202_IconIndiceEyeNotLooking = 202, // @ C202_ICON_EYE_NOT_LOOKING /* One pixel is different in this bitmap from the eye in C017_GRAPHIC_INVENTORY. This is visible by selecting another champion after clicking the eye */
|
||||
k203_IconIndiceEyeLooking = 203, // @ C203_ICON_EYE_LOOKING
|
||||
k204_IconIndiceEmptyBox = 204, // @ C204_ICON_EMPTY_BOX
|
||||
k205_IconIndiceMouthOpen = 205, // @ C205_ICON_MOUTH_OPEN
|
||||
k208_IconIndiceNeck = 208, // @ C208_ICON_NECK
|
||||
k212_IconIndiceReadyHand = 212 // @ C212_ICON_READY_HAND
|
||||
kDMIconIndiceNone = -1, // @ CM1_ICON_NONE
|
||||
kDMIconIndiceJunkCompassNorth = 0, // @ C000_ICON_JUNK_COMPASS_NORTH
|
||||
kDMIconIndiceJunkCompassWest = 3, // @ C003_ICON_JUNK_COMPASS_WEST
|
||||
kDMIconIndiceWeaponTorchUnlit = 4, // @ C004_ICON_WEAPON_TORCH_UNLIT
|
||||
kDMIconIndiceWeaponTorchLit = 7, // @ C007_ICON_WEAPON_TORCH_LIT
|
||||
kDMIconIndiceJunkWater = 8, // @ C008_ICON_JUNK_WATER
|
||||
kDMIconIndiceJunkWaterSkin = 9, // @ C009_ICON_JUNK_WATERSKIN
|
||||
kDMIconIndiceJunkJewelSymalUnequipped = 10, // @ C010_ICON_JUNK_JEWEL_SYMAL_UNEQUIPPED
|
||||
kDMIconIndiceJunkJewelSymalEquipped = 11, // @ C011_ICON_JUNK_JEWEL_SYMAL_EQUIPPED
|
||||
kDMIconIndiceJunkIllumuletUnequipped = 12, // @ C012_ICON_JUNK_ILLUMULET_UNEQUIPPED
|
||||
kDMIconIndiceJunkIllumuletEquipped = 13, // @ C013_ICON_JUNK_ILLUMULET_EQUIPPED
|
||||
kDMIconIndiceWeaponFlamittEmpty = 14, // @ C014_ICON_WEAPON_FLAMITT_EMPTY
|
||||
kDMIconIndiceWeaponEyeOfTimeEmpty = 16, // @ C016_ICON_WEAPON_EYE_OF_TIME_EMPTY
|
||||
kDMIconIndiceWeaponStormringEmpty = 18, // @ C018_ICON_WEAPON_STORMRING_EMPTY
|
||||
kDMIconIndiceWeaponStaffOfClawsEmpty = 20, // @ C020_ICON_WEAPON_STAFF_OF_CLAWS_EMPTY
|
||||
kDMIconIndiceWeaponStaffOfClawsFull = 22, // @ C022_ICON_WEAPON_STAFF_OF_CLAWS_FULL
|
||||
kDMIconIndiceWeaponBoltBladeStormEmpty = 23, // @ C023_ICON_WEAPON_BOLT_BLADE_STORM_EMPTY
|
||||
kDMIconIndiceWeaponFuryRaBladeEmpty = 25, // @ C025_ICON_WEAPON_FURY_RA_BLADE_EMPTY
|
||||
kDMIconIndiceWeaponTheFirestaff = 27, // @ C027_ICON_WEAPON_THE_FIRESTAFF
|
||||
kDMIconIndiceWeaponTheFirestaffComplete = 28, // @ C028_ICON_WEAPON_THE_FIRESTAFF_COMPLETE
|
||||
kDMIconIndiceScrollOpen = 30, // @ C030_ICON_SCROLL_SCROLL_OPEN
|
||||
kDMIconIndiceScrollClosed = 31, // @ C031_ICON_SCROLL_SCROLL_CLOSED
|
||||
kDMIconIndiceWeaponDagger = 32, // @ C032_ICON_WEAPON_DAGGER
|
||||
kDMIconIndiceWeaponDeltaSideSplitter = 38, // @ C038_ICON_WEAPON_DELTA_SIDE_SPLITTER
|
||||
kDMIconIndiceWeaponDiamondEdge = 39, // @ C039_ICON_WEAPON_DIAMOND_EDGE
|
||||
kDMIconIndiceWeaponVorpalBlade = 40, // @ C040_ICON_WEAPON_VORPAL_BLADE
|
||||
kDMIconIndiceWeaponTheInquisitorDragonFang = 41, // @ C041_ICON_WEAPON_THE_INQUISITOR_DRAGON_FANG
|
||||
kDMIconIndiceWeaponHardcleaveExecutioner = 43, // @ C043_ICON_WEAPON_HARDCLEAVE_EXECUTIONER
|
||||
kDMIconIndiceWeaponMaceOfOrder = 45, // @ C045_ICON_WEAPON_MACE_OF_ORDER
|
||||
kDMIconIndiceWeaponArrow = 51, // @ C051_ICON_WEAPON_ARROW
|
||||
kDMIconIndiceWeaponSlayer = 52, // @ C052_ICON_WEAPON_SLAYER
|
||||
kDMIconIndiceWeaponRock = 54, // @ C054_ICON_WEAPON_ROCK
|
||||
kDMIconIndiceWeaponPoisonDart = 55, // @ C055_ICON_WEAPON_POISON_DART
|
||||
kDMIconIndiceWeaponThrowingStar = 56, // @ C056_ICON_WEAPON_THROWING_STAR
|
||||
kDMIconIndiceWeaponStaff = 58, // @ C058_ICON_WEAPON_STAFF
|
||||
kDMIconIndiceWeaponWand = 59, // @ C059_ICON_WEAPON_WAND
|
||||
kDMIconIndiceWeaponTeowand = 60, // @ C060_ICON_WEAPON_TEOWAND
|
||||
kDMIconIndiceWeaponYewStaff = 61, // @ C061_ICON_WEAPON_YEW_STAFF
|
||||
kDMIconIndiceWeaponStaffOfManarStaffOfIrra = 62, // @ C062_ICON_WEAPON_STAFF_OF_MANAR_STAFF_OF_IRRA
|
||||
kDMIconIndiceWeaponSnakeStaffCrossOfNeta = 63, // @ C063_ICON_WEAPON_SNAKE_STAFF_CROSS_OF_NETA
|
||||
kDMIconIndiceWeaponTheConduitSerpentStaff = 64, // @ C064_ICON_WEAPON_THE_CONDUIT_SERPENT_STAFF
|
||||
kDMIconIndiceWeaponDragonSpit = 65, // @ C065_ICON_WEAPON_DRAGON_SPIT
|
||||
kDMIconIndiceWeaponSceptreOfLyf = 66, // @ C066_ICON_WEAPON_SCEPTRE_OF_LYF
|
||||
kDMIconIndiceArmourCloakOfNight = 81, // @ C081_ICON_ARMOUR_CLOAK_OF_NIGHT
|
||||
kDMIconIndiceArmourCrownOfNerra = 104, // @ C104_ICON_ARMOUR_CROWN_OF_NERRA
|
||||
kDMIconIndiceArmourElvenBoots = 119, // @ C119_ICON_ARMOUR_ELVEN_BOOTS
|
||||
kDMIconIndiceJunkGemOfAges = 120, // @ C120_ICON_JUNK_GEM_OF_AGES
|
||||
kDMIconIndiceJunkEkkhardCross = 121, // @ C121_ICON_JUNK_EKKHARD_CROSS
|
||||
kDMIconIndiceJunkMoonstone = 122, // @ C122_ICON_JUNK_MOONSTONE
|
||||
kDMIconIndiceJunkPendantFeral = 124, // @ C124_ICON_JUNK_PENDANT_FERAL
|
||||
kDMIconIndiceJunkBoulder = 128, // @ C128_ICON_JUNK_BOULDER
|
||||
kDMIconIndiceJunkRabbitsFoot = 137, // @ C137_ICON_JUNK_RABBITS_FOOT
|
||||
kDMIconIndiceArmourDexhelm = 140, // @ C140_ICON_ARMOUR_DEXHELM
|
||||
kDMIconIndiceArmourFlamebain = 141, // @ C141_ICON_ARMOUR_FLAMEBAIN
|
||||
kDMIconIndiceArmourPowertowers = 142, // @ C142_ICON_ARMOUR_POWERTOWERS
|
||||
kDMIconIndiceContainerChestClosed = 144, // @ C144_ICON_CONTAINER_CHEST_CLOSED
|
||||
kDMIconIndiceContainerChestOpen = 145, // @ C145_ICON_CONTAINER_CHEST_OPEN
|
||||
kDMIconIndiceJunkChampionBones = 147, // @ C147_ICON_JUNK_CHAMPION_BONES
|
||||
kDMIconIndicePotionMaPotionMonPotion = 148, // @ C148_ICON_POTION_MA_POTION_MON_POTION
|
||||
kDMIconIndicePotionWaterFlask = 163, // @ C163_ICON_POTION_WATER_FLASK
|
||||
kDMIconIndiceJunkApple = 168, // @ C168_ICON_JUNK_APPLE
|
||||
kDMIconIndiceJunkIronKey = 176, // @ C176_ICON_JUNK_IRON_KEY
|
||||
kDMIconIndiceJunkMasterKey = 191, // @ C191_ICON_JUNK_MASTER_KEY
|
||||
kDMIconIndiceArmourBootOfSpeed = 194, // @ C194_ICON_ARMOUR_BOOT_OF_SPEED
|
||||
kDMIconIndicePotionEmptyFlask = 195, // @ C195_ICON_POTION_EMPTY_FLASK
|
||||
kDMIconIndiceJunkZokathra = 197, // @ C197_ICON_JUNK_ZOKATHRA
|
||||
kDMIconIndiceActionEmptyHand = 201, // @ C201_ICON_ACTION_ICON_EMPTY_HAND
|
||||
kDMIconIndiceEyeNotLooking = 202, // @ C202_ICON_EYE_NOT_LOOKING /* One pixel is different in this bitmap from the eye in C017_GRAPHIC_INVENTORY. This is visible by selecting another champion after clicking the eye */
|
||||
kDMIconIndiceEyeLooking = 203, // @ C203_ICON_EYE_LOOKING
|
||||
kDMIconIndiceEmptyBox = 204, // @ C204_ICON_EMPTY_BOX
|
||||
kDMIconIndiceMouthOpen = 205, // @ C205_ICON_MOUTH_OPEN
|
||||
kDMIconIndiceNeck = 208, // @ C208_ICON_NECK
|
||||
kDMIconIndiceReadyHand = 212 // @ C212_ICON_READY_HAND
|
||||
};
|
||||
|
||||
enum ChampionIndex {
|
||||
|
|
|
@ -656,7 +656,7 @@ void DMEngine::endGame(bool doNotDrawCreditsOnly) {
|
|||
|
||||
_textMan->printEndGameString(textPosX, textPosY++, k9_ColorGold, curChampion->_title);
|
||||
for (int16 idx = k0_ChampionSkillFighter; idx <= k3_ChampionSkillWizard; idx++) {
|
||||
uint16 skillLevel = MIN<uint16>(16, _championMan->getSkillLevel(championIndex, idx | (k0x4000_IgnoreObjectModifiers | k0x8000_IgnoreTemporaryExperience)));
|
||||
uint16 skillLevel = MIN<uint16>(16, _championMan->getSkillLevel(championIndex, idx | (kDMIgnoreObjectModifiers | kDMIgnoreTemporaryExperience)));
|
||||
if (skillLevel == 1)
|
||||
continue;
|
||||
|
||||
|
|
|
@ -1616,35 +1616,35 @@ int16 DungeonMan::getStairsExitDirection(int16 mapX, int16 mapY) {
|
|||
|
||||
Thing DungeonMan::getObjForProjectileLaucherOrObjGen(uint16 iconIndex) {
|
||||
int16 thingType = k5_WeaponThingType;
|
||||
if ((iconIndex >= k4_IconIndiceWeaponTorchUnlit) && (iconIndex <= k7_IconIndiceWeaponTorchLit))
|
||||
iconIndex = k4_IconIndiceWeaponTorchUnlit;
|
||||
if ((iconIndex >= kDMIconIndiceWeaponTorchUnlit) && (iconIndex <= kDMIconIndiceWeaponTorchLit))
|
||||
iconIndex = kDMIconIndiceWeaponTorchUnlit;
|
||||
|
||||
int16 junkType;
|
||||
|
||||
switch (iconIndex) {
|
||||
case k54_IconIndiceWeaponRock:
|
||||
case kDMIconIndiceWeaponRock:
|
||||
junkType = k30_WeaponTypeRock;
|
||||
break;
|
||||
case k128_IconIndiceJunkBoulder:
|
||||
case kDMIconIndiceJunkBoulder:
|
||||
junkType = k25_JunkTypeBoulder;
|
||||
thingType = k10_JunkThingType;
|
||||
break;
|
||||
case k51_IconIndiceWeaponArrow:
|
||||
case kDMIconIndiceWeaponArrow:
|
||||
junkType = k27_WeaponTypeArrow;
|
||||
break;
|
||||
case k52_IconIndiceWeaponSlayer:
|
||||
case kDMIconIndiceWeaponSlayer:
|
||||
junkType = k28_WeaponTypeSlayer;
|
||||
break;
|
||||
case k55_IconIndiceWeaponPoisonDart:
|
||||
case kDMIconIndiceWeaponPoisonDart:
|
||||
junkType = k31_WeaponTypePoisonDart;
|
||||
break;
|
||||
case k56_IconIndiceWeaponThrowingStar:
|
||||
case kDMIconIndiceWeaponThrowingStar:
|
||||
junkType = k32_WeaponTypeThrowingStar;
|
||||
break;
|
||||
case k32_IconIndiceWeaponDagger:
|
||||
case kDMIconIndiceWeaponDagger:
|
||||
junkType = k8_WeaponTypeDagger;
|
||||
break;
|
||||
case k4_IconIndiceWeaponTorchUnlit:
|
||||
case kDMIconIndiceWeaponTorchUnlit:
|
||||
junkType = k2_WeaponTypeTorch;
|
||||
break;
|
||||
default:
|
||||
|
@ -1657,7 +1657,7 @@ Thing DungeonMan::getObjForProjectileLaucherOrObjGen(uint16 iconIndex) {
|
|||
|
||||
Junk *junkPtr = (Junk *)getThingData(unusedThing);
|
||||
junkPtr->setType(junkType); /* Also works for WEAPON in cases other than Boulder */
|
||||
if ((iconIndex == k4_IconIndiceWeaponTorchUnlit) && ((Weapon *)junkPtr)->isLit()) /* BUG0_65 Torches created by object generator or projectile launcher sensors have no charges. Charges are only defined if the Torch is lit which is not possible at the time it is created */
|
||||
if ((iconIndex == kDMIconIndiceWeaponTorchUnlit) && ((Weapon *)junkPtr)->isLit()) /* BUG0_65 Torches created by object generator or projectile launcher sensors have no charges. Charges are only defined if the Torch is lit which is not possible at the time it is created */
|
||||
((Weapon *)junkPtr)->setChargeCount(15);
|
||||
|
||||
return unusedThing;
|
||||
|
|
|
@ -1197,9 +1197,9 @@ void EventManager::commandProcessType80ClickInDungeonView(int16 posX, int16 posY
|
|||
if (_vm->_dungeonMan->_isFacingFountain) {
|
||||
uint16 iconIdx = _vm->_objectMan->getIconIndex(thingHandObject);
|
||||
uint16 weight = _vm->_dungeonMan->getObjectWeight(thingHandObject);
|
||||
if ((iconIdx >= k8_IconIndiceJunkWater) && (iconIdx <= k9_IconIndiceJunkWaterSkin))
|
||||
if ((iconIdx >= kDMIconIndiceJunkWater) && (iconIdx <= kDMIconIndiceJunkWaterSkin))
|
||||
junkPtr->setChargeCount(3); /* Full */
|
||||
else if (iconIdx == k195_IconIndicePotionEmptyFlask)
|
||||
else if (iconIdx == kDMIconIndicePotionEmptyFlask)
|
||||
((Potion*)junkPtr)->setType(k15_PotionTypeWaterFlask);
|
||||
else {
|
||||
commandProcessType80ClickInDungeonViewTouchFrontWall();
|
||||
|
@ -1356,7 +1356,7 @@ void EventManager::processType80_clickInDungeonView_grabLeaderHandObject(uint16
|
|||
}
|
||||
|
||||
Thing topPileThing = _vm->_dungeonMan->_pileTopObject[viewCell];
|
||||
if (_vm->_objectMan->getIconIndex(topPileThing) != kM1_IconIndiceNone) {
|
||||
if (_vm->_objectMan->getIconIndex(topPileThing) != kDMIconIndiceNone) {
|
||||
_vm->_moveSens->getMoveResult(topPileThing, mapX, mapY, kM1_MapXNotOnASquare, 0);
|
||||
_vm->_championMan->putObjectInLeaderHand(topPileThing, true);
|
||||
}
|
||||
|
@ -1380,7 +1380,7 @@ void EventManager::processType80_clickInDungeonViewDropLeaderHandObject(uint16 v
|
|||
uint16 currCell = normalizeModulo4(_vm->_dungeonMan->_partyDir + viewCell);
|
||||
Thing removedThing = _vm->_championMan->getObjectRemovedFromLeaderHand();
|
||||
_vm->_moveSens->getMoveResult(thingWithNewCell(removedThing, currCell), kM1_MapXNotOnASquare, 0, mapX, mapY);
|
||||
if (droppingIntoAnAlcove && _vm->_dungeonMan->_isFacingViAltar && (_vm->_objectMan->getIconIndex(removedThing) == k147_IconIndiceJunkChampionBones)) {
|
||||
if (droppingIntoAnAlcove && _vm->_dungeonMan->_isFacingViAltar && (_vm->_objectMan->getIconIndex(removedThing) == kDMIconIndiceJunkChampionBones)) {
|
||||
Junk *removedJunk = (Junk*)_vm->_dungeonMan->getThingData(removedThing);
|
||||
TimelineEvent newEvent;
|
||||
setMapAndTime(newEvent._mapTime, _vm->_dungeonMan->_partyMapIndex, _vm->_gameTime + 1);
|
||||
|
|
|
@ -3309,8 +3309,8 @@ T0115077_DrawSecondHalfSquareCreature:
|
|||
sourceHeight = heightRedEagle = ((CreatureAspect *)objectAspect)->_heightSide;
|
||||
} else {
|
||||
useCreatureBackBitmap = getFlag(AL_0_creatureGraphicInfoRed, k0x0010_CreatureInfoGraphicMaskBack) && (creatureDirectionDelta == 0);
|
||||
useCreatureAttackBitmap = !useCreatureBackBitmap && getFlag(creatureAspectInt, k0x0080_MaskActiveGroupIsAttacking) && getFlag(AL_0_creatureGraphicInfoRed, k0x0020_CreatureInfoGraphicMaskAttack);
|
||||
if (useCreatureAttackBitmap) {
|
||||
useCreatureAttackBitmap = !useCreatureBackBitmap;
|
||||
if (useCreatureAttackBitmap && getFlag(creatureAspectInt, k0x0080_MaskActiveGroupIsAttacking) && getFlag(AL_0_creatureGraphicInfoRed, k0x0020_CreatureInfoGraphicMaskAttack)) {
|
||||
useFlippedHorizontallyCreatureFrontImage = false;
|
||||
sourceByteWidth = byteWidth = ((CreatureAspect *)objectAspect)->_byteWidthAttack;
|
||||
sourceHeight = heightRedEagle = ((CreatureAspect *)objectAspect)->_heightAttack;
|
||||
|
|
|
@ -1820,9 +1820,9 @@ int16 GroupMan::getMeleeActionDamage(Champion *champ, int16 champIndex, Group *g
|
|||
L0565_i_Damage += _vm->getRandomNumber((L0565_i_Damage >> 1) + 1);
|
||||
L0565_i_Damage = ((long)L0565_i_Damage * (long)actionDamageFactor) >> 5;
|
||||
L0568_i_Defense = _vm->getRandomNumber(32) + creatureInfo->_defense + doubledMapDifficulty;
|
||||
if (actionHandObjectIconIndex == k39_IconIndiceWeaponDiamondEdge)
|
||||
if (actionHandObjectIconIndex == kDMIconIndiceWeaponDiamondEdge)
|
||||
L0568_i_Defense -= L0568_i_Defense >> 2;
|
||||
else if (actionHandObjectIconIndex == k43_IconIndiceWeaponHardcleaveExecutioner)
|
||||
else if (actionHandObjectIconIndex == kDMIconIndiceWeaponHardcleaveExecutioner)
|
||||
L0568_i_Defense -= L0568_i_Defense >> 3;
|
||||
|
||||
L0565_i_Damage += _vm->getRandomNumber(32) - L0568_i_Defense;
|
||||
|
@ -1847,7 +1847,7 @@ T0231009:
|
|||
L0565_i_Damage += _vm->getRandomNumber(L0565_i_Damage);
|
||||
L0565_i_Damage >>= 2;
|
||||
L0565_i_Damage += _vm->getRandomNumber(4) + 1;
|
||||
if ((actionHandObjectIconIndex == k40_IconIndiceWeaponVorpalBlade)
|
||||
if ((actionHandObjectIconIndex == kDMIconIndiceWeaponVorpalBlade)
|
||||
&& !getFlag(creatureInfo->_attributes, k0x0040_MaskCreatureInfo_nonMaterial)
|
||||
&& !(L0565_i_Damage >>= 1))
|
||||
goto T0231015;
|
||||
|
|
|
@ -364,7 +364,7 @@ void InventoryMan::openAndDrawChest(Thing thingToOpen, Container *chest, bool is
|
|||
|
||||
_openChest = thingToOpen;
|
||||
if (!isPressingEye) {
|
||||
objMan.drawIconInSlotBox(k9_SlotBoxInventoryActionHand, k145_IconIndiceContainerChestOpen);
|
||||
objMan.drawIconInSlotBox(k9_SlotBoxInventoryActionHand, kDMIconIndiceContainerChestOpen);
|
||||
}
|
||||
dispMan.blitToViewport(_vm->_displayMan->getNativeBitmapOrGraphic(k25_PanelOpenChestIndice),
|
||||
_boxPanel, k72_byteWidth, k8_ColorRed, 73);
|
||||
|
@ -380,7 +380,7 @@ void InventoryMan::openAndDrawChest(Thing thingToOpen, Container *chest, bool is
|
|||
thing = _vm->_dungeonMan->getNextThing(thing);
|
||||
}
|
||||
while (chestSlotIndex < 8) {
|
||||
objMan.drawIconInSlotBox(chestSlotIndex + k38_SlotBoxChestFirstSlot, kM1_IconIndiceNone);
|
||||
objMan.drawIconInSlotBox(chestSlotIndex + k38_SlotBoxChestFirstSlot, kDMIconIndiceNone);
|
||||
_chestSlots[chestSlotIndex++] = Thing::_none;
|
||||
}
|
||||
}
|
||||
|
@ -501,7 +501,7 @@ void InventoryMan::drawPanelObject(Thing thingToDraw, bool pressingEye) {
|
|||
|
||||
Common::String descString;
|
||||
Common::String str;
|
||||
if (iconIndex == k147_IconIndiceJunkChampionBones) {
|
||||
if (iconIndex == kDMIconIndiceJunkChampionBones) {
|
||||
switch (_vm->getGameLanguage()) { // localized
|
||||
case Common::FR_FRA:
|
||||
// Fix original bug dur to a cut&paste error: string was concatenated then overwritten by the name
|
||||
|
@ -514,7 +514,7 @@ void InventoryMan::drawPanelObject(Thing thingToDraw, bool pressingEye) {
|
|||
|
||||
descString = str;
|
||||
} else if ((thingType == k8_PotionThingType)
|
||||
&& (iconIndex != k163_IconIndicePotionWaterFlask)
|
||||
&& (iconIndex != kDMIconIndicePotionWaterFlask)
|
||||
&& (champMan.getSkillLevel((ChampionIndex)_vm->ordinalToIndex(_inventoryChampionOrdinal), k2_ChampionSkillPriest) > 1)) {
|
||||
str = ('_' + ((Potion *)rawThingPtr)->getPower() / 40);
|
||||
str += " ";
|
||||
|
@ -537,8 +537,8 @@ void InventoryMan::drawPanelObject(Thing thingToDraw, bool pressingEye) {
|
|||
potentialAttribMask = k0x0008_DescriptionMaskCursed | k0x0002_DescriptionMaskPoisoned | k0x0004_DescriptionMaskBroken;
|
||||
Weapon *weapon = (Weapon *)rawThingPtr;
|
||||
actualAttribMask = (weapon->getCursed() << 3) | (weapon->getPoisoned() << 1) | (weapon->getBroken() << 2);
|
||||
if ((iconIndex >= k4_IconIndiceWeaponTorchUnlit)
|
||||
&& (iconIndex <= k7_IconIndiceWeaponTorchLit)
|
||||
if ((iconIndex >= kDMIconIndiceWeaponTorchUnlit)
|
||||
&& (iconIndex <= kDMIconIndiceWeaponTorchLit)
|
||||
&& (weapon->getChargeCount() == 0)) {
|
||||
|
||||
switch (_vm->getGameLanguage()) { // localized
|
||||
|
@ -569,7 +569,7 @@ void InventoryMan::drawPanelObject(Thing thingToDraw, bool pressingEye) {
|
|||
break;
|
||||
}
|
||||
case k10_JunkThingType: {
|
||||
if ((iconIndex >= k8_IconIndiceJunkWater) && (iconIndex <= k9_IconIndiceJunkWaterSkin)) {
|
||||
if ((iconIndex >= kDMIconIndiceJunkWater) && (iconIndex <= kDMIconIndiceJunkWaterSkin)) {
|
||||
potentialAttribMask = 0;
|
||||
const char *descStringEN[4] = {"(EMPTY)", "(ALMOST EMPTY)", "(ALMOST FULL)", "(FULL)"};
|
||||
const char *descStringDE[4] = {"(LEER)", "(FAST LEER)", "(FAST VOLL)", "(VOLL)"};
|
||||
|
@ -589,7 +589,7 @@ void InventoryMan::drawPanelObject(Thing thingToDraw, bool pressingEye) {
|
|||
}
|
||||
|
||||
drawPanelObjectDescriptionString(descString.c_str());
|
||||
} else if ((iconIndex >= k0_IconIndiceJunkCompassNorth) && (iconIndex <= k3_IconIndiceJunkCompassWest)) {
|
||||
} else if ((iconIndex >= kDMIconIndiceJunkCompassNorth) && (iconIndex <= kDMIconIndiceJunkCompassWest)) {
|
||||
const static char *directionNameEN[4] = {"NORTH", "EAST", "SOUTH", "WEST"};
|
||||
const static char *directionNameDE[4] = {"NORDEN", "OSTEN", "SUEDEN", "WESTEN"};
|
||||
const static char *directionNameFR[4] = {"AU NORD", "A L'EST", "AU SUD", "A L'OUEST"};
|
||||
|
@ -691,8 +691,8 @@ void InventoryMan::setDungeonViewPalette() {
|
|||
uint16 slotIndex = k1_ChampionSlotActionHand + 1;
|
||||
while (slotIndex--) {
|
||||
Thing slotThing = curChampion->_slots[slotIndex];
|
||||
if ((_vm->_objectMan->getObjectType(slotThing) >= k4_IconIndiceWeaponTorchUnlit) &&
|
||||
(_vm->_objectMan->getObjectType(slotThing) <= k7_IconIndiceWeaponTorchLit)) {
|
||||
if ((_vm->_objectMan->getObjectType(slotThing) >= kDMIconIndiceWeaponTorchUnlit) &&
|
||||
(_vm->_objectMan->getObjectType(slotThing) <= kDMIconIndiceWeaponTorchLit)) {
|
||||
Weapon *curWeapon = (Weapon *)_vm->_dungeonMan->getThingData(slotThing);
|
||||
*curTorchLightPower = curWeapon->getChargeCount();
|
||||
} else {
|
||||
|
@ -759,7 +759,7 @@ void InventoryMan::decreaseTorchesLightPower() {
|
|||
int16 slotIndex = k1_ChampionSlotActionHand + 1;
|
||||
while (slotIndex--) {
|
||||
int16 iconIndex = _vm->_objectMan->getIconIndex(curChampion->_slots[slotIndex]);
|
||||
if ((iconIndex >= k4_IconIndiceWeaponTorchUnlit) && (iconIndex <= k7_IconIndiceWeaponTorchLit)) {
|
||||
if ((iconIndex >= kDMIconIndiceWeaponTorchUnlit) && (iconIndex <= kDMIconIndiceWeaponTorchLit)) {
|
||||
Weapon *curWeapon = (Weapon *)_vm->_dungeonMan->getThingData(curChampion->_slots[slotIndex]);
|
||||
if (curWeapon->getChargeCount()) {
|
||||
if (curWeapon->setChargeCount(curWeapon->getChargeCount() - 1) == 0) {
|
||||
|
@ -803,7 +803,7 @@ void InventoryMan::drawChampionSkillsAndStatistics() {
|
|||
_vm->_displayMan->blitToViewport(_vm->_displayMan->getNativeBitmapOrGraphic(k20_PanelEmptyIndice), _boxPanel, k72_byteWidth, k8_ColorRed, 73);
|
||||
int16 textPosY = 58;
|
||||
for (uint16 idx = k0_ChampionSkillFighter; idx <= k3_ChampionSkillWizard; idx++) {
|
||||
int16 skillLevel = MIN((uint16)16, _vm->_championMan->getSkillLevel(championIndex, idx | k0x8000_IgnoreTemporaryExperience));
|
||||
int16 skillLevel = MIN((uint16)16, _vm->_championMan->getSkillLevel(championIndex, idx | kDMIgnoreTemporaryExperience));
|
||||
if (skillLevel == 1)
|
||||
continue;
|
||||
|
||||
|
@ -851,7 +851,7 @@ void InventoryMan::drawStopPressingMouth() {
|
|||
}
|
||||
|
||||
void InventoryMan::drawStopPressingEye() {
|
||||
drawIconToViewport(k202_IconIndiceEyeNotLooking, 12, 13);
|
||||
drawIconToViewport(kDMIconIndiceEyeNotLooking, 12, 13);
|
||||
drawPanel();
|
||||
_vm->_displayMan->drawViewport(k0_viewportNotDungeonView);
|
||||
Thing leaderHandObject = _vm->_championMan->_leaderHandObject;
|
||||
|
@ -908,7 +908,7 @@ void InventoryMan::clickOnMouth() {
|
|||
Champion *curChampion = &_vm->_championMan->_champions[championIndex];
|
||||
Junk *junkData = (Junk *)_vm->_dungeonMan->getThingData(handThing);
|
||||
bool removeObjectFromLeaderHand;
|
||||
if ((iconIndex >= k8_IconIndiceJunkWater) && (iconIndex <= k9_IconIndiceJunkWaterSkin)) {
|
||||
if ((iconIndex >= kDMIconIndiceJunkWater) && (iconIndex <= kDMIconIndiceJunkWaterSkin)) {
|
||||
if (!(junkData->getChargeCount()))
|
||||
return;
|
||||
|
||||
|
@ -995,8 +995,8 @@ void InventoryMan::clickOnMouth() {
|
|||
break;
|
||||
}
|
||||
((Potion *)junkData)->setType(k20_PotionTypeEmptyFlask);
|
||||
} else if ((iconIndex >= k168_IconIndiceJunkApple) && (iconIndex < k176_IconIndiceJunkIronKey))
|
||||
curChampion->_food = MIN(curChampion->_food + foodAmounts[iconIndex - k168_IconIndiceJunkApple], 2048);
|
||||
} else if ((iconIndex >= kDMIconIndiceJunkApple) && (iconIndex < kDMIconIndiceJunkIronKey))
|
||||
curChampion->_food = MIN(curChampion->_food + foodAmounts[iconIndex - kDMIconIndiceJunkApple], 2048);
|
||||
|
||||
if (curChampion->_currStamina > curChampion->_maxStamina)
|
||||
curChampion->_currStamina = curChampion->_maxStamina;
|
||||
|
@ -1006,7 +1006,7 @@ void InventoryMan::clickOnMouth() {
|
|||
|
||||
if (removeObjectFromLeaderHand) {
|
||||
for (uint16 i = 5; --i; _vm->delay(8)) { /* Animate mouth icon */
|
||||
_vm->_objectMan->drawIconToScreen(k205_IconIndiceMouthOpen + !(i & 0x0001), 56, 46);
|
||||
_vm->_objectMan->drawIconToScreen(kDMIconIndiceMouthOpen + !(i & 0x0001), 56, 46);
|
||||
_vm->_eventMan->discardAllInput();
|
||||
if (_vm->_engineShouldQuit)
|
||||
return;
|
||||
|
@ -1059,7 +1059,7 @@ void InventoryMan::clickOnEye() {
|
|||
_vm->_eventMan->hideMouse();
|
||||
_vm->_eventMan->hideMouse();
|
||||
_vm->delay(8);
|
||||
drawIconToViewport(k203_IconIndiceEyeLooking, 12, 13);
|
||||
drawIconToViewport(kDMIconIndiceEyeLooking, 12, 13);
|
||||
if (_vm->_championMan->_leaderEmptyHanded)
|
||||
drawChampionSkillsAndStatistics();
|
||||
else {
|
||||
|
|
|
@ -204,7 +204,7 @@ void MenuMan::drawActionIcon(ChampionIndex championIndex) {
|
|||
Thing thing = champion.getSlot(k1_ChampionSlotActionHand);
|
||||
IconIndice iconIndex;
|
||||
if (thing == Thing::_none) {
|
||||
iconIndex = k201_IconIndiceActionEmptyHand;
|
||||
iconIndex = kDMIconIndiceActionEmptyHand;
|
||||
} else if (_vm->_dungeonMan->_objectInfos[_vm->_dungeonMan->getObjectInfoIndex(thing)]._actionSetIndex) {
|
||||
iconIndex = _vm->_objectMan->getIconIndex(thing);
|
||||
} else {
|
||||
|
@ -787,7 +787,7 @@ void MenuMan::menusPrintSpellFailureMessage(Champion *champ, uint16 failureType,
|
|||
Potion *MenuMan::getEmptyFlaskInHand(Champion *champ, Thing *potionThing) {
|
||||
for (int16 slotIndex = k2_ChampionSlotHead; --slotIndex >= k0_ChampionSlotReadyHand; ) {
|
||||
Thing curThing = champ->_slots[slotIndex];
|
||||
if ((curThing != Thing::_none) && (_vm->_objectMan->getIconIndex(curThing) == k195_IconIndicePotionEmptyFlask)) {
|
||||
if ((curThing != Thing::_none) && (_vm->_objectMan->getIconIndex(curThing) == kDMIconIndicePotionEmptyFlask)) {
|
||||
*potionThing = curThing;
|
||||
return (Potion *)_vm->_dungeonMan->getThingData(curThing);
|
||||
}
|
||||
|
@ -1488,7 +1488,7 @@ bool MenuMan::isMeleeActionPerformed(int16 champIndex, Champion *champ, int16 ac
|
|||
|
||||
uint16 actionHitProbability = actionHitProbabilityArray[actionIndex];
|
||||
uint16 actionDamageFactor = actionDamageFactorArray[actionIndex];
|
||||
if ((_vm->_objectMan->getIconIndex(champ->_slots[k1_ChampionSlotActionHand]) == k40_IconIndiceWeaponVorpalBlade) || (actionIndex == k24_ChampionActionDisrupt)) {
|
||||
if ((_vm->_objectMan->getIconIndex(champ->_slots[k1_ChampionSlotActionHand]) == kDMIconIndiceWeaponVorpalBlade) || (actionIndex == k24_ChampionActionDisrupt)) {
|
||||
setFlag(actionHitProbability, k0x8000_hitNonMaterialCreatures);
|
||||
}
|
||||
_actionDamage = _vm->_groupMan->getMeleeActionDamage(champ, champIndex, (Group *)_vm->_dungeonMan->getThingData(_actionTargetGroupThing), _vm->ordinalToIndex(targetCreatureOrdinal), targetMapX, targetMapY, actionHitProbability, actionDamageFactor, skillIndex);
|
||||
|
|
|
@ -704,7 +704,7 @@ void MovesensMan::processThingAdditionOrRemoval(uint16 mapX, uint16 mapY, Thing
|
|||
objectType = _vm->_objectMan->getObjectType(thing);
|
||||
} else {
|
||||
thingType = kM1_PartyThingType;
|
||||
objectType = kM1_IconIndiceNone;
|
||||
objectType = kDMIconIndiceNone;
|
||||
}
|
||||
|
||||
if ((!addThing) && (thingType != kM1_PartyThingType))
|
||||
|
@ -878,7 +878,7 @@ bool MovesensMan::isObjectInPartyPossession(int16 objectType) {
|
|||
if (curObjectType == objectType)
|
||||
return true;
|
||||
|
||||
if (curObjectType == k144_IconIndiceContainerChestClosed) {
|
||||
if (curObjectType == kDMIconIndiceContainerChestClosed) {
|
||||
Container *container = (Container *)_vm->_dungeonMan->getThingData(curThing);
|
||||
curThing = container->getSlot();
|
||||
while (curThing != Thing::_endOfList) {
|
||||
|
|
|
@ -133,7 +133,7 @@ void ObjectMan::loadObjectNames() {
|
|||
|
||||
IconIndice ObjectMan::getObjectType(Thing thing) {
|
||||
if (thing == Thing::_none)
|
||||
return kM1_IconIndiceNone;
|
||||
return kDMIconIndiceNone;
|
||||
|
||||
int16 objectInfoIndex = _vm->_dungeonMan->getObjectInfoIndex(thing);
|
||||
if (objectInfoIndex != -1)
|
||||
|
@ -146,35 +146,35 @@ IconIndice ObjectMan::getIconIndex(Thing thing) {
|
|||
static byte chargeCountToTorchType[16] = {0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3}; // @ G0029_auc_Graphic562_ChargeCountToTorchType
|
||||
|
||||
int16 iconIndex = getObjectType(thing);
|
||||
if (iconIndex != kM1_IconIndiceNone) {
|
||||
if (((iconIndex < k32_IconIndiceWeaponDagger) && (iconIndex >= k0_IconIndiceJunkCompassNorth)) ||
|
||||
((iconIndex >= k148_IconIndicePotionMaPotionMonPotion) && (iconIndex <= k163_IconIndicePotionWaterFlask)) ||
|
||||
(iconIndex == k195_IconIndicePotionEmptyFlask)) {
|
||||
if (iconIndex != kDMIconIndiceNone) {
|
||||
if (((iconIndex < kDMIconIndiceWeaponDagger) && (iconIndex >= kDMIconIndiceJunkCompassNorth)) ||
|
||||
((iconIndex >= kDMIconIndicePotionMaPotionMonPotion) && (iconIndex <= kDMIconIndicePotionWaterFlask)) ||
|
||||
(iconIndex == kDMIconIndicePotionEmptyFlask)) {
|
||||
Junk *junkThing = (Junk*)_vm->_dungeonMan->getThingData(thing);
|
||||
switch (iconIndex) {
|
||||
case k0_IconIndiceJunkCompassNorth:
|
||||
case kDMIconIndiceJunkCompassNorth:
|
||||
iconIndex += _vm->_dungeonMan->_partyDir;
|
||||
break;
|
||||
case k4_IconIndiceWeaponTorchUnlit:
|
||||
case kDMIconIndiceWeaponTorchUnlit:
|
||||
if (((Weapon*)junkThing)->isLit())
|
||||
iconIndex += chargeCountToTorchType[((Weapon*)junkThing)->getChargeCount()];
|
||||
break;
|
||||
case k30_IconIndiceScrollOpen:
|
||||
case kDMIconIndiceScrollOpen:
|
||||
if (((Scroll*)junkThing)->getClosed())
|
||||
iconIndex++;
|
||||
break;
|
||||
case k8_IconIndiceJunkWater:
|
||||
case k12_IconIndiceJunkIllumuletUnequipped:
|
||||
case k10_IconIndiceJunkJewelSymalUnequipped:
|
||||
case kDMIconIndiceJunkWater:
|
||||
case kDMIconIndiceJunkIllumuletUnequipped:
|
||||
case kDMIconIndiceJunkJewelSymalUnequipped:
|
||||
if (junkThing->getChargeCount())
|
||||
iconIndex++;
|
||||
break;
|
||||
case k23_IconIndiceWeaponBoltBladeStormEmpty:
|
||||
case k14_IconIndiceWeaponFlamittEmpty:
|
||||
case k18_IconIndiceWeaponStormringEmpty:
|
||||
case k25_IconIndiceWeaponFuryRaBladeEmpty:
|
||||
case k16_IconIndiceWeaponEyeOfTimeEmpty:
|
||||
case k20_IconIndiceWeaponStaffOfClawsEmpty:
|
||||
case kDMIconIndiceWeaponBoltBladeStormEmpty:
|
||||
case kDMIconIndiceWeaponFlamittEmpty:
|
||||
case kDMIconIndiceWeaponStormringEmpty:
|
||||
case kDMIconIndiceWeaponFuryRaBladeEmpty:
|
||||
case kDMIconIndiceWeaponEyeOfTimeEmpty:
|
||||
case kDMIconIndiceWeaponStaffOfClawsEmpty:
|
||||
if (((Weapon*)junkThing)->getChargeCount())
|
||||
iconIndex++;
|
||||
break;
|
||||
|
@ -201,7 +201,7 @@ void ObjectMan::extractIconFromBitmap(uint16 iconIndex, byte *destBitmap) {
|
|||
void ObjectMan::drawIconInSlotBox(uint16 slotBoxIndex, int16 iconIndex) {
|
||||
SlotBox *slotBox = &_slotBoxes[slotBoxIndex];
|
||||
slotBox->_iconIndex = iconIndex;
|
||||
if (slotBox->_iconIndex == kM1_IconIndiceNone)
|
||||
if (slotBox->_iconIndex == kDMIconIndiceNone)
|
||||
return;
|
||||
|
||||
Box blitBox;
|
||||
|
@ -237,7 +237,7 @@ void ObjectMan::drawIconInSlotBox(uint16 slotBoxIndex, int16 iconIndex) {
|
|||
void ObjectMan::drawLeaderObjectName(Thing thing) {
|
||||
char *objectName = nullptr;
|
||||
int16 iconIndex = getIconIndex(thing);
|
||||
if (iconIndex == k147_IconIndiceJunkChampionBones) {
|
||||
if (iconIndex == kDMIconIndiceJunkChampionBones) {
|
||||
Junk *junk = (Junk*)_vm->_dungeonMan->getThingData(thing);
|
||||
char champBonesName[16];
|
||||
|
||||
|
|
|
@ -138,8 +138,8 @@ bool ProjExpl::hasProjectileImpactOccurred(int16 impactType, int16 mapXCombo, in
|
|||
if ((projectileThingData->_attack > _vm->getRandomNumber(128))
|
||||
&& getFlag(associatedAllowedSlots, k0x0100_ObjectAllowedSlotPouchPassAndThroughDoors)
|
||||
&& ( (projectileAssociatedThingType != k10_JunkThingType)
|
||||
|| (iconIndex < k176_IconIndiceJunkIronKey)
|
||||
|| (iconIndex > k191_IconIndiceJunkMasterKey)
|
||||
|| (iconIndex < kDMIconIndiceJunkIronKey)
|
||||
|| (iconIndex > kDMIconIndiceJunkMasterKey)
|
||||
)) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -930,7 +930,7 @@ T0255002:
|
|||
while (curThing != Thing::_endOfList) {
|
||||
if ((curThing.getCell() == cell) && (curThing.getType() == k10_JunkThingType)) {
|
||||
int16 iconIndex = _vm->_objectMan->getIconIndex(curThing);
|
||||
if (iconIndex == k147_IconIndiceJunkChampionBones) {
|
||||
if (iconIndex == kDMIconIndiceJunkChampionBones) {
|
||||
Junk *junkData = (Junk *)_vm->_dungeonMan->getThingData(curThing);
|
||||
if (junkData->getChargeCount() == championIndex) {
|
||||
_vm->_dungeonMan->unlinkThingFromList(curThing, Thing(0), mapX, mapY); /* BUG0_25 When a champion dies, no bones object is created so it is not possible to bring the champion back to life at an altar of Vi. Each time a champion is brought back to life, the bones object is removed from the dungeon but it is not marked as unused and thus becomes an orphan. After a large number of champion deaths, all JUNK things are exhausted and the game cannot create any more. This also affects the creation of JUNK things dropped by some creatures when they die (Screamer, Rockpile, Magenta Worm, Pain Rat, Red Dragon) */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue