Mercurial > mm7
comparison 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 |
comparison
equal
deleted
inserted
replaced
131:3ee983b8082b | 135:9b0d651821f1 |
---|---|
3565 v50 = 0; | 3565 v50 = 0; |
3566 v47 = 0; | 3566 v47 = 0; |
3567 v45 = 0; | 3567 v45 = 0; |
3568 v48 = 0; | 3568 v48 = 0; |
3569 v46 = 0; | 3569 v46 = 0; |
3570 if ( v44 && v21->uClass == 31 ) | 3570 if ( v44 && v21->classType == PLAYER_CLASS_31 ) |
3571 v50 = 1; | 3571 v50 = 1; |
3572 if ( v21->uClass == 35 ) | 3572 if ( v21->classType == PLAYER_CLASS_LICH ) |
3573 v48 = 1; | 3573 v48 = 1; |
3574 v22 = (ITEM_EQUIP_TYPE)0; | 3574 v22 = (ITEM_EQUIP_TYPE)0; |
3575 while ( 1 ) | 3575 while ( 1 ) |
3576 { | 3576 { |
3577 if ( v21->HasItemEquipped(v22) ) | 3577 if ( v21->HasItemEquipped(v22) ) |
5310 int v13; // ecx@21 | 5310 int v13; // ecx@21 |
5311 int v14; // ecx@22 | 5311 int v14; // ecx@22 |
5312 char *v15; // ST14_4@24 | 5312 char *v15; // ST14_4@24 |
5313 size_t v16; // eax@28 | 5313 size_t v16; // eax@28 |
5314 int v17; // eax@33 | 5314 int v17; // eax@33 |
5315 enum CHARACTER_RACE uNumRace; // eax@35 | 5315 //enum CHARACTER_RACE uNumRace; // eax@35 |
5316 int v19; // eax@36 | 5316 int v19; // eax@36 |
5317 int v20; // eax@37 | 5317 int v20; // eax@37 |
5318 int uNumMight; // eax@44 | 5318 int uNumMight; // eax@44 |
5319 unsigned int v24; // eax@44 | 5319 unsigned int v24; // eax@44 |
5320 int v25; // eax@44 | 5320 int v25; // eax@44 |
5340 char *v48; // ST1C_4@46 | 5340 char *v48; // ST1C_4@46 |
5341 int v50; // eax@46 | 5341 int v50; // eax@46 |
5342 int v51; // eax@49 | 5342 int v51; // eax@49 |
5343 char *v52; // edi@52 | 5343 char *v52; // edi@52 |
5344 char v53; // al@52 | 5344 char v53; // al@52 |
5345 int uClassType; // edi@53 | 5345 PLAYER_CLASS_TYPE uClassType; // edi@53 |
5346 int v55; // ST0C_4@53 | 5346 int v55; // ST0C_4@53 |
5347 int v57; // eax@53 | 5347 int v57; // eax@53 |
5348 int v61; // ecx@55 | 5348 int v61; // ecx@55 |
5349 int v64; // ST08_4@57 | 5349 int v64; // ST08_4@57 |
5350 int v66; // ecx@57 | 5350 int v66; // ecx@57 |
5380 int uColorTeal; // [sp+158h] [bp-18h]@1 | 5380 int uColorTeal; // [sp+158h] [bp-18h]@1 |
5381 int uColorWhite; // [sp+15Ch] [bp-14h]@1 | 5381 int uColorWhite; // [sp+15Ch] [bp-14h]@1 |
5382 int uX; // [sp+160h] [bp-10h]@18 | 5382 int uX; // [sp+160h] [bp-10h]@18 |
5383 unsigned int v133; // [sp+164h] [bp-Ch]@25 | 5383 unsigned int v133; // [sp+164h] [bp-Ch]@25 |
5384 int pOrder; // [sp+168h] [bp-8h]@14 | 5384 int pOrder; // [sp+168h] [bp-8h]@14 |
5385 char *Str; // [sp+16Ch] [bp-4h]@18 | 5385 //char *Str; // [sp+16Ch] [bp-4h]@18 |
5386 Player *pPlayer; | 5386 //Player *pPlayer; |
5387 const char *pSkillName; | 5387 const char *pSkillName; |
5388 | 5388 |
5389 uColor1 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xD1, 0xBB, 0x61); | 5389 uColor1 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xD1, 0xBB, 0x61); |
5390 uColorTeal = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0, 0xF7, 0xF7); | 5390 uColorTeal = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0, 0xF7, 0xF7); |
5391 uColorGreen = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0, 0xFF, 0); | 5391 uColorGreen = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0, 0xFF, 0); |
5464 v123 = 3 * v6 + 311; | 5464 v123 = 3 * v6 + 311; |
5465 v129 = 493; | 5465 v129 = 493; |
5466 //pPlayer = pParty->pPlayers; | 5466 //pPlayer = pParty->pPlayers; |
5467 v119 = 6 * v6 + 169; | 5467 v119 = 6 * v6 + 169; |
5468 //do | 5468 //do |
5469 for ( pPlayer = pParty->pPlayers; (signed int)pPlayer->pName < (signed int)&pParty->pPickedItem.uNumCharges; pPlayer++) | 5469 |
5470 { | 5470 //for ( pPlayer = pParty->pPlayers; (signed int)pPlayer->pName < (signed int)&pParty->pPickedItem.uNumCharges; pPlayer++) |
5471 Str = pPlayer->pName; | 5471 for (int i = 0; i < 4; ++i) |
5472 pGUIWindow_CurrentMenu->DrawText(pFontCreate, pOrder + 73, 100, 0, pClassNames[(unsigned __int8)pPlayer->uClass], 0, 0, 0); | 5472 { |
5473 pRenderer->DrawTextureTransparent(pOrder + 77, 50, pTexture_IC_KNIGHT[pPlayer->uClass/4]); | 5473 auto player = pParty->pPlayers + i; |
5474 | |
5475 //Str = pPlayer->pName; | |
5476 pGUIWindow_CurrentMenu->DrawText(pFontCreate, pOrder + 73, 100, 0, pClassNames[player->classType], 0, 0, 0); | |
5477 pRenderer->DrawTextureTransparent(pOrder + 77, 50, pTexture_IC_KNIGHT[player->classType / 4]); | |
5474 v11 = pGUIWindow_CurrentMenu->field_40; | 5478 v11 = pGUIWindow_CurrentMenu->field_40; |
5475 if ( v11 && (v12 = pGUIWindow_CurrentMenu->ptr_1C, v12 == v124) ) | 5479 if ( v11 && (v12 = pGUIWindow_CurrentMenu->ptr_1C, v12 == v124) ) |
5476 { | 5480 { |
5477 v13 = v11 - 1; | 5481 v13 = v11 - 1; |
5478 if ( v13 ) | 5482 if ( v13 ) |
5481 if ( v14 ) | 5485 if ( v14 ) |
5482 { | 5486 { |
5483 if ( v14 == 1 ) | 5487 if ( v14 == 1 ) |
5484 { | 5488 { |
5485 pGUIWindow_CurrentMenu->field_40 = 0; | 5489 pGUIWindow_CurrentMenu->field_40 = 0; |
5486 pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder, 124, 0, Str, 130, 0); | 5490 pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder, 124, 0, player->pName, 130, 0); |
5487 SetCurrentMenuID(MENU_7); | 5491 SetCurrentMenuID(MENU_7); |
5488 } | 5492 } |
5489 } | 5493 } |
5490 else | 5494 else |
5491 { | 5495 { |
5503 v16 = strlen((const char *)pKeyActionMap->pPressedKeysBuffer); | 5507 v16 = strlen((const char *)pKeyActionMap->pPressedKeysBuffer); |
5504 } | 5508 } |
5505 while ( v133 < v16 ); | 5509 while ( v133 < v16 ); |
5506 } | 5510 } |
5507 if ( v120 && v126 != v120 ) | 5511 if ( v120 && v126 != v120 ) |
5508 strcpy(Str, (const char *)pKeyActionMap->pPressedKeysBuffer); | 5512 strcpy(player->pName, (const char *)pKeyActionMap->pPressedKeysBuffer); |
5509 pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder, 0x7C, 0, Str, 130, 0); | 5513 pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder, 0x7C, 0, player->pName, 130, 0); |
5510 *((short *)pPlayer->pName + 3323) = 1; // | 5514 *(short *)&player->field_1988[27] = 1; // |
5511 } | 5515 } |
5512 } | 5516 } |
5513 else | 5517 else |
5514 { | 5518 { |
5515 v17 = pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, 159 * (int)v12 + 18, 0x7Cu, 0, (const char *)pKeyActionMap->pPressedKeysBuffer, 120, 1); | 5519 v17 = pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, 159 * (int)v12 + 18, 0x7Cu, 0, (const char *)pKeyActionMap->pPressedKeysBuffer, 120, 1); |
5516 pGUIWindow_CurrentMenu->DrawFlashingInputCursor(159 * (unsigned int)pGUIWindow_CurrentMenu->ptr_1C + v17 + 20, 124, pFontCreate); | 5520 pGUIWindow_CurrentMenu->DrawFlashingInputCursor(159 * (unsigned int)pGUIWindow_CurrentMenu->ptr_1C + v17 + 20, 124, pFontCreate); |
5517 } | 5521 } |
5518 } | 5522 } |
5519 else | 5523 else |
5520 { | 5524 { |
5521 pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder, 0x7C, 0, pPlayer->pName, 130, 0); | 5525 pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder, 0x7C, 0, player->pName, 130, 0); |
5522 } | 5526 } |
5523 uNumRace = pPlayer->GetRace(); | 5527 switch (player->GetRace()) |
5524 switch (uNumRace) | |
5525 { | 5528 { |
5526 case 0: uRaceName = pGlobalTXT_LocalizationStrings[99]; break; // "Human" | 5529 case 0: uRaceName = pGlobalTXT_LocalizationStrings[99]; break; // "Human" |
5527 case 1: uRaceName = pGlobalTXT_LocalizationStrings[103]; break; // "Dwarf" | 5530 case 1: uRaceName = pGlobalTXT_LocalizationStrings[103]; break; // "Dwarf" |
5528 case 2: uRaceName = pGlobalTXT_LocalizationStrings[106]; break; // "Goblin" | 5531 case 2: uRaceName = pGlobalTXT_LocalizationStrings[106]; break; // "Goblin" |
5529 case 3: uRaceName = pGlobalTXT_LocalizationStrings[101]; break; // "Elf" | 5532 case 3: uRaceName = pGlobalTXT_LocalizationStrings[101]; break; // "Elf" |
5530 }; | 5533 }; |
5531 strcpy(pTmpBuf, uRaceName); | 5534 strcpy(pTmpBuf, uRaceName); |
5532 pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder + 72, v128 + 12, 0, pTmpBuf, 130, 0); | 5535 pGUIWindow_CurrentMenu->DrawTextInRect(pFontCreate, pOrder + 72, v128 + 12, 0, pTmpBuf, 130, 0); |
5533 pTextCenter = pFontCreate->AlignText_Center(0x96, pText); | 5536 pTextCenter = pFontCreate->AlignText_Center(0x96, pText); |
5534 pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + uX - 24, 291, uColor1, pText, 0, 0, 0); | 5537 pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + uX - 24, 291, uColor1, pText, 0, 0, 0); |
5535 uNumMight = pPlayer->GetActualMight(); | 5538 uNumMight = player->GetActualMight(); |
5536 sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[144], v129, uNumMight);// "Might" | 5539 sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[144], v129, uNumMight);// "Might" |
5537 LOWORD(v24) = pPlayer->GetStatColor(0); | 5540 LOWORD(v24) = player->GetStatColor(0); |
5538 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 169, v24, pTmpBuf, 0, 0, 0); | 5541 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 169, v24, pTmpBuf, 0, 0, 0); |
5539 v25 = pPlayer->GetActualIntelligence(); | 5542 v25 = player->GetActualIntelligence(); |
5540 sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[116], v129, v25);// "Intellect" | 5543 sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[116], v129, v25);// "Intellect" |
5541 LOWORD(v26) = pPlayer->GetStatColor(1); | 5544 LOWORD(v26) = player->GetStatColor(1); |
5542 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, v128 + 169, v26, pTmpBuf, 0, 0, 0); | 5545 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, v128 + 169, v26, pTmpBuf, 0, 0, 0); |
5543 v27 = pPlayer->GetActualWillpower(); | 5546 v27 = player->GetActualWillpower(); |
5544 sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[163], v129, v27);// "Personality" | 5547 sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[163], v129, v27);// "Personality" |
5545 LOWORD(v28) = pPlayer->GetStatColor(2); | 5548 LOWORD(v28) = player->GetStatColor(2); |
5546 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 2 * v128 + 169, v28, pTmpBuf, 0, 0, 0); | 5549 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 2 * v128 + 169, v28, pTmpBuf, 0, 0, 0); |
5547 v29 = pPlayer->GetActualEndurance(); | 5550 v29 = player->GetActualEndurance(); |
5548 sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[75], v129, v29);// "Endurance" | 5551 sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[75], v129, v29);// "Endurance" |
5549 LOWORD(v30) = pPlayer->GetStatColor(3); | 5552 LOWORD(v30) = player->GetStatColor(3); |
5550 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, uY, v30, pTmpBuf, 0, 0, 0); | 5553 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, uY, v30, pTmpBuf, 0, 0, 0); |
5551 v31 = pPlayer->GetActualAccuracy(); | 5554 v31 = player->GetActualAccuracy(); |
5552 sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[1], v129, v31);// "Accuracy" | 5555 sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[1], v129, v31);// "Accuracy" |
5553 LOWORD(v32) = pPlayer->GetStatColor(4); | 5556 LOWORD(v32) = player->GetStatColor(4); |
5554 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 4 * v128 + 169, v32, pTmpBuf, 0, 0, 0); | 5557 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, 4 * v128 + 169, v32, pTmpBuf, 0, 0, 0); |
5555 v33 = pPlayer->GetActualSpeed(); | 5558 v33 = player->GetActualSpeed(); |
5556 sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[211], v129, v33);// "Speed" | 5559 sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[211], v129, v33);// "Speed" |
5557 LOWORD(v34) = pPlayer->GetStatColor(5); | 5560 LOWORD(v34) = player->GetStatColor(5); |
5558 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, v122, v34, pTmpBuf, 0, 0, 0); | 5561 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, v122, v34, pTmpBuf, 0, 0, 0); |
5559 v35 = pPlayer->GetActualLuck(); | 5562 v35 = player->GetActualLuck(); |
5560 sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[136], v129, v35);// "Luck" | 5563 sprintf(pTmpBuf, "%s\r%03d%d", pGlobalTXT_LocalizationStrings[136], v129, v35);// "Luck" |
5561 LOWORD(v36) = pPlayer->GetStatColor(6u); | 5564 LOWORD(v36) = player->GetStatColor(6u); |
5562 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, v119, v36, pTmpBuf, 0, 0, 0); | 5565 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX, v119, v36, pTmpBuf, 0, 0, 0); |
5563 v37 = pPlayer->GetSkillIdxByOrder(0); | 5566 v37 = player->GetSkillIdxByOrder(0); |
5564 pTextCenter = pFontCreate->AlignText_Center(0x96u, pSkillNames[v37]); | 5567 pTextCenter = pFontCreate->AlignText_Center(0x96u, pSkillNames[v37]); |
5565 sprintf(pTmpBuf, "\t%03u%s", pTextCenter, pSkillNames[v37]); | 5568 sprintf(pTmpBuf, "\t%03u%s", pTextCenter, pSkillNames[v37]); |
5566 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX - 24, 311, uColorWhite, pTmpBuf, 0, 0, 0); | 5569 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX - 24, 311, uColorWhite, pTmpBuf, 0, 0, 0); |
5567 v39 = pPlayer->GetSkillIdxByOrder(1); | 5570 v39 = player->GetSkillIdxByOrder(1); |
5568 pTextCenter = pFontCreate->AlignText_Center(0x96u, pSkillNames[v39]); | 5571 pTextCenter = pFontCreate->AlignText_Center(0x96u, pSkillNames[v39]); |
5569 sprintf(pTmpBuf, "\t%03u%s", pTextCenter, pSkillNames[v39]); | 5572 sprintf(pTmpBuf, "\t%03u%s", pTextCenter, pSkillNames[v39]); |
5570 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX - 24, v128 + 311, uColorWhite, pTmpBuf, 0, 0, 0); | 5573 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX - 24, v128 + 311, uColorWhite, pTmpBuf, 0, 0, 0); |
5571 v41 = pPlayer->GetSkillIdxByOrder(2); | 5574 v41 = player->GetSkillIdxByOrder(2); |
5572 pTextCenter = pFontCreate->AlignText_Center(150u, pSkillNames[v41]); | 5575 pTextCenter = pFontCreate->AlignText_Center(150u, pSkillNames[v41]); |
5573 sprintf(pTmpBuf, "\t%03u%s", pTextCenter, pSkillNames[v41]); | 5576 sprintf(pTmpBuf, "\t%03u%s", pTextCenter, pSkillNames[v41]); |
5574 v45 = uColorGreen; | 5577 v45 = uColorGreen; |
5575 if ( (signed int)v41 >= 37 ) | 5578 if ( (signed int)v41 >= 37 ) |
5576 v45 = uColorTeal; | 5579 v45 = uColorTeal; |
5577 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX - 24, 2 * v128 + 311, v45, pTmpBuf, 0, 0, 0); | 5580 pGUIWindow_CurrentMenu->DrawText(pFontCreate, uX - 24, 2 * v128 + 311, v45, pTmpBuf, 0, 0, 0); |
5578 v46 = pPlayer->GetSkillIdxByOrder(3); | 5581 v46 = player->GetSkillIdxByOrder(3); |
5579 pTextCenter = pFontCreate->AlignText_Center(150u, pSkillNames[v46]); | 5582 pTextCenter = pFontCreate->AlignText_Center(150u, pSkillNames[v46]); |
5580 sprintf(pTmpBuf, "\t%03u%s", pTextCenter, pSkillNames[v46]); | 5583 sprintf(pTmpBuf, "\t%03u%s", pTextCenter, pSkillNames[v46]); |
5581 v50 = uColorGreen; | 5584 v50 = uColorGreen; |
5582 if ( (signed int)v46 >= 37 ) | 5585 if ( (signed int)v46 >= 37 ) |
5583 v50 = uColorTeal; | 5586 v50 = uColorTeal; |
5586 v124 = (char *)v124 + 1; | 5589 v124 = (char *)v124 + 1; |
5587 pOrder += 159; | 5590 pOrder += 159; |
5588 v129 -= 158; | 5591 v129 -= 158; |
5589 uX += 158; | 5592 uX += 158; |
5590 } | 5593 } |
5594 | |
5591 //while ( (signed int)pPlayer->pName < (signed int)&pParty->pPickedItem.uNumCharges ); | 5595 //while ( (signed int)pPlayer->pName < (signed int)&pParty->pPickedItem.uNumCharges ); |
5592 strcpy(pText, pGlobalTXT_LocalizationStrings[41]);// "Class" | 5596 strcpy(pText, pGlobalTXT_LocalizationStrings[41]);// "Class" |
5593 v51 = strlen(pText) - 1; | 5597 v51 = strlen(pText) - 1; |
5594 pOrder = v51; | 5598 pOrder = v51; |
5595 if ( v51 >= 0 ) | 5599 if ( v51 >= 0 ) |
5603 if ( v10 ) | 5607 if ( v10 ) |
5604 break; | 5608 break; |
5605 v51 = pOrder; | 5609 v51 = pOrder; |
5606 } | 5610 } |
5607 } | 5611 } |
5608 uClassType = pParty->pPlayers[uPlayerCreationUI_SelectedCharacter].uClass; | 5612 uClassType = pParty->pPlayers[uPlayerCreationUI_SelectedCharacter].classType; |
5609 pTextCenter = pFontCreate->AlignText_Center(193u, pText); | 5613 pTextCenter = pFontCreate->AlignText_Center(193u, pText); |
5610 pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 324, 395, uColor1, pText, 0, 0, 0); | 5614 pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 324, 395, uColor1, pText, 0, 0, 0); |
5611 v57 = uColorTeal; | 5615 v57 = uColorTeal; |
5612 if ( uClassType ) | 5616 if ( uClassType ) |
5613 v57 = uColorWhite; | 5617 v57 = uColorWhite; |
5628 if ( uClassType != PLAYER_CLASS_CLERIC ) | 5632 if ( uClassType != PLAYER_CLASS_CLERIC ) |
5629 v71 = uColorWhite; | 5633 v71 = uColorWhite; |
5630 pTextCenter = pFontCreate->AlignText_Center(65, pClassNames[24]); | 5634 pTextCenter = pFontCreate->AlignText_Center(65, pClassNames[24]); |
5631 pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 388, 417, v71, pClassNames[24], 0, 0, 0); | 5635 pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 388, 417, v71, pClassNames[24], 0, 0, 0); |
5632 v75 = uColorTeal; | 5636 v75 = uColorTeal; |
5633 if ( uClassType != 28 ) | 5637 if ( uClassType != PLAYER_CLASS_DRUID) |
5634 v75 = uColorWhite; | 5638 v75 = uColorWhite; |
5635 pTextCenter = pFontCreate->AlignText_Center(65, pClassNames[28]); | 5639 pTextCenter = pFontCreate->AlignText_Center(65, pClassNames[28]); |
5636 pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 388, uColorGreen, v75, pClassNames[28], 0, 0, 0); | 5640 pGUIWindow_CurrentMenu->DrawText(pFontCreate, pTextCenter + 388, uColorGreen, v75, pClassNames[28], 0, 0, 0); |
5637 v80 = uColorTeal; | 5641 v80 = uColorTeal; |
5638 if ( uClassType != PLAYER_CLASS_SORCERER ) | 5642 if ( uClassType != PLAYER_CLASS_SORCERER ) |
5742 pCurrentScreen = 21;//окно Создания группы | 5746 pCurrentScreen = 21;//окно Создания группы |
5743 uPlayerCreationUI_ArrowAnim = 0; | 5747 uPlayerCreationUI_ArrowAnim = 0; |
5744 uPlayerCreationUI_SkySliderPos = 0; | 5748 uPlayerCreationUI_SkySliderPos = 0; |
5745 uPlayerCreationUI_SelectedCharacter = 0; | 5749 uPlayerCreationUI_SelectedCharacter = 0; |
5746 v0 = LOBYTE(pFontCreate->uFontHeight) - 2; | 5750 v0 = LOBYTE(pFontCreate->uFontHeight) - 2; |
5747 pTexture_IC_KNIGHT[0] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_KNIGHT", TEXTURE_16BIT_PALETTE)]; | 5751 pTexture_IC_KNIGHT[0] = pIcons_LOD->LoadTexturePtr("IC_KNIGHT", TEXTURE_16BIT_PALETTE); |
5748 pTexture_IC_KNIGHT[1] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_THIEF", TEXTURE_16BIT_PALETTE)]; | 5752 pTexture_IC_KNIGHT[1] = pIcons_LOD->LoadTexturePtr("IC_THIEF", TEXTURE_16BIT_PALETTE); |
5749 pTexture_IC_KNIGHT[2] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_MONK", TEXTURE_16BIT_PALETTE)]; | 5753 pTexture_IC_KNIGHT[2] = pIcons_LOD->LoadTexturePtr("IC_MONK", TEXTURE_16BIT_PALETTE); |
5750 pTexture_IC_KNIGHT[3] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_PALAD", TEXTURE_16BIT_PALETTE)]; | 5754 pTexture_IC_KNIGHT[3] = pIcons_LOD->LoadTexturePtr("IC_PALAD", TEXTURE_16BIT_PALETTE); |
5751 pTexture_IC_KNIGHT[4] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_ARCH", TEXTURE_16BIT_PALETTE)]; | 5755 pTexture_IC_KNIGHT[4] = pIcons_LOD->LoadTexturePtr("IC_ARCH", TEXTURE_16BIT_PALETTE); |
5752 pTexture_IC_KNIGHT[5] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_RANGER", TEXTURE_16BIT_PALETTE)]; | 5756 pTexture_IC_KNIGHT[5] = pIcons_LOD->LoadTexturePtr("IC_RANGER", TEXTURE_16BIT_PALETTE); |
5753 pTexture_IC_KNIGHT[6] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_CLER", TEXTURE_16BIT_PALETTE)]; | 5757 pTexture_IC_KNIGHT[6] = pIcons_LOD->LoadTexturePtr("IC_CLER", TEXTURE_16BIT_PALETTE); |
5754 pTexture_IC_KNIGHT[7] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_DRUID", TEXTURE_16BIT_PALETTE)]; | 5758 pTexture_IC_KNIGHT[7] = pIcons_LOD->LoadTexturePtr("IC_DRUID", TEXTURE_16BIT_PALETTE); |
5755 pTexture_IC_KNIGHT[8] = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("IC_SORC", TEXTURE_16BIT_PALETTE)]; | 5759 pTexture_IC_KNIGHT[8] = pIcons_LOD->LoadTexturePtr("IC_SORC", TEXTURE_16BIT_PALETTE); |
5756 pTexture_MAKETOP = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("MAKETOP", TEXTURE_16BIT_PALETTE)]; | 5760 pTexture_MAKETOP = pIcons_LOD->LoadTexturePtr("MAKETOP", TEXTURE_16BIT_PALETTE); |
5761 pTexture_MAKESKY = pIcons_LOD->LoadTexturePtr("MAKESKY", TEXTURE_16BIT_PALETTE); | |
5757 uX = 0; | 5762 uX = 0; |
5758 pTexture_MAKESKY = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("MAKESKY", TEXTURE_16BIT_PALETTE)]; | |
5759 do // load PlayerPortraits texture | 5763 do // load PlayerPortraits texture |
5760 { | 5764 { |
5761 sprintf(pTmpBuf, "%s01", pPlayerPortraitsNames[uX]); | 5765 sprintf(pTmpBuf, "%s01", pPlayerPortraitsNames[uX]); |
5762 v1 = pIcons_LOD->LoadTexture(pTmpBuf, TEXTURE_16BIT_PALETTE); | 5766 v1 = pIcons_LOD->LoadTexture(pTmpBuf, TEXTURE_16BIT_PALETTE); |
5763 v2 = uX * 4; | 5767 v2 = uX * 4; |
5858 uControlParamd, 0, "", 0); | 5862 uControlParamd, 0, "", 0); |
5859 ++uControlParamd; | 5863 ++uControlParamd; |
5860 } | 5864 } |
5861 while ( uControlParamd < 9 ); | 5865 while ( uControlParamd < 9 ); |
5862 pPlayerCreationUI_BtnOK = pGUIWindow_CurrentMenu->CreateButton(580, 431, 51, 39, 1, 0, 0x42, 0, 0xD, "", | 5866 pPlayerCreationUI_BtnOK = pGUIWindow_CurrentMenu->CreateButton(580, 431, 51, 39, 1, 0, 0x42, 0, 0xD, "", |
5863 (Texture *)(uTextureID_BUTTMAKE != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_BUTTMAKE] : 0), 0); | 5867 (Texture *)(uTextureID_BUTTMAKE != -1 ? &pIcons_LOD->pTextures[uTextureID_BUTTMAKE] : 0), 0); |
5864 pPlayerCreationUI_BtnReset = pGUIWindow_CurrentMenu->CreateButton(527, 431, 51, 39, 1, 0, 0x43, 0, 0x43, "", | 5868 pPlayerCreationUI_BtnReset = pGUIWindow_CurrentMenu->CreateButton(527, 431, 51, 39, 1, 0, 0x43, 0, 0x43, "", |
5865 (Texture *)(uTextureID_BUTTMAKE2 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_BUTTMAKE2] : 0), 0); | 5869 (Texture *)(uTextureID_BUTTMAKE2 != -1 ? &pIcons_LOD->pTextures[uTextureID_BUTTMAKE2] : 0), 0); |
5866 pPlayerCreationUI_BtnMinus = pGUIWindow_CurrentMenu->CreateButton(523, 393, 20, 35, 1, 0, 0x3F, 0, 0x2D, "", pTexture_buttminu, 0); | 5870 pPlayerCreationUI_BtnMinus = pGUIWindow_CurrentMenu->CreateButton(523, 393, 20, 35, 1, 0, 0x3F, 0, 0x2D, "", pTexture_buttminu, 0); |
5867 pPlayerCreationUI_BtnPlus = pGUIWindow_CurrentMenu->CreateButton(613, 393, 20, 35, 1, 0, 0x3E, 1, 0x2B, "", pTexture_buttplus, 0); | 5871 pPlayerCreationUI_BtnPlus = pGUIWindow_CurrentMenu->CreateButton(613, 393, 20, 35, 1, 0, 0x3E, 1, 0x2B, "", pTexture_buttplus, 0); |
5868 pFontCChar = LoadFont("cchar.fnt", "FONTPAL", 0); | 5872 pFontCChar = LoadFont("cchar.fnt", "FONTPAL", 0); |
5869 } | 5873 } |
5870 // 4E28F8: using guessed type int pCurrentScreen; | 5874 // 4E28F8: using guessed type int pCurrentScreen; |
6021 item.Reset(); | 6025 item.Reset(); |
6022 //v10 = (char *)&pParty->pPlayers[0].sResMagicBase; | 6026 //v10 = (char *)&pParty->pPlayers[0].sResMagicBase; |
6023 for ( pPlayer = &pParty->pPlayers[0]; pPlayer < &pParty->pPlayers[4]; pPlayer++) | 6027 for ( pPlayer = &pParty->pPlayers[0]; pPlayer < &pParty->pPlayers[4]; pPlayer++) |
6024 { | 6028 { |
6025 //v11 = pPlayer; | 6029 //v11 = pPlayer; |
6026 if ( !pPlayer->uClass ) | 6030 if (pPlayer->classType == PLAYER_CLASS_KNIGHT) |
6027 pPlayer->sResMagicBase = 10; | 6031 pPlayer->sResMagicBase = 10; |
6028 //*((short *)v10 + 400) = 0; | 6032 //*((short *)v10 + 400) = 0; |
6029 pPlayer->pPlayerBuffs[22].uExpireTime = 0; | 6033 pPlayer->pPlayerBuffs[22].uExpireTime = 0; |
6030 uSpellBookPageCount = 0; | 6034 uSpellBookPageCount = 0; |
6031 for ( int i = 0; i < 9; i++) | 6035 for ( int i = 0; i < 9; i++) |
9409 v5 = 0; | 9413 v5 = 0; |
9410 v12 = pParty->pPlayers;//[0].uClass; | 9414 v12 = pParty->pPlayers;//[0].uClass; |
9411 v9 = 0; | 9415 v9 = 0; |
9412 while ( 1 ) | 9416 while ( 1 ) |
9413 { | 9417 { |
9414 if ( v12->uClass == 35 ) | 9418 if ( v12->classType == PLAYER_CLASS_LICH ) |
9415 { | 9419 { |
9416 v10 = 0; | 9420 v10 = 0; |
9417 v6 = pParty->pPlayers;//[0].pInventoryItems[0].field_1A; | 9421 v6 = pParty->pPlayers;//[0].pInventoryItems[0].field_1A; |
9418 do | 9422 do |
9419 { | 9423 { |
9807 else | 9811 else |
9808 { | 9812 { |
9809 dword_F8B1B4 = 2000; | 9813 dword_F8B1B4 = 2000; |
9810 dword_F8B1B0 = 2; | 9814 dword_F8B1B0 = 2; |
9811 } | 9815 } |
9812 v5 = v1->uClass; | 9816 v5 = v1->classType; |
9813 v33 = v5; | 9817 v33 = v5; |
9814 v6 = byte_4ED970_skill_learn_ability_by_class_table[v5][v3]; | 9818 v6 = byte_4ED970_skill_learn_ability_by_class_table[v5][v3]; |
9815 *(int *)a1 = v1->pActiveSkills[v3]; | 9819 *(int *)a1 = v1->pActiveSkills[v3]; |
9816 v7 = a1[0] & 0x3F; | 9820 v7 = a1[0] & 0x3F; |
9817 v34 = v2 + 2; | 9821 v34 = v2 + 2; |
11656 v7 = ptr_507BC0->ptr_1C; | 11660 v7 = ptr_507BC0->ptr_1C; |
11657 v68 = (unsigned __int16)word_4F0866[(signed int)v7]; | 11661 v68 = (unsigned __int16)word_4F0866[(signed int)v7]; |
11658 v66 = 1000 * v3; | 11662 v66 = 1000 * v3; |
11659 if ( (signed __int64)__PAIR__(v6, LODWORD(v0->uExperience)) >= v66 ) | 11663 if ( (signed __int64)__PAIR__(v6, LODWORD(v0->uExperience)) >= v66 ) |
11660 { | 11664 { |
11661 v8 = v0->uClass % 4 + 1; | 11665 v8 = v0->classType % 4 + 1; |
11662 if ( v8 == 4 ) | 11666 if ( v8 == 4 ) |
11663 v8 = 3; | 11667 v8 = 3; |
11664 v9 = (double)(signed int)i; | 11668 v9 = (double)(signed int)i; |
11665 i = 0; | 11669 i = 0; |
11666 v69 = v8; | 11670 v69 = v8; |
11697 if ( (signed int)v15 >= (signed int)(v15 + v16) ) | 11701 if ( (signed int)v15 >= (signed int)(v15 + v16) ) |
11698 goto LABEL_76; | 11702 goto LABEL_76; |
11699 do | 11703 do |
11700 { | 11704 { |
11701 v17 = v13->GetControl(v15)->uControlParam - 36; | 11705 v17 = v13->GetControl(v15)->uControlParam - 36; |
11702 if ( byte_4ED970_skill_learn_ability_by_class_table[v0->uClass][v17] && !v0->pActiveSkills[v17] ) | 11706 if ( byte_4ED970_skill_learn_ability_by_class_table[v0->classType][v17] && !v0->pActiveSkills[v17] ) |
11703 { | 11707 { |
11704 v18 = pFontArrus->CalcTextHeight(pSkillNames[v17], &v65, 0, 0); | 11708 v18 = pFontArrus->CalcTextHeight(pSkillNames[v17], &v65, 0, 0); |
11705 i += v18; | 11709 i += v18; |
11706 ++v72; | 11710 ++v72; |
11707 } | 11711 } |
11725 do | 11729 do |
11726 { | 11730 { |
11727 v20 = v13->GetControl(i); | 11731 v20 = v13->GetControl(i); |
11728 v21 = v20; | 11732 v21 = v20; |
11729 v22 = v20->uControlParam - 36; | 11733 v22 = v20->uControlParam - 36; |
11730 if ( !byte_4ED970_skill_learn_ability_by_class_table[v0->uClass][v22] || v0->pActiveSkills[v22] ) | 11734 if ( !byte_4ED970_skill_learn_ability_by_class_table[v0->classType][v22] || v0->pActiveSkills[v22] ) |
11731 { | 11735 { |
11732 v21->uW = 0; | 11736 v21->uW = 0; |
11733 v21->uHeight = 0; | 11737 v21->uHeight = 0; |
11734 v21->uY = 0; | 11738 v21->uY = 0; |
11735 } | 11739 } |
11758 } | 11762 } |
11759 } | 11763 } |
11760 else | 11764 else |
11761 { | 11765 { |
11762 LABEL_76: | 11766 LABEL_76: |
11763 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v0->pName, pClassNames[v0->uClass]);// | 11767 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v0->pName, pClassNames[v0->classType]);// |
11764 // "Seek knowledge elsewhere %s the %s" | 11768 // "Seek knowledge elsewhere %s the %s" |
11765 strcat(pTmpBuf, "\n \n"); | 11769 strcat(pTmpBuf, "\n \n"); |
11766 strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);// "I can offer you nothing further." | 11770 strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);// "I can offer you nothing further." |
11767 v29 = v71; | 11771 v29 = v71; |
11768 v30 = pFontArrus->CalcTextHeight(pTmpBuf, &v65, 0, 0); | 11772 v30 = pFontArrus->CalcTextHeight(pTmpBuf, &v65, 0, 0); |
12168 if ( (signed int)v34 >= v35 ) | 12172 if ( (signed int)v34 >= v35 ) |
12169 goto LABEL_140; | 12173 goto LABEL_140; |
12170 do | 12174 do |
12171 { | 12175 { |
12172 v36 = v31->GetControl(v34)->uControlParam - 36; | 12176 v36 = v31->GetControl(v34)->uControlParam - 36; |
12173 if ( byte_4ED970_skill_learn_ability_by_class_table[_this->uClass][v36] && !_this->pActiveSkills[v36] ) | 12177 if ( byte_4ED970_skill_learn_ability_by_class_table[_this->classType][v36] && !_this->pActiveSkills[v36] ) |
12174 { | 12178 { |
12175 v37 = pFontArrus->CalcTextHeight(pSkillNames[v36], &v112, 0, 0); | 12179 v37 = pFontArrus->CalcTextHeight(pSkillNames[v36], &v112, 0, 0); |
12176 v118 += v37; | 12180 v118 += v37; |
12177 ++v122; | 12181 ++v122; |
12178 } | 12182 } |
12180 } | 12184 } |
12181 while ( (signed int)v34 < v31->pNumPresenceButton + v31->pStartingPosActiveItem ); | 12185 while ( (signed int)v34 < v31->pNumPresenceButton + v31->pStartingPosActiveItem ); |
12182 if ( !v122 ) | 12186 if ( !v122 ) |
12183 { | 12187 { |
12184 LABEL_140: | 12188 LABEL_140: |
12185 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], _this->pName, pClassNames[_this->uClass]);// | 12189 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], _this->pName, pClassNames[_this->classType]);// |
12186 // "Seek knowledge elsewhere %s the %s" | 12190 // "Seek knowledge elsewhere %s the %s" |
12187 strcat(pTmpBuf, "\n \n"); | 12191 strcat(pTmpBuf, "\n \n"); |
12188 strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);// "I can offer you nothing further." | 12192 strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);// "I can offer you nothing further." |
12189 v30 = pTmpBuf; | 12193 v30 = pTmpBuf; |
12190 v97 = 3; | 12194 v97 = 3; |
12210 do | 12214 do |
12211 { | 12215 { |
12212 v39 = v31->GetControl(v118); | 12216 v39 = v31->GetControl(v118); |
12213 v40 = v39; | 12217 v40 = v39; |
12214 v41 = v39->uControlParam - 36; | 12218 v41 = v39->uControlParam - 36; |
12215 if ( !byte_4ED970_skill_learn_ability_by_class_table[_this->uClass][v41] || _this->pActiveSkills[v41] ) | 12219 if ( !byte_4ED970_skill_learn_ability_by_class_table[_this->classType][v41] || _this->pActiveSkills[v41] ) |
12216 { | 12220 { |
12217 v40->uW = 0; | 12221 v40->uW = 0; |
12218 v40->uHeight = 0; | 12222 v40->uHeight = 0; |
12219 v40->uY = 0; | 12223 v40->uY = 0; |
12220 } | 12224 } |
13221 } | 13225 } |
13222 while ( v21 < v20->pNumPresenceButton + v20->pStartingPosActiveItem ); | 13226 while ( v21 < v20->pNumPresenceButton + v20->pStartingPosActiveItem ); |
13223 if ( !v61 ) | 13227 if ( !v61 ) |
13224 { | 13228 { |
13225 LABEL_64: | 13229 LABEL_64: |
13226 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v58->pName, pClassNames[v58->uClass]); | 13230 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v58->pName, pClassNames[v58->classType]); |
13227 strcat(pTmpBuf, "\n \n"); | 13231 strcat(pTmpBuf, "\n \n"); |
13228 strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]); | 13232 strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]); |
13229 v18 = pTmpBuf; | 13233 v18 = pTmpBuf; |
13230 v44 = 3; | 13234 v44 = 3; |
13231 v43 = pTmpBuf; | 13235 v43 = pTmpBuf; |
13413 if ( (signed int)v7 >= v8 ) | 13417 if ( (signed int)v7 >= v8 ) |
13414 goto LABEL_78; | 13418 goto LABEL_78; |
13415 do | 13419 do |
13416 { | 13420 { |
13417 v9 = v4->GetControl(v62)->uControlParam - 36; | 13421 v9 = v4->GetControl(v62)->uControlParam - 36; |
13418 if ( byte_4ED970_skill_learn_ability_by_class_table[v1->uClass][v9] && !v1->pActiveSkills[v9] ) | 13422 if ( byte_4ED970_skill_learn_ability_by_class_table[v1->classType][v9] && !v1->pActiveSkills[v9] ) |
13419 { | 13423 { |
13420 v10 = pFontArrus->CalcTextHeight(pSkillNames[v9], &v57, 0, 0); | 13424 v10 = pFontArrus->CalcTextHeight(pSkillNames[v9], &v57, 0, 0); |
13421 v66 = (DDM_DLV_Header *)((char *)v66 + v10); | 13425 v66 = (DDM_DLV_Header *)((char *)v66 + v10); |
13422 ++v65; | 13426 ++v65; |
13423 } | 13427 } |
13443 while ( 1 ) | 13447 while ( 1 ) |
13444 { | 13448 { |
13445 v14 = v12->GetControl(v62); | 13449 v14 = v12->GetControl(v62); |
13446 v15 = v14; | 13450 v15 = v14; |
13447 v16 = v14->uControlParam - 36; | 13451 v16 = v14->uControlParam - 36; |
13448 if ( !byte_4ED970_skill_learn_ability_by_class_table[v1->uClass][v16] || v1->pActiveSkills[v16] ) | 13452 if ( !byte_4ED970_skill_learn_ability_by_class_table[v1->classType][v16] || v1->pActiveSkills[v16] ) |
13449 { | 13453 { |
13450 v15->uW = 0; | 13454 v15->uW = 0; |
13451 v15->uHeight = 0; | 13455 v15->uHeight = 0; |
13452 v15->uY = 0; | 13456 v15->uY = 0; |
13453 } | 13457 } |
13477 } | 13481 } |
13478 } | 13482 } |
13479 else | 13483 else |
13480 { | 13484 { |
13481 LABEL_78: | 13485 LABEL_78: |
13482 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v1->pName, pClassNames[v1->uClass]); | 13486 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v1->pName, pClassNames[v1->classType]); |
13483 strcat(pTmpBuf, "\n \n"); | 13487 strcat(pTmpBuf, "\n \n"); |
13484 strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]); | 13488 strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]); |
13485 v22 = WORD2(v59); | 13489 v22 = WORD2(v59); |
13486 v23 = pFontArrus->CalcTextHeight(pTmpBuf, &v57, 0, 0); | 13490 v23 = pFontArrus->CalcTextHeight(pTmpBuf, &v57, 0, 0); |
13487 result = (int)v57.DrawTitleText(pFontArrus, 0, (174 - v23) / 2 + 138, v22, pTmpBuf, 3u); | 13491 result = (int)v57.DrawTitleText(pFontArrus, 0, (174 - v23) / 2 + 138, v22, pTmpBuf, 3u); |
13913 if ( v9 >= v10 ) | 13917 if ( v9 >= v10 ) |
13914 goto LABEL_40; | 13918 goto LABEL_40; |
13915 do | 13919 do |
13916 { | 13920 { |
13917 v11 = v8->GetControl(v35)->uControlParam - 36; | 13921 v11 = v8->GetControl(v35)->uControlParam - 36; |
13918 if ( byte_4ED970_skill_learn_ability_by_class_table[v1->uClass / 3][v11] && !v1->pActiveSkills[v11] ) | 13922 if ( byte_4ED970_skill_learn_ability_by_class_table[v1->classType / 3][v11] && !v1->pActiveSkills[v11] ) |
13919 { | 13923 { |
13920 v12 = pFontArrus->CalcTextHeight(pSkillNames[v11], &v28, 0, 0); | 13924 v12 = pFontArrus->CalcTextHeight(pSkillNames[v11], &v28, 0, 0); |
13921 v33 += v12; | 13925 v33 += v12; |
13922 ++v34; | 13926 ++v34; |
13923 } | 13927 } |
13926 } | 13930 } |
13927 while ( v35 < v8->pNumPresenceButton + v13 ); | 13931 while ( v35 < v8->pNumPresenceButton + v13 ); |
13928 if ( !v34 ) | 13932 if ( !v34 ) |
13929 { | 13933 { |
13930 LABEL_40: | 13934 LABEL_40: |
13931 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v1->pName, pClassNames[v1->uClass]); | 13935 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v1->pName, pClassNames[v1->classType]); |
13932 strcat(pTmpBuf, "\n \n"); | 13936 strcat(pTmpBuf, "\n \n"); |
13933 strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]); | 13937 strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]); |
13934 v22 = v31; | 13938 v22 = v31; |
13935 v23 = pFontArrus->CalcTextHeight(pTmpBuf, &v28, 0, 0); | 13939 v23 = pFontArrus->CalcTextHeight(pTmpBuf, &v28, 0, 0); |
13936 return (int)v28.DrawTitleText(pFontArrus, 0, (174 - v23) / 2 + 138, v22, pTmpBuf, 3u); | 13940 return (int)v28.DrawTitleText(pFontArrus, 0, (174 - v23) / 2 + 138, v22, pTmpBuf, 3u); |
13948 v33 = 2; | 13952 v33 = 2; |
13949 do | 13953 do |
13950 { | 13954 { |
13951 v14 = v8->GetControl(v35); | 13955 v14 = v8->GetControl(v35); |
13952 v15 = v14->uControlParam - 36; | 13956 v15 = v14->uControlParam - 36; |
13953 if ( byte_4ED970_skill_learn_ability_by_class_table[v1->uClass / 3][v15] ) | 13957 if ( byte_4ED970_skill_learn_ability_by_class_table[v1->classType / 3][v15] ) |
13954 { | 13958 { |
13955 v16 = 0; | 13959 v16 = 0; |
13956 if ( !v1->pActiveSkills[v15] ) | 13960 if ( !v1->pActiveSkills[v15] ) |
13957 { | 13961 { |
13958 v17 = pSkillNames[v15]; | 13962 v17 = pSkillNames[v15]; |