diff mm7_5.cpp @ 364:3abebb74fd09

Merge
author Gloval
date Fri, 22 Feb 2013 00:52:35 +0400
parents 38bfbee60146 2bc1c8d68f41
children 0f35f908547f
line wrap: on
line diff
--- a/mm7_5.cpp	Fri Feb 22 01:28:48 2013 +0600
+++ b/mm7_5.cpp	Fri Feb 22 00:52:35 2013 +0400
@@ -13050,7 +13050,7 @@
 }
 
 //----- (00410B28) --------------------------------------------------------
-void __thiscall DrawSpellDescriptionPopup(void *_this)
+void __thiscall DrawSpellDescriptionPopup(int spell_index)
 {
   Player *v1; // edi@1
   SpellInfo *v2; // esi@1
@@ -13061,14 +13061,14 @@
   char *v7; // ST44_4@12
   unsigned __int16 v8; // ax@12
   GUIWindow a1; // [sp+Ch] [bp-68h]@4
-  void *v10; // [sp+60h] [bp-14h]@1
+  int v10; // [sp+60h] [bp-14h]@1
   POINT a2; // [sp+64h] [bp-10h]@1
   int v12; // [sp+6Ch] [bp-8h]@4
   int v13; // [sp+70h] [bp-4h]@4
 
   v1 = pPlayers[uActiveCharacter];
-  v10 = _this;
-  v2 = &pSpellStats->pInfos[(signed int)((char *)_this + 11 * v1->lastOpenedSpellbookPage) + 1];
+  v10 = spell_index;
+  v2 = &pSpellStats->pInfos[spell_index + 11 * v1->lastOpenedSpellbookPage + 1];
   if ( pMouse->GetCursorPos(&a2)->y <= 250 )
     v3 = pMouse->GetCursorPos(&a2)->y + 30;
   else
@@ -13080,10 +13080,10 @@
   a1.uFrameZ = 417;
   a1.uFrameW = v3 + 67;
   a1.Hint = 0;
-  a2.y = pFontSmallnum->GetLineWidth(pGlobalTXT_LocalizationStrings[431]);
-  v13 = pFontSmallnum->GetLineWidth(pGlobalTXT_LocalizationStrings[433]);
-  v12 = pFontSmallnum->GetLineWidth(pGlobalTXT_LocalizationStrings[432]);
-  v4 = pFontSmallnum->GetLineWidth(pGlobalTXT_LocalizationStrings[96]);
+  a2.y = pFontSmallnum->GetLineWidth(pGlobalTXT_LocalizationStrings[LOCSTR_NORMAL]);
+  v13 = pFontSmallnum->GetLineWidth(pGlobalTXT_LocalizationStrings[LOCSTR_MASTER]);
+  v12 = pFontSmallnum->GetLineWidth(pGlobalTXT_LocalizationStrings[LOCSTR_EXPERT]);
+  v4 = pFontSmallnum->GetLineWidth(pGlobalTXT_LocalizationStrings[LOCSTR_GRAND]);
   v5 = a2.y;
   if ( v13 > a2.y )
     v5 = v13;
@@ -13091,25 +13091,20 @@
     v5 = v12;
   if ( v4 > v5 )
     v5 = v4;
-  sprintf(
-    pTmpBuf2,
+  sprintf(  pTmpBuf2,
     "%s\n\n%s\t%03d:\t%03d%s\t000\n%s\t%03d:\t%03d%s\t000\n%s\t%03d:\t%03d%s\t000\n%s\t%03d:\t%03d%s",
     v2->pDescription,
-    pGlobalTXT_LocalizationStrings[431],
-    v5 + 3,
-    v5 + 10,
+    pGlobalTXT_LocalizationStrings[LOCSTR_NORMAL],
+    v5 + 3, v5 + 10,
     v2->pBasicSkillDesc,
-    pGlobalTXT_LocalizationStrings[433],
-    v5 + 3,
-    v5 + 10,
+    pGlobalTXT_LocalizationStrings[LOCSTR_EXPERT],
+    v5 + 3,  v5 + 10,
     v2->pExpertSkillDesc,
-    pGlobalTXT_LocalizationStrings[432],
-    v5 + 3,
-    v5 + 10,
+    pGlobalTXT_LocalizationStrings[LOCSTR_MASTER],
+    v5 + 3, v5 + 10,
     v2->pMasterSkillDesc,
-    pGlobalTXT_LocalizationStrings[96],
-    v5 + 3,
-    v5 + 10,
+    pGlobalTXT_LocalizationStrings[LOCSTR_GRAND],
+    v5 + 3,  v5 + 10,
     v2->pGrandmasterSkillDesc);
   v6 = pFontSmallnum->CalcTextHeight(pTmpBuf2, &a1, 0, 0);
   a1.uFrameHeight += v6;
@@ -13128,13 +13123,11 @@
   a1.uFrameWidth = 108;
   a1.uFrameZ = a1.uFrameX + 107;
   a1.DrawTitleText(pFontComic, 0xCu, 0x4Bu, 0, pSkillNames[v1->lastOpenedSpellbookPage + 12], 3u);
-  sprintf(
-    pTmpBuf,
-    "%s\n%d",
-    pGlobalTXT_LocalizationStrings[522],
-    *(&pSpellDatas[0].field_12 //temp_fix field_14
-    + ((unsigned int)LOBYTE(v1->pActiveSkills[v1->lastOpenedSpellbookPage + 12]) >> 6)
-    + 10 * (int)((char *)v10 + 11 * v1->lastOpenedSpellbookPage)));
+  sprintf( pTmpBuf,  "%s\n%d",    pGlobalTXT_LocalizationStrings[LOCSTR_SP_COST],
+	  pSpellDatas[spell_index + 11 * v1->lastOpenedSpellbookPage + 1].mana_per_skill[v1->pActiveSkills[v1->lastOpenedSpellbookPage + PLAYER_SKILL_FIRE]]);
+  //  *(&[0].field_12 //temp_fix field_14
+   // + ((unsigned int)LOBYTE(v1->pActiveSkills[v1->lastOpenedSpellbookPage + 12]) >> 6)
+   // + 10 * (int)((char *)v10 + 11 * v1->lastOpenedSpellbookPage)));
   a1.DrawTitleText(pFontComic, 0xCu, a1.uFrameHeight - LOBYTE(pFontComic->uFontHeight) - 16, 0, pTmpBuf, 3u);
   dword_507B00_spell_info_to_draw_in_popup = 0;
 }
@@ -13663,15 +13656,16 @@
           }
           if ( v6->pLevelOfDetail0 )
           {
-            v7 =  (12 * v0->lastOpenedSpellbookPage + pSpellbookSpellIndices[v0->lastOpenedSpellbookPage][v4]);
-            v19 = pViewport->uViewportY + pIconPos[v7].Ypos;
-            v17 = pViewport->uViewportX + pIconPos[v7].Xpos;
+			v7 = v0->lastOpenedSpellbookPage;
+           // v7 =  (12 * v0->lastOpenedSpellbookPage + pSpellbookSpellIndices[v0->lastOpenedSpellbookPage][v4]);
+            v19 = pViewport->uViewportY +  pIconPos[v7][pSpellbookSpellIndices[v7][v4]].Ypos;
+            v17 = pViewport->uViewportX +  pIconPos[v7][pSpellbookSpellIndices[v7][v4]].Xpos;
             if ( BYTE1(v6->pBits) & 2 )
               pRenderer->DrawTextureTransparent(v17, v19, v6);
             else
               pRenderer->DrawTextureIndexed(v17, v19, v6);
-            v8 = (12 * v0->lastOpenedSpellbookPage + pSpellbookSpellIndices[v0->lastOpenedSpellbookPage][v4]);
-            pRenderer->_4A612A(pIconPos[v8].Xpos,pIconPos[v8].Ypos, v23, v4);
+            pRenderer->_4A612A(pIconPos[v7][pSpellbookSpellIndices[v7][v4]].Xpos,
+				               pIconPos[v7][pSpellbookSpellIndices[v7][v4]].Ypos, v23, v4);
           }
         }
       }
@@ -13687,9 +13681,10 @@
     if ( v11->pLevelOfDetail0 )
     {
       v21 = dword_5063D8[v10];
-      v12 = (12 * v0->lastOpenedSpellbookPage + pSpellbookSpellIndices[v0->lastOpenedSpellbookPage][v10]);
-      v20 = pViewport->uViewportY + pIconPos[v12].Ypos;
-      v18 = pViewport->uViewportX + pIconPos[v12].Xpos;
+	  v12 = v0->lastOpenedSpellbookPage;
+    //  v12 = (12 * v0->lastOpenedSpellbookPage + pSpellbookSpellIndices[v0->lastOpenedSpellbookPage][v10]);
+      v20 = pViewport->uViewportY +  pIconPos[v12][pSpellbookSpellIndices[v12][v10]].Ypos;
+      v18 = pViewport->uViewportX +  pIconPos[v12][pSpellbookSpellIndices[v12][v10]].Xpos;
       if ( BYTE1(v11->pBits) & 2 )
         pRenderer->DrawTextureTransparent(v18, v20, v21);
       else
@@ -16520,7 +16515,7 @@
             if ( pCurrentScreen == SCREEN_SPELL_BOOK )
             {
               if ( dword_507B00_spell_info_to_draw_in_popup )
-                DrawSpellDescriptionPopup((void *)(dword_507B00_spell_info_to_draw_in_popup - 1));
+                DrawSpellDescriptionPopup(dword_507B00_spell_info_to_draw_in_popup - 1);
             }
             goto LABEL_132;
           }