Add button4.png drawing (builder icons)

modernize-cmake-1
Mateusz Przybył 2017-11-17 18:59:14 +01:00
parent d470d9e63c
commit 46bef8fd92
No known key found for this signature in database
GPG Key ID: DF2649BD3566EADF
6 changed files with 161 additions and 113 deletions

View File

@ -2309,6 +2309,7 @@ bool CEngine::LoadAllTextures()
LoadTexture("textures/interface/button1.png");
LoadTexture("textures/interface/button2.png");
LoadTexture("textures/interface/button3.png");
LoadTexture("textures/interface/button4.png");
LoadTexture("textures/effect00.png");
LoadTexture("textures/effect01.png");
LoadTexture("textures/effect02.png");

View File

@ -925,7 +925,13 @@ void CText::DrawCharAndAdjustPos(UTF8Char ch, FontType font, float size, Math::I
// For whatever reason ch.c1 is a SIGNED char, we need to fix that
unsigned char icon = static_cast<unsigned char>(ch.c1);
if ( icon >= 128 )
if ( icon >= 192 )
{
icon -= 192;
m_engine->SetTexture("textures/interface/button4.png");
m_engine->SetState(ENG_RSTATE_TTEXTURE_WHITE);
}
else if ( icon >= 128 )
{
icon -= 128;
m_engine->SetTexture("textures/interface/button3.png");

View File

@ -518,7 +518,13 @@ void CControl::Draw()
if ( m_state & STATE_DEAD ) return;
icon = m_icon;
if ( icon >= 128 )
if (icon >= 192)
{
icon -= 192;
m_engine->SetTexture("textures/interface/button4.png");
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
}
else if ( icon >= 128 )
{
icon -= 128;
m_engine->SetTexture("textures/interface/button3.png");

View File

@ -830,67 +830,80 @@ void CMap::DrawObjectIcon(Math::Point pos, Math::Point dim, MapColor color,
if ( bHilite )
{
icon = -1;
if ( type == OBJECT_FACTORY ) icon = 32;
if ( type == OBJECT_DERRICK ) icon = 33;
if ( type == OBJECT_CONVERT ) icon = 34;
if ( type == OBJECT_RESEARCH ) icon = 35;
if ( type == OBJECT_STATION ) icon = 36;
if ( type == OBJECT_TOWER ) icon = 37;
if ( type == OBJECT_LABO ) icon = 38;
if ( type == OBJECT_ENERGY ) icon = 39;
if ( type == OBJECT_RADAR ) icon = 40;
if ( type == OBJECT_INFO ) icon = 44;
if ( type == OBJECT_REPAIR ) icon = 41;
if ( type == OBJECT_DESTROYER) icon = 41;
if ( type == OBJECT_NUCLEAR ) icon = 42;
if ( type == OBJECT_PARA ) icon = 46;
if ( type == OBJECT_SAFE ) icon = 47;
if ( type == OBJECT_HUSTON ) icon = 48;
if ( type == OBJECT_TARGET1 ) icon = 45;
if ( type == OBJECT_BASE ) icon = 43;
if ( type == OBJECT_HUMAN ) icon = 8;
if ( type == OBJECT_MOBILEfa ) icon = 11;
if ( type == OBJECT_MOBILEta ) icon = 10;
if ( type == OBJECT_MOBILEwa ) icon = 9;
if ( type == OBJECT_MOBILEia ) icon = 22;
if ( type == OBJECT_MOBILEfb ) icon = 32; //placeholder icon
if ( type == OBJECT_MOBILEtb ) icon = 32;
if ( type == OBJECT_MOBILEwb ) icon = 32;
if ( type == OBJECT_MOBILEib ) icon = 32;
if ( type == OBJECT_MOBILEfc ) icon = 17;
if ( type == OBJECT_MOBILEtc ) icon = 16;
if ( type == OBJECT_MOBILEwc ) icon = 15;
if ( type == OBJECT_MOBILEic ) icon = 23;
if ( type == OBJECT_MOBILEfi ) icon = 27;
if ( type == OBJECT_MOBILEti ) icon = 26;
if ( type == OBJECT_MOBILEwi ) icon = 25;
if ( type == OBJECT_MOBILEii ) icon = 28;
if ( type == OBJECT_MOBILEfs ) icon = 14;
if ( type == OBJECT_MOBILEts ) icon = 13;
if ( type == OBJECT_MOBILEws ) icon = 12;
if ( type == OBJECT_MOBILEis ) icon = 24;
if ( type == OBJECT_MOBILErt ) icon = 18;
if ( type == OBJECT_MOBILErc ) icon = 19;
if ( type == OBJECT_MOBILErr ) icon = 20;
if ( type == OBJECT_MOBILErs ) icon = 29;
if ( type == OBJECT_MOBILEsa ) icon = 21;
if ( type == OBJECT_MOBILEft ) icon = 30;
if ( type == OBJECT_MOBILEtt ) icon = 30;
if ( type == OBJECT_MOBILEwt ) icon = 30;
if ( type == OBJECT_MOBILEit ) icon = 30;
if ( type == OBJECT_MOBILEtg ) icon = 45;
if ( type == OBJECT_MOBILEdr ) icon = 48;
if ( type == OBJECT_APOLLO2 ) icon = 49;
if ( type == OBJECT_MOTHER ) icon = 31;
if ( type == OBJECT_ANT ) icon = 31;
if ( type == OBJECT_SPIDER ) icon = 31;
if ( type == OBJECT_BEE ) icon = 31;
if ( type == OBJECT_WORM ) icon = 31;
if ( type == OBJECT_TEEN28 ) icon = 48; // bottle
if ( type == OBJECT_TEEN34 ) icon = 48; // stone
switch ( type )
{
case OBJECT_FACTORY: icon = 32; break;
case OBJECT_DERRICK: icon = 33; break;
case OBJECT_CONVERT: icon = 34; break;
case OBJECT_RESEARCH: icon = 35; break;
case OBJECT_STATION: icon = 36; break;
case OBJECT_TOWER: icon = 37; break;
case OBJECT_LABO: icon = 38; break;
case OBJECT_ENERGY: icon = 39; break;
case OBJECT_RADAR: icon = 40; break;
case OBJECT_INFO: icon = 44; break;
case OBJECT_REPAIR: icon = 41; break;
case OBJECT_DESTROYER: icon = 41; break;
case OBJECT_NUCLEAR: icon = 42; break;
case OBJECT_PARA: icon = 46; break;
case OBJECT_SAFE: icon = 47; break;
case OBJECT_HUSTON: icon = 48; break;
case OBJECT_TARGET1: icon = 45; break;
case OBJECT_BASE: icon = 43; break;
case OBJECT_HUMAN: icon = 8; break;
case OBJECT_MOBILEfa: icon = 11; break;
case OBJECT_MOBILEta: icon = 10; break;
case OBJECT_MOBILEwa: icon = 9; break;
case OBJECT_MOBILEia: icon = 22; break;
case OBJECT_MOBILEfb: icon = 2; break; // button4
case OBJECT_MOBILEtb: icon = 1; break;
case OBJECT_MOBILEwb: icon = 0; break;
case OBJECT_MOBILEib: icon = 3; break;
case OBJECT_MOBILEfc: icon = 17; break;
case OBJECT_MOBILEtc: icon = 16; break;
case OBJECT_MOBILEwc: icon = 15; break;
case OBJECT_MOBILEic: icon = 23; break;
case OBJECT_MOBILEfi: icon = 27; break;
case OBJECT_MOBILEti: icon = 26; break;
case OBJECT_MOBILEwi: icon = 25; break;
case OBJECT_MOBILEii: icon = 28; break;
case OBJECT_MOBILEfs: icon = 14; break;
case OBJECT_MOBILEts: icon = 13; break;
case OBJECT_MOBILEws: icon = 12; break;
case OBJECT_MOBILEis: icon = 24; break;
case OBJECT_MOBILErt: icon = 18; break;
case OBJECT_MOBILErc: icon = 19; break;
case OBJECT_MOBILErr: icon = 20; break;
case OBJECT_MOBILErs: icon = 29; break;
case OBJECT_MOBILEsa: icon = 21; break;
case OBJECT_MOBILEft: icon = 30; break;
case OBJECT_MOBILEtt: icon = 30; break;
case OBJECT_MOBILEwt: icon = 30; break;
case OBJECT_MOBILEit: icon = 30; break;
case OBJECT_MOBILEtg: icon = 45; break;
case OBJECT_MOBILEdr: icon = 48; break;
case OBJECT_APOLLO2: icon = 49; break;
case OBJECT_MOTHER: icon = 31; break;
case OBJECT_ANT: icon = 31; break;
case OBJECT_SPIDER: icon = 31; break;
case OBJECT_BEE: icon = 31; break;
case OBJECT_WORM: icon = 31; break;
case OBJECT_TEEN28: icon = 48; break; // bottle
case OBJECT_TEEN34: icon = 48; break; // stone
default: icon = -1;
}
if ( icon == -1 ) return;
switch ( type )
{
case OBJECT_MOBILEfb:
case OBJECT_MOBILEtb:
case OBJECT_MOBILEwb:
case OBJECT_MOBILEib:
m_engine->SetTexture("textures/interface/button4.png"); break;
default: ; // button3.png
}
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
uv1.x = (32.0f/256.0f)*(icon%8);
uv1.y = (32.0f/256.0f)*(icon/8);

View File

@ -124,7 +124,12 @@ void CShortcut::Draw()
}
icon = m_icon;
if ( icon >= 128 )
if ( icon >= 192 )
{
icon -= 192;
m_engine->SetTexture("textures/interface/button4.png");
}
else if ( icon >= 128 )
{
icon -= 128;
m_engine->SetTexture("textures/interface/button3.png");

View File

@ -182,61 +182,78 @@ int CMainShort::GetShortcutIcon(ObjectType type)
int icon = -1;
if ( m_bBuilding )
{
if ( type == OBJECT_FACTORY ) icon = 32;
if ( type == OBJECT_DERRICK ) icon = 33;
if ( type == OBJECT_CONVERT ) icon = 34;
if ( type == OBJECT_RESEARCH ) icon = 35;
if ( type == OBJECT_STATION ) icon = 36;
if ( type == OBJECT_TOWER ) icon = 37;
if ( type == OBJECT_LABO ) icon = 38;
if ( type == OBJECT_ENERGY ) icon = 39;
if ( type == OBJECT_RADAR ) icon = 40;
if ( type == OBJECT_INFO ) icon = 44;
if ( type == OBJECT_REPAIR ) icon = 41;
if ( type == OBJECT_DESTROYER) icon = 41;
if ( type == OBJECT_NUCLEAR ) icon = 42;
if ( type == OBJECT_PARA ) icon = 46;
if ( type == OBJECT_SAFE ) icon = 47;
if ( type == OBJECT_HUSTON ) icon = 48;
if ( type == OBJECT_BASE ) icon = 43;
switch ( type )
{
case OBJECT_FACTORY: icon = 32; break;
case OBJECT_DERRICK: icon = 33; break;
case OBJECT_CONVERT: icon = 34; break;
case OBJECT_RESEARCH: icon = 35; break;
case OBJECT_STATION: icon = 36; break;
case OBJECT_TOWER: icon = 37; break;
case OBJECT_LABO: icon = 38; break;
case OBJECT_ENERGY: icon = 39; break;
case OBJECT_RADAR: icon = 40; break;
case OBJECT_INFO: icon = 44; break;
case OBJECT_REPAIR: icon = 41; break;
case OBJECT_DESTROYER: icon = 41; break;
case OBJECT_NUCLEAR: icon = 42; break;
case OBJECT_PARA: icon = 46; break;
case OBJECT_SAFE: icon = 47; break;
case OBJECT_HUSTON: icon = 48; break;
case OBJECT_BASE: icon = 43; break;
default: return -1;
}
}
else
{
if ( type == OBJECT_HUMAN ) icon = 8;
if ( type == OBJECT_MOBILEfa ) icon = 11;
if ( type == OBJECT_MOBILEta ) icon = 10;
if ( type == OBJECT_MOBILEwa ) icon = 9;
if ( type == OBJECT_MOBILEia ) icon = 22;
if ( type == OBJECT_MOBILEfb ) icon = 32;
if ( type == OBJECT_MOBILEtb ) icon = 32;
if ( type == OBJECT_MOBILEwb ) icon = 32;
if ( type == OBJECT_MOBILEib ) icon = 32;
if ( type == OBJECT_MOBILEfc ) icon = 17;
if ( type == OBJECT_MOBILEtc ) icon = 16;
if ( type == OBJECT_MOBILEwc ) icon = 15;
if ( type == OBJECT_MOBILEic ) icon = 23;
if ( type == OBJECT_MOBILEfi ) icon = 27;
if ( type == OBJECT_MOBILEti ) icon = 26;
if ( type == OBJECT_MOBILEwi ) icon = 25;
if ( type == OBJECT_MOBILEii ) icon = 28;
if ( type == OBJECT_MOBILEfs ) icon = 14;
if ( type == OBJECT_MOBILEts ) icon = 13;
if ( type == OBJECT_MOBILEws ) icon = 12;
if ( type == OBJECT_MOBILEis ) icon = 24;
if ( type == OBJECT_MOBILErt ) icon = 18;
if ( type == OBJECT_MOBILErc ) icon = 19;
if ( type == OBJECT_MOBILErr ) icon = 20;
if ( type == OBJECT_MOBILErs ) icon = 29;
if ( type == OBJECT_MOBILEsa ) icon = 21;
if ( type == OBJECT_MOBILEft ) icon = 30;
if ( type == OBJECT_MOBILEtt ) icon = 30;
if ( type == OBJECT_MOBILEwt ) icon = 30;
if ( type == OBJECT_MOBILEit ) icon = 30;
if ( type == OBJECT_MOBILEdr ) icon = 48;
if ( type == OBJECT_APOLLO2 ) icon = 49;
switch ( type )
{
case OBJECT_HUMAN: icon = 8; break;
case OBJECT_MOBILEfa: icon = 11; break;
case OBJECT_MOBILEta: icon = 10; break;
case OBJECT_MOBILEwa: icon = 9; break;
case OBJECT_MOBILEia: icon = 22; break;
case OBJECT_MOBILEfb: icon = 2; break; // button4
case OBJECT_MOBILEtb: icon = 1; break;
case OBJECT_MOBILEwb: icon = 0; break;
case OBJECT_MOBILEib: icon = 3; break;
case OBJECT_MOBILEfc: icon = 17; break;
case OBJECT_MOBILEtc: icon = 16; break;
case OBJECT_MOBILEwc: icon = 15; break;
case OBJECT_MOBILEic: icon = 23; break;
case OBJECT_MOBILEfi: icon = 27; break;
case OBJECT_MOBILEti: icon = 26; break;
case OBJECT_MOBILEwi: icon = 25; break;
case OBJECT_MOBILEii: icon = 28; break;
case OBJECT_MOBILEfs: icon = 14; break;
case OBJECT_MOBILEts: icon = 13; break;
case OBJECT_MOBILEws: icon = 12; break;
case OBJECT_MOBILEis: icon = 24; break;
case OBJECT_MOBILErt: icon = 18; break;
case OBJECT_MOBILErc: icon = 19; break;
case OBJECT_MOBILErr: icon = 20; break;
case OBJECT_MOBILErs: icon = 29; break;
case OBJECT_MOBILEsa: icon = 21; break;
case OBJECT_MOBILEft: icon = 30; break;
case OBJECT_MOBILEtt: icon = 30; break;
case OBJECT_MOBILEwt: icon = 30; break;
case OBJECT_MOBILEit: icon = 30; break;
case OBJECT_MOBILEdr: icon = 48; break;
case OBJECT_APOLLO2: icon = 49; break;
default: return -1;
}
}
switch ( type )
{
case OBJECT_MOBILEfb:
case OBJECT_MOBILEtb:
case OBJECT_MOBILEwb:
case OBJECT_MOBILEib:
return 192+icon;
default:
return 128+icon;
}
if ( icon == -1 ) return -1;
return 128+icon;
}
// Updates the interface shortcuts to the units.