Mercurial > mm7
diff Engine/Graphics/Indoor.cpp @ 2566:30eb6dcac768
big spell fx overhaul
author | a.parshin |
---|---|
date | Wed, 20 May 2015 21:05:07 +0200 |
parents | b8a56afc6ba1 |
children | d569340b05ff |
line wrap: on
line diff
--- a/Engine/Graphics/Indoor.cpp Wed May 20 15:12:33 2015 +0200 +++ b/Engine/Graphics/Indoor.cpp Wed May 20 21:05:07 2015 +0200 @@ -1927,9 +1927,9 @@ for ( uint i = 0; i < uNumSpriteObjects; ++i ) { - if (pSpriteObjects[i].stru_24.uItemID && !(pSpriteObjects[i].uAttributes & 0x0100)) + if (pSpriteObjects[i].containing_item.uItemID && !(pSpriteObjects[i].uAttributes & 0x0100)) { - pSpriteObjects[i].uType = pItemsTable->pItems[pSpriteObjects[i].stru_24.uItemID].uSpriteID; + pSpriteObjects[i].uType = (SPRITE_OBJECT_TYPE)pItemsTable->pItems[pSpriteObjects[i].containing_item.uItemID].uSpriteID; //uint uObjectID = 0; for ( uint j = 0; j < pObjectList->uNumObjects; ++j ) @@ -3098,12 +3098,12 @@ { if (pSpriteObjects[i].uObjectDescID) { - if ( pSpriteObjects[i].stru_24.uItemID ) + if (pSpriteObjects[i].containing_item.uItemID) { - if ( pSpriteObjects[i].stru_24.uItemID != 220 && pItemsTable->pItems[ pSpriteObjects[i].stru_24.uItemID].uEquipType == EQUIP_POTION && - !pSpriteObjects[i].stru_24.uEnchantmentType) - pSpriteObjects[i].stru_24.uEnchantmentType = rand() % 15 + 5; - pItemsTable->SetSpecialBonus(&pSpriteObjects[i].stru_24); + if (pSpriteObjects[i].containing_item.uItemID != 220 && pItemsTable->pItems[pSpriteObjects[i].containing_item.uItemID].uEquipType == EQUIP_POTION && + !pSpriteObjects[i].containing_item.uEnchantmentType) + pSpriteObjects[i].containing_item.uEnchantmentType = rand() % 15 + 5; + pItemsTable->SetSpecialBonus(&pSpriteObjects[i].containing_item); } } } @@ -3549,7 +3549,7 @@ if ( ( pSpriteObjects[i].uType < 1000 || pSpriteObjects[i].uType >= 10000) && (pSpriteObjects[i].uType < 500 || pSpriteObjects[i].uType >= 600) && (pSpriteObjects[i].uType < 811 || pSpriteObjects[i].uType >= 815) - || pEngine->pStru6Instance->_4A81CA(&pSpriteObjects[i])) + || pEngine->pStru6Instance->RenderAsSprite(&pSpriteObjects[i])) { v4 = pSpriteFrameTable->GetFrame(pObjectList->pObjects[pSpriteObjects[i].uObjectDescID].uSpriteID, pSpriteObjects[i].uSpriteFrameID); a6 = v4->uGlowRadius * pSpriteObjects[i].field_22_glow_radius_multiplier; @@ -4451,23 +4451,23 @@ case OBJECT_Item: // take the item if ( pObjectList->pObjects[pSpriteObjects[v17].uObjectDescID].uFlags & 0x10 || v17 >= 1000 || !pSpriteObjects[v17].uObjectDescID ) return 1; - if ( pItemsTable->pItems[pSpriteObjects[v17].stru_24.uItemID].uEquipType == EQUIP_GOLD) + if (pItemsTable->pItems[pSpriteObjects[v17].containing_item.uItemID].uEquipType == EQUIP_GOLD) { - pParty->PartyFindsGold(pSpriteObjects[v17].stru_24.uSpecEnchantmentType, 0); + pParty->PartyFindsGold(pSpriteObjects[v17].containing_item.uSpecEnchantmentType, 0); viewparams->bRedrawGameUI = 1; } else { if ( pParty->pPickedItem.uItemID ) return 1; - sprintfex(pTmpBuf2.data(), pGlobalTXT_LocalizationStrings[471], pItemsTable->pItems[pSpriteObjects[v17].stru_24.uItemID].pUnidentifiedName);//You found an item (%s)! + sprintfex(pTmpBuf2.data(), pGlobalTXT_LocalizationStrings[471], pItemsTable->pItems[pSpriteObjects[v17].containing_item.uItemID].pUnidentifiedName);//You found an item (%s)! ShowStatusBarString(pTmpBuf2.data(), 2); - if ( pSpriteObjects[v17].stru_24.uItemID == 506 )//artefact + if (pSpriteObjects[v17].containing_item.uItemID == 506)//artefact _449B7E_toggle_bit(pParty->_quest_bits, 184, 1); - if ( pSpriteObjects[v17].stru_24.uItemID == 455 ) + if (pSpriteObjects[v17].containing_item.uItemID == 455) _449B7E_toggle_bit(pParty->_quest_bits, 185, 1); - if ( !pParty->AddItemToParty(&pSpriteObjects[v17].stru_24) ) - pParty->SetHoldingItem(&pSpriteObjects[v17].stru_24); + if (!pParty->AddItemToParty(&pSpriteObjects[v17].containing_item)) + pParty->SetHoldingItem(&pSpriteObjects[v17].containing_item); } SpriteObject::OnInteraction(v17); break; @@ -6055,10 +6055,10 @@ v6 = ecx0; v7 = a2; - pItemsTable->GenerateItem(v6, v7, &a1.stru_24); + pItemsTable->GenerateItem(v6, v7, &a1.containing_item); v8 = 0; - v9 = pItemsTable->pItems[a1.stru_24.uItemID].uSpriteID; - a1.uType = pItemsTable->pItems[a1.stru_24.uItemID].uSpriteID; + v9 = pItemsTable->pItems[a1.containing_item.uItemID].uSpriteID; + a1.uType = (SPRITE_OBJECT_TYPE)pItemsTable->pItems[a1.containing_item.uItemID].uSpriteID; v11 = 0; for( int i = 0; i < pObjectList->uNumObjects; i++ ) {