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++ )
   {