Mercurial > mm7
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 } |