diff mm7_4.cpp @ 135:9b0d651821f1

Party creation screen: sorcerer class icon fixed
author Nomad
date Mon, 11 Feb 2013 20:23:55 +0200
parents 1c471f3629fb
children a8ec7e1e18b6
line wrap: on
line diff
--- a/mm7_4.cpp	Mon Feb 11 19:42:28 2013 +0200
+++ b/mm7_4.cpp	Mon Feb 11 20:23:55 2013 +0200
@@ -3567,9 +3567,9 @@
     v45 = 0;
     v48 = 0;
     v46 = 0;
-    if ( v44 && v21->uClass == 31 )
+    if ( v44 && v21->classType == PLAYER_CLASS_31 )
       v50 = 1;
-    if ( v21->uClass == 35 )
+    if ( v21->classType == PLAYER_CLASS_LICH )
       v48 = 1;
     v22 = (ITEM_EQUIP_TYPE)0;
     while ( 1 )
@@ -5312,7 +5312,7 @@
   char *v15; // ST14_4@24
   size_t v16; // eax@28
   int v17; // eax@33
-  enum CHARACTER_RACE uNumRace; // eax@35
+  //enum CHARACTER_RACE uNumRace; // eax@35
   int v19; // eax@36
   int v20; // eax@37
   int uNumMight; // eax@44
@@ -5342,7 +5342,7 @@
   int v51; // eax@49
   char *v52; // edi@52
   char v53; // al@52
-  int uClassType; // edi@53
+  PLAYER_CLASS_TYPE uClassType; // edi@53
   int v55; // ST0C_4@53
   int v57; // eax@53
   int v61; // ecx@55
@@ -5382,8 +5382,8 @@
   int uX; // [sp+160h] [bp-10h]@18
   unsigned int v133; // [sp+164h] [bp-Ch]@25
   int pOrder; // [sp+168h] [bp-8h]@14
-  char *Str; // [sp+16Ch] [bp-4h]@18
-  Player *pPlayer;
+  //char *Str; // [sp+16Ch] [bp-4h]@18
+  //Player *pPlayer;
   const char *pSkillName;
 
   uColor1 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xD1, 0xBB, 0x61);
@@ -5466,11 +5466,15 @@
   //pPlayer = pParty->pPlayers;
   v119 = 6 * v6 + 169;
   //do
-  for ( pPlayer = pParty->pPlayers; (signed int)pPlayer->pName < (signed int)&pParty->pPickedItem.uNumCharges; pPlayer++)
-  {
-    Str = pPlayer->pName;
-	pGUIWindow_CurrentMenu->DrawText(pFontCreate, pOrder + 73, 100, 0, pClassNames[(unsigned __int8)pPlayer->uClass], 0, 0, 0);
-    pRenderer->DrawTextureTransparent(pOrder + 77, 50, pTexture_IC_KNIGHT[pPlayer->uClass/4]);
+
+  //for ( pPlayer = pParty->pPlayers; (signed int)pPlayer->pName < (signed int)&pParty->pPickedItem.uNumCharges; pPlayer++)
+  for (int i = 0; i < 4; ++i)
+  {
+    auto player = pParty->pPlayers + i;
+
+    //Str = pPlayer->pName;
+	pGUIWindow_CurrentMenu->DrawText(pFontCreate, pOrder + 73, 100, 0, pClassNames[player->classType], 0, 0, 0);
+    pRenderer->DrawTextureTransparent(pOrder + 77, 50, pTexture_IC_KNIGHT[player->classType / 4]);
     v11 = pGUIWindow_CurrentMenu->field_40;
     if ( v11 && (v12 = pGUIWindow_CurrentMenu->ptr_1C, v12 == v124) )
     {
@@ -5483,7 +5487,7 @@
           if ( v14 == 1 )
           {
             pGUIWindow_CurrentMenu->field_40 = 0;
-            pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder, 124, 0, Str, 130, 0);
+            pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder, 124, 0, player->pName, 130, 0);
             SetCurrentMenuID(MENU_7);
           }
         }
@@ -5505,9 +5509,9 @@
             while ( v133 < v16 );
           }
           if ( v120 && v126 != v120 )
-            strcpy(Str, (const char *)pKeyActionMap->pPressedKeysBuffer);
-          pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder, 0x7C, 0, Str, 130, 0);
-          *((short *)pPlayer->pName + 3323) = 1; //
+            strcpy(player->pName, (const char *)pKeyActionMap->pPressedKeysBuffer);
+          pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder, 0x7C, 0, player->pName, 130, 0);
+          *(short *)&player->field_1988[27] = 1; //
         }
       }
       else
@@ -5518,10 +5522,9 @@
     }
     else
     {
-      pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder, 0x7C, 0, pPlayer->pName, 130, 0);
-    }
-    uNumRace = pPlayer->GetRace();
-     switch (uNumRace)
+      pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder, 0x7C, 0, player->pName, 130, 0);
+    }
+    switch (player->GetRace())
     {
       case 0:  uRaceName = pGlobalTXT_LocalizationStrings[99]; break; // "Human"       
       case 1:  uRaceName = pGlobalTXT_LocalizationStrings[103]; break; // "Dwarf"
@@ -5532,50 +5535,50 @@
     pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder + 72, v128 + 12, 0, pTmpBuf, 130, 0);
     pTextCenter = pFontCreate->AlignText_Center(0x96, pText);
     pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + uX - 24, 291, uColor1, pText, 0, 0, 0);
-    uNumMight = pPlayer->GetActualMight();
+    uNumMight = player->GetActualMight();
     sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[144], v129, uNumMight);// "Might"
-    LOWORD(v24) = pPlayer->GetStatColor(0);
+    LOWORD(v24) = player->GetStatColor(0);
     pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 169, v24, pTmpBuf, 0, 0, 0);
-    v25 = pPlayer->GetActualIntelligence();
+    v25 = player->GetActualIntelligence();
     sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[116], v129, v25);// "Intellect"
-    LOWORD(v26) = pPlayer->GetStatColor(1);
+    LOWORD(v26) = player->GetStatColor(1);
     pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, v128 + 169, v26, pTmpBuf, 0, 0, 0);
-    v27 = pPlayer->GetActualWillpower();
+    v27 = player->GetActualWillpower();
     sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[163], v129, v27);// "Personality"
-    LOWORD(v28) = pPlayer->GetStatColor(2);
+    LOWORD(v28) = player->GetStatColor(2);
     pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 2 * v128 + 169, v28, pTmpBuf, 0, 0, 0);
-    v29 = pPlayer->GetActualEndurance();
+    v29 = player->GetActualEndurance();
     sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[75], v129, v29);// "Endurance"
-    LOWORD(v30) = pPlayer->GetStatColor(3);
+    LOWORD(v30) = player->GetStatColor(3);
     pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, uY, v30, pTmpBuf, 0, 0, 0);
-    v31 = pPlayer->GetActualAccuracy();
+    v31 = player->GetActualAccuracy();
     sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[1], v129, v31);// "Accuracy"
-    LOWORD(v32) = pPlayer->GetStatColor(4);
+    LOWORD(v32) = player->GetStatColor(4);
     pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 4 * v128 + 169, v32, pTmpBuf, 0, 0, 0);
-    v33 = pPlayer->GetActualSpeed();
+    v33 = player->GetActualSpeed();
     sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[211], v129, v33);// "Speed"
-    LOWORD(v34) = pPlayer->GetStatColor(5);
+    LOWORD(v34) = player->GetStatColor(5);
     pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, v122, v34, pTmpBuf, 0, 0, 0);
-    v35 = pPlayer->GetActualLuck();
+    v35 = player->GetActualLuck();
     sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[136], v129, v35);// "Luck"
-    LOWORD(v36) = pPlayer->GetStatColor(6u);
+    LOWORD(v36) = player->GetStatColor(6u);
     pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, v119, v36, pTmpBuf, 0, 0, 0);
-    v37 = pPlayer->GetSkillIdxByOrder(0);
+    v37 = player->GetSkillIdxByOrder(0);
     pTextCenter = pFontCreate->AlignText_Center(0x96u, pSkillNames[v37]);
     sprintf(pTmpBuf, "\t%03u%s", pTextCenter, pSkillNames[v37]);
     pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX - 24, 311, uColorWhite, pTmpBuf, 0, 0, 0);
-    v39 = pPlayer->GetSkillIdxByOrder(1);
+    v39 = player->GetSkillIdxByOrder(1);
     pTextCenter = pFontCreate->AlignText_Center(0x96u, pSkillNames[v39]);
     sprintf(pTmpBuf, "\t%03u%s", pTextCenter, pSkillNames[v39]);
     pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX - 24, v128 + 311, uColorWhite, pTmpBuf, 0, 0, 0);
-    v41 = pPlayer->GetSkillIdxByOrder(2);
+    v41 = player->GetSkillIdxByOrder(2);
     pTextCenter = pFontCreate->AlignText_Center(150u, pSkillNames[v41]);
     sprintf(pTmpBuf, "\t%03u%s", pTextCenter, pSkillNames[v41]);
     v45 = uColorGreen;
     if ( (signed int)v41 >= 37 )
       v45 = uColorTeal;
     pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX - 24, 2 * v128 + 311, v45, pTmpBuf, 0, 0, 0);
-    v46 = pPlayer->GetSkillIdxByOrder(3);
+    v46 = player->GetSkillIdxByOrder(3);
     pTextCenter = pFontCreate->AlignText_Center(150u, pSkillNames[v46]);
     sprintf(pTmpBuf, "\t%03u%s", pTextCenter, pSkillNames[v46]);
     v50 = uColorGreen;
@@ -5588,6 +5591,7 @@
     v129 -= 158;
     uX += 158;
   }
+
   //while ( (signed int)pPlayer->pName < (signed int)&pParty->pPickedItem.uNumCharges );
   strcpy(pText, pGlobalTXT_LocalizationStrings[41]);// "Class"
   v51 = strlen(pText) - 1;
@@ -5605,7 +5609,7 @@
       v51 = pOrder;
     }
   }
-  uClassType = pParty->pPlayers[uPlayerCreationUI_SelectedCharacter].uClass;
+  uClassType = pParty->pPlayers[uPlayerCreationUI_SelectedCharacter].classType;
   pTextCenter = pFontCreate->AlignText_Center(193u, pText);
   pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 324, 395, uColor1, pText, 0, 0, 0);
   v57 = uColorTeal;
@@ -5630,7 +5634,7 @@
   pTextCenter = pFontCreate->AlignText_Center(65, pClassNames[24]);
   pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 388, 417, v71, pClassNames[24], 0, 0, 0);
   v75 = uColorTeal;
-  if ( uClassType != 28 )
+  if ( uClassType != PLAYER_CLASS_DRUID)
     v75 = uColorWhite;
   pTextCenter = pFontCreate->AlignText_Center(65, pClassNames[28]);
   pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 388, uColorGreen, v75, pClassNames[28], 0, 0, 0);
@@ -5744,18 +5748,18 @@
   uPlayerCreationUI_SkySliderPos = 0;
   uPlayerCreationUI_SelectedCharacter = 0;
   v0 = LOBYTE(pFontCreate->uFontHeight) - 2;
-  pTexture_IC_KNIGHT[0] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_KNIGHT", TEXTURE_16BIT_PALETTE)];
-  pTexture_IC_KNIGHT[1] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_THIEF", TEXTURE_16BIT_PALETTE)];
-  pTexture_IC_KNIGHT[2] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_MONK", TEXTURE_16BIT_PALETTE)];
-  pTexture_IC_KNIGHT[3] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_PALAD", TEXTURE_16BIT_PALETTE)];
-  pTexture_IC_KNIGHT[4] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_ARCH", TEXTURE_16BIT_PALETTE)];
-  pTexture_IC_KNIGHT[5] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_RANGER", TEXTURE_16BIT_PALETTE)];
-  pTexture_IC_KNIGHT[6] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_CLER", TEXTURE_16BIT_PALETTE)];
-  pTexture_IC_KNIGHT[7] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_DRUID", TEXTURE_16BIT_PALETTE)];
-  pTexture_IC_KNIGHT[8] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_SORC", TEXTURE_16BIT_PALETTE)];
-  pTexture_MAKETOP   = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("MAKETOP", TEXTURE_16BIT_PALETTE)];
+  pTexture_IC_KNIGHT[0] = pIcons_LOD->LoadTexturePtr("IC_KNIGHT", TEXTURE_16BIT_PALETTE);
+  pTexture_IC_KNIGHT[1] = pIcons_LOD->LoadTexturePtr("IC_THIEF", TEXTURE_16BIT_PALETTE);
+  pTexture_IC_KNIGHT[2] = pIcons_LOD->LoadTexturePtr("IC_MONK", TEXTURE_16BIT_PALETTE);
+  pTexture_IC_KNIGHT[3] = pIcons_LOD->LoadTexturePtr("IC_PALAD", TEXTURE_16BIT_PALETTE);
+  pTexture_IC_KNIGHT[4] = pIcons_LOD->LoadTexturePtr("IC_ARCH", TEXTURE_16BIT_PALETTE);
+  pTexture_IC_KNIGHT[5] = pIcons_LOD->LoadTexturePtr("IC_RANGER", TEXTURE_16BIT_PALETTE);
+  pTexture_IC_KNIGHT[6] = pIcons_LOD->LoadTexturePtr("IC_CLER", TEXTURE_16BIT_PALETTE);
+  pTexture_IC_KNIGHT[7] = pIcons_LOD->LoadTexturePtr("IC_DRUID", TEXTURE_16BIT_PALETTE);
+  pTexture_IC_KNIGHT[8] = pIcons_LOD->LoadTexturePtr("IC_SORC", TEXTURE_16BIT_PALETTE);
+  pTexture_MAKETOP = pIcons_LOD->LoadTexturePtr("MAKETOP", TEXTURE_16BIT_PALETTE);
+  pTexture_MAKESKY = pIcons_LOD->LoadTexturePtr("MAKESKY", TEXTURE_16BIT_PALETTE);
   uX = 0;
-  pTexture_MAKESKY = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("MAKESKY", TEXTURE_16BIT_PALETTE)];
   do // load PlayerPortraits texture
   {
     sprintf(pTmpBuf, "%s01", pPlayerPortraitsNames[uX]);
@@ -5860,9 +5864,9 @@
   }
   while ( uControlParamd < 9 );
   pPlayerCreationUI_BtnOK = pGUIWindow_CurrentMenu->CreateButton(580, 431, 51, 39, 1, 0, 0x42, 0, 0xD, "",
-                              (Texture *)(uTextureID_BUTTMAKE != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_BUTTMAKE] : 0), 0);
+                              (Texture *)(uTextureID_BUTTMAKE != -1 ? &pIcons_LOD->pTextures[uTextureID_BUTTMAKE] : 0), 0);
   pPlayerCreationUI_BtnReset = pGUIWindow_CurrentMenu->CreateButton(527, 431, 51, 39, 1, 0, 0x43, 0, 0x43, "",
-                                 (Texture *)(uTextureID_BUTTMAKE2 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_BUTTMAKE2] : 0), 0);
+                                 (Texture *)(uTextureID_BUTTMAKE2 != -1 ? &pIcons_LOD->pTextures[uTextureID_BUTTMAKE2] : 0), 0);
   pPlayerCreationUI_BtnMinus = pGUIWindow_CurrentMenu->CreateButton(523, 393, 20, 35, 1, 0, 0x3F, 0, 0x2D, "", pTexture_buttminu, 0);
   pPlayerCreationUI_BtnPlus = pGUIWindow_CurrentMenu->CreateButton(613, 393, 20, 35, 1, 0, 0x3E, 1, 0x2B, "", pTexture_buttplus, 0);
   pFontCChar = LoadFont("cchar.fnt", "FONTPAL", 0);
@@ -6023,7 +6027,7 @@
   for ( pPlayer = &pParty->pPlayers[0];  pPlayer < &pParty->pPlayers[4]; pPlayer++)
   {
     //v11 = pPlayer;
-    if ( !pPlayer->uClass )
+    if (pPlayer->classType == PLAYER_CLASS_KNIGHT)
       pPlayer->sResMagicBase = 10;
     //*((short *)v10 + 400) = 0;
     pPlayer->pPlayerBuffs[22].uExpireTime = 0;
@@ -9411,7 +9415,7 @@
     v9 = 0;
     while ( 1 )
     {
-	  if ( v12->uClass == 35 )
+      if ( v12->classType == PLAYER_CLASS_LICH )
       {
         v10 = 0;
         v6 = pParty->pPlayers;//[0].pInventoryItems[0].field_1A;
@@ -9809,7 +9813,7 @@
     dword_F8B1B4 = 2000;
     dword_F8B1B0 = 2;
   }
-  v5 = v1->uClass;
+  v5 = v1->classType;
   v33 = v5;
   v6 = byte_4ED970_skill_learn_ability_by_class_table[v5][v3];
   *(int *)a1 = v1->pActiveSkills[v3];
@@ -11658,7 +11662,7 @@
   v66 = 1000 * v3;
   if ( (signed __int64)__PAIR__(v6, LODWORD(v0->uExperience)) >= v66 )
   {
-    v8 = v0->uClass % 4 + 1;
+    v8 = v0->classType % 4 + 1;
     if ( v8 == 4 )
       v8 = 3;
     v9 = (double)(signed int)i;
@@ -11699,7 +11703,7 @@
             do
             {
               v17 = v13->GetControl(v15)->uControlParam - 36;
-              if ( byte_4ED970_skill_learn_ability_by_class_table[v0->uClass][v17] && !v0->pActiveSkills[v17] )
+              if ( byte_4ED970_skill_learn_ability_by_class_table[v0->classType][v17] && !v0->pActiveSkills[v17] )
               {
                 v18 = pFontArrus->CalcTextHeight(pSkillNames[v17], &v65, 0, 0);
                 i += v18;
@@ -11727,7 +11731,7 @@
                   v20 = v13->GetControl(i);
                   v21 = v20;
                   v22 = v20->uControlParam - 36;
-                  if ( !byte_4ED970_skill_learn_ability_by_class_table[v0->uClass][v22] || v0->pActiveSkills[v22] )
+                  if ( !byte_4ED970_skill_learn_ability_by_class_table[v0->classType][v22] || v0->pActiveSkills[v22] )
                   {
                     v21->uW = 0;
                     v21->uHeight = 0;
@@ -11760,7 +11764,7 @@
             else
             {
 LABEL_76:
-              sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v0->pName, pClassNames[v0->uClass]);// 
+              sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v0->pName, pClassNames[v0->classType]);// 
                                                 // "Seek knowledge elsewhere %s the %s"
               strcat(pTmpBuf, "\n \n");
               strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);// "I can offer you nothing further."
@@ -12170,7 +12174,7 @@
           do
           {
             v36 = v31->GetControl(v34)->uControlParam - 36;
-            if ( byte_4ED970_skill_learn_ability_by_class_table[_this->uClass][v36] && !_this->pActiveSkills[v36] )
+            if ( byte_4ED970_skill_learn_ability_by_class_table[_this->classType][v36] && !_this->pActiveSkills[v36] )
             {
               v37 = pFontArrus->CalcTextHeight(pSkillNames[v36], &v112, 0, 0);
               v118 += v37;
@@ -12182,7 +12186,7 @@
           if ( !v122 )
           {
 LABEL_140:
-            sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], _this->pName, pClassNames[_this->uClass]);// 
+            sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], _this->pName, pClassNames[_this->classType]);// 
                                                 // "Seek knowledge elsewhere %s the %s"
             strcat(pTmpBuf, "\n \n");
             strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);// "I can offer you nothing further."
@@ -12212,7 +12216,7 @@
               v39 = v31->GetControl(v118);
               v40 = v39;
               v41 = v39->uControlParam - 36;
-              if ( !byte_4ED970_skill_learn_ability_by_class_table[_this->uClass][v41] || _this->pActiveSkills[v41] )
+              if ( !byte_4ED970_skill_learn_ability_by_class_table[_this->classType][v41] || _this->pActiveSkills[v41] )
               {
                 v40->uW = 0;
                 v40->uHeight = 0;
@@ -13223,7 +13227,7 @@
   if ( !v61 )
   {
 LABEL_64:
-    sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v58->pName, pClassNames[v58->uClass]);
+    sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v58->pName, pClassNames[v58->classType]);
     strcat(pTmpBuf, "\n \n");
     strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);
     v18 = pTmpBuf;
@@ -13415,7 +13419,7 @@
             do
             {
               v9 = v4->GetControl(v62)->uControlParam - 36;
-              if ( byte_4ED970_skill_learn_ability_by_class_table[v1->uClass][v9] && !v1->pActiveSkills[v9] )
+              if ( byte_4ED970_skill_learn_ability_by_class_table[v1->classType][v9] && !v1->pActiveSkills[v9] )
               {
                 v10 = pFontArrus->CalcTextHeight(pSkillNames[v9], &v57, 0, 0);
                 v66 = (DDM_DLV_Header *)((char *)v66 + v10);
@@ -13445,7 +13449,7 @@
                   v14 = v12->GetControl(v62);
                   v15 = v14;
                   v16 = v14->uControlParam - 36;
-                  if ( !byte_4ED970_skill_learn_ability_by_class_table[v1->uClass][v16] || v1->pActiveSkills[v16] )
+                  if ( !byte_4ED970_skill_learn_ability_by_class_table[v1->classType][v16] || v1->pActiveSkills[v16] )
                   {
                     v15->uW = 0;
                     v15->uHeight = 0;
@@ -13479,7 +13483,7 @@
             else
             {
 LABEL_78:
-              sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v1->pName, pClassNames[v1->uClass]);
+              sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v1->pName, pClassNames[v1->classType]);
               strcat(pTmpBuf, "\n \n");
               strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);
               v22 = WORD2(v59);
@@ -13915,7 +13919,7 @@
   do
   {
     v11 = v8->GetControl(v35)->uControlParam - 36;
-    if ( byte_4ED970_skill_learn_ability_by_class_table[v1->uClass / 3][v11] && !v1->pActiveSkills[v11] )
+    if ( byte_4ED970_skill_learn_ability_by_class_table[v1->classType / 3][v11] && !v1->pActiveSkills[v11] )
     {
       v12 = pFontArrus->CalcTextHeight(pSkillNames[v11], &v28, 0, 0);
       v33 += v12;
@@ -13928,7 +13932,7 @@
   if ( !v34 )
   {
 LABEL_40:
-    sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v1->pName, pClassNames[v1->uClass]);
+    sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v1->pName, pClassNames[v1->classType]);
     strcat(pTmpBuf, "\n \n");
     strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);
     v22 = v31;
@@ -13950,7 +13954,7 @@
     {
       v14 = v8->GetControl(v35);
       v15 = v14->uControlParam - 36;
-      if ( byte_4ED970_skill_learn_ability_by_class_table[v1->uClass / 3][v15] )
+      if ( byte_4ED970_skill_learn_ability_by_class_table[v1->classType / 3][v15] )
       {
         v16 = 0;
         if ( !v1->pActiveSkills[v15] )