comparison mm7_5.cpp @ 1393:28f87f5234a1

More hardcoded UI colors moved to varibables.
author Nomad
date Thu, 18 Jul 2013 16:11:57 +0200
parents cc9a3a24d61d
children e6908823897f
comparison
equal deleted inserted replaced
1392:e3e9c0467529 1393:28f87f5234a1
4907 if ( result ) 4907 if ( result )
4908 result = abs((v7 * (v10 - a6) - (a4 - v10) * (v6 - a5)) / result); 4908 result = abs((v7 * (v10 - a6) - (a4 - v10) * (v6 - a5)) / result);
4909 return result; 4909 return result;
4910 } 4910 }
4911 4911
4912 //----- (0040DEDB) --------------------------------------------------------
4913 unsigned int __stdcall R8G8B8_to_TargetFormat(int uColor)
4914 {
4915 return TargetColor(LOBYTE(uColor), BYTE1(uColor), BYTE2(uColor));
4916 }
4917
4918 //----- (0040DEF3) -------------------------------------------------------- 4912 //----- (0040DEF3) --------------------------------------------------------
4919 unsigned short TargetColor( unsigned __int16 r, unsigned __int16 g, unsigned __int16 b ) 4913 unsigned short TargetColor( unsigned __int16 r, unsigned __int16 g, unsigned __int16 b )
4920 { 4914 {
4921 return ((unsigned int)b >> (8 - LOBYTE(pRenderer->uTargetBBits))) | pRenderer->uTargetGMask & (g << (LOBYTE(pRenderer->uTargetGBits) + 4915 return ((unsigned int)b >> (8 - LOBYTE(pRenderer->uTargetBBits))) | pRenderer->uTargetGMask & (g << (LOBYTE(pRenderer->uTargetGBits) +
4922 LOBYTE(pRenderer->uTargetBBits) - 8)) | pRenderer->uTargetRMask & (r << (LOBYTE(pRenderer->uTargetGBits) + 4916 LOBYTE(pRenderer->uTargetBBits) - 8)) | pRenderer->uTargetRMask & (r << (LOBYTE(pRenderer->uTargetGBits) +
5492 v0->PlaySound(SPEECH_16, 0); 5486 v0->PlaySound(SPEECH_16, 0);
5493 dword_4E455C = 0; 5487 dword_4E455C = 0;
5494 } 5488 }
5495 } 5489 }
5496 5490
5497 //----- (004179BC) --------------------------------------------------------
5498 void __fastcall sub_4179BC_draw_tooltip( const char *a1, const char *a2 )
5499 {
5500 const char *v2; // ebx@1
5501 const char *v3; // edi@1
5502 unsigned int v4; // eax@1
5503 GUIWindow Dst; // [sp+Ch] [bp-5Ch]@1
5504 POINT v6; // [sp+60h] [bp-8h]@1
5505
5506 v2 = a2;
5507 v3 = a1;
5508 memset(&Dst, 0, 0x54u);
5509 Dst.uFrameWidth = 384;
5510 Dst.uFrameHeight = 256;
5511 Dst.uFrameX = 128;
5512 Dst.uFrameY = pMouse->GetCursorPos(&v6)->y + 30;
5513 Dst.uFrameHeight = pFontSmallnum->CalcTextHeight(v2, &Dst, 24, 0) + 2 * LOBYTE(pFontLucida->uFontHeight) + 24;
5514 Dst.uFrameZ = Dst.uFrameX + Dst.uFrameWidth - 1;
5515 Dst.uFrameW = Dst.uFrameY + Dst.uFrameHeight - 1;
5516 Dst.DrawMessageBox(0);
5517 Dst.uFrameX += 12;
5518 Dst.uFrameWidth -= 24;
5519 Dst.uFrameY += 12;
5520 Dst.uFrameHeight -= 12;
5521 Dst.uFrameZ = Dst.uFrameX + Dst.uFrameWidth - 1;
5522 Dst.uFrameW = Dst.uFrameY + Dst.uFrameHeight - 1;
5523 v4 = TargetColor(0xFFu, 0xFFu, 0x9Bu);
5524 sprintf(pTmpBuf.data(), format_4E2D80, v4, v3);
5525 Dst.DrawTitleText(pFontCreate, 0, 0, 0, pTmpBuf.data(), 3u);
5526 Dst.DrawText(pFontSmallnum, 1, LOBYTE(pFontLucida->uFontHeight), 0, v2, 0, 0, 0);
5527 }
5528
5529 //----- (00417AD4) -------------------------------------------------------- 5491 //----- (00417AD4) --------------------------------------------------------
5530 unsigned int GetSkillColor(unsigned int uPlayerClass, PLAYER_SKILL_TYPE uPlayerSkillType, signed int skill_level) 5492 unsigned int GetSkillColor(unsigned int uPlayerClass, PLAYER_SKILL_TYPE uPlayerSkillType, signed int skill_level)
5531 { 5493 {
5532 int v8; // eax@10 5494 switch (uPlayerClass % 4)
5533 int v12; // eax@14
5534 unsigned int yellow; // [sp+Ch] [bp-Ch]@1
5535 unsigned int red; // [sp+10h] [bp-8h]@1
5536 unsigned int white; // [sp+14h] [bp-4h]@1
5537
5538 white = TargetColor(0xFFu, 0xFFu, 0xFFu);
5539 red = TargetColor(0xFFu, 0, 0);
5540 yellow = TargetColor(0xFFu, 0xFFu, 0);
5541 if ( !(uPlayerClass % 4) )
5542 { 5495 {
5543 if ( byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass][uPlayerSkillType] >= skill_level ) 5496 case 0:
5544 return white;
5545 if ( byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass + 1][uPlayerSkillType] < skill_level
5546 && byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass + 2][uPlayerSkillType] < skill_level )
5547 { 5497 {
5548 v12 = byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass + 3][uPlayerSkillType]; 5498 if (byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass][uPlayerSkillType] >= skill_level)
5549 if ( v12 < skill_level ) 5499 return ui_character_skillinfo_can_learn;
5550 return red; 5500 if (byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass + 1][uPlayerSkillType] < skill_level &&
5501 byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass + 2][uPlayerSkillType] < skill_level)
5502 {
5503 if (byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass + 3][uPlayerSkillType] < skill_level)
5504 return ui_character_skillinfo_cant_learn;
5505 }
5506 return ui_character_skillinfo_can_learn_gm;
5551 } 5507 }
5552 return yellow; 5508 break;
5509
5510 case 1:
5511 {
5512 if (byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass][uPlayerSkillType] >= skill_level)
5513 return ui_character_skillinfo_can_learn;
5514 if (byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass + 1][uPlayerSkillType] < skill_level)
5515 {
5516 if (byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass + 2][uPlayerSkillType] < skill_level)
5517 return ui_character_skillinfo_cant_learn;
5518 }
5519 return ui_character_skillinfo_can_learn_gm;
5520 }
5521 break;
5522
5523 case 2:
5524 case 3:
5525 {
5526 if (byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass][uPlayerSkillType] < skill_level)
5527 return ui_character_skillinfo_cant_learn;
5528 return ui_character_skillinfo_can_learn;
5529 }
5530 break;
5553 } 5531 }
5554 if ( (uPlayerClass % 4) == 1 ) 5532 assert(false);
5555 {
5556 if ( byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass][uPlayerSkillType] >= skill_level )
5557 return white;
5558 if ( byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass + 1][uPlayerSkillType] < skill_level )
5559 {
5560 v8 = byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass + 2][uPlayerSkillType];
5561 if ( v8 < skill_level)
5562 return red;
5563 }
5564 return yellow;
5565 }
5566 if ( (uPlayerClass % 4) == 2 || (uPlayerClass % 4) == 3 )
5567 {
5568 if ( byte_4ED970_skill_learn_ability_by_class_table[uPlayerClass][uPlayerSkillType] < skill_level )
5569 return red;
5570 }
5571 return white;
5572 } 5533 }