diff --git a/src/common/restext.cpp b/src/common/restext.cpp index c1cd857f..1ef49306 100644 --- a/src/common/restext.cpp +++ b/src/common/restext.cpp @@ -283,9 +283,9 @@ void InitializeRestext() stringsEvent[EVENT_INTERFACE_PCGb] = TR("Green"); stringsEvent[EVENT_INTERFACE_PCBb] = TR("Blue"); stringsEvent[EVENT_INTERFACE_PFACE1] = TR("\\Face 1"); - stringsEvent[EVENT_INTERFACE_PFACE2] = TR("\\Face 4"); + stringsEvent[EVENT_INTERFACE_PFACE2] = TR("\\Face 2"); stringsEvent[EVENT_INTERFACE_PFACE3] = TR("\\Face 3"); - stringsEvent[EVENT_INTERFACE_PFACE4] = TR("\\Face 2"); + stringsEvent[EVENT_INTERFACE_PFACE4] = TR("\\Face 4"); stringsEvent[EVENT_INTERFACE_PGLASS0] = TR("\\No eyeglasses"); stringsEvent[EVENT_INTERFACE_PGLASS1] = TR("\\Eyeglasses 1"); stringsEvent[EVENT_INTERFACE_PGLASS2] = TR("\\Eyeglasses 2"); diff --git a/src/level/player_profile.cpp b/src/level/player_profile.cpp index a34bfb50..7eba33c9 100644 --- a/src/level/player_profile.cpp +++ b/src/level/player_profile.cpp @@ -38,9 +38,9 @@ void PlayerApperance::DefPerso() this->colorCombi.r = 206.0f/256.0f; this->colorCombi.g = 206.0f/256.0f; this->colorCombi.b = 204.0f/256.0f; // ~white - this->colorBand.r = 255.0f/256.0f; - this->colorBand.g = 132.0f/256.0f; - this->colorBand.b = 1.0f/256.0f; // orange + this->colorBand.r = 255.0f / 256.0f; + this->colorBand.g = 132.0f / 256.0f; + this->colorBand.b = 1.0f / 256.0f; // orange if ( this->face == 0 ) // normal ? { @@ -52,23 +52,23 @@ void PlayerApperance::DefPerso() if ( this->face == 1 ) // bald ? { this->glasses = 0; - this->colorHair.r = 83.0f/256.0f; - this->colorHair.g = 64.0f/256.0f; - this->colorHair.b = 51.0f/256.0f; // brown + this->colorHair.r = 74.0f / 256.0f; + this->colorHair.g = 58.0f / 256.0f; + this->colorHair.b = 46.0f / 256.0f; // brown } if ( this->face == 2 ) // carlos ? { this->glasses = 1; - this->colorHair.r = 85.0f/256.0f; - this->colorHair.g = 48.0f/256.0f; + this->colorHair.r = 70.0f / 256.0f; + this->colorHair.g = 40.0f / 256.0f; this->colorHair.b = 9.0f/256.0f; // brown } - if ( this->face == 3 ) // blond ? + if ( this->face == 3 ) // blond ? -> ginger ? { this->glasses = 4; - this->colorHair.r = 255.0f/256.0f; - this->colorHair.g = 255.0f/256.0f; - this->colorHair.b = 181.0f/256.0f; // yellow + this->colorHair.r = 74.0f / 256.0f; + this->colorHair.g = 16.0f / 256.0f; + this->colorHair.b = 0.0f / 256.0f; // yellow, changed to ginger } this->colorHair.a = 0.0f; @@ -76,6 +76,37 @@ void PlayerApperance::DefPerso() this->colorBand.a = 0.0f; } +void PlayerApperance::DefHairColor() + { + if (this->face == 0) // normal ? + { + this->colorHair.r = 90.0f / 256.0f; + this->colorHair.g = 95.0f / 256.0f; + this->colorHair.b = 85.0f / 256.0f; // black + } + if (this->face == 1) // bald ? + { + this->colorHair.r = 74.0f / 256.0f; + this->colorHair.g = 58.0f / 256.0f; + this->colorHair.b = 46.0f / 256.0f; // brown + } + if (this->face == 2) // carlos ? + { + this->colorHair.r = 70.0f / 256.0f; + this->colorHair.g = 40.0f / 256.0f; + this->colorHair.b = 9.0f / 256.0f; // brown + } + if (this->face == 3) // blond ? -> ginger ? + { + this->colorHair.r = 74.0f / 256.0f; + this->colorHair.g = 16.0f / 256.0f; + this->colorHair.b = 0.0f / 256.0f; // yellow, changed to ginger + } + + this->colorHair.a = 0.0f; + } + + CPlayerProfile::CPlayerProfile(std::string playerName) { m_playerName = playerName; diff --git a/src/level/player_profile.h b/src/level/player_profile.h index 63bbfd74..fc198cbe 100644 --- a/src/level/player_profile.h +++ b/src/level/player_profile.h @@ -42,6 +42,7 @@ struct PlayerApperance Gfx::Color colorBand; // strips color void DefPerso(); + void DefHairColor(); }; struct SavedScene diff --git a/src/level/robotmain.cpp b/src/level/robotmain.cpp index d7f71be2..274118b7 100644 --- a/src/level/robotmain.cpp +++ b/src/level/robotmain.cpp @@ -2270,7 +2270,9 @@ void CRobotMain::ChangeCamera() ObjectType oType = obj->GetType(); Gfx::CameraType type = controllableObj->GetCameraType(); - if ( oType != OBJECT_MOBILEfa && + if ( oType != OBJECT_HUMAN && + oType != OBJECT_TECH && + oType != OBJECT_MOBILEfa && oType != OBJECT_MOBILEta && oType != OBJECT_MOBILEwa && oType != OBJECT_MOBILEia && diff --git a/src/ui/object_interface.cpp b/src/ui/object_interface.cpp index 81a68006..c2ed098f 100644 --- a/src/ui/object_interface.cpp +++ b/src/ui/object_interface.cpp @@ -1302,8 +1302,9 @@ bool CObjectInterface::CreateInterface(bool bSelect) pw->CreateButton(pos, ddim, 19, EVENT_OBJECT_HELP); } - if ( type != OBJECT_HUMAN && - type != OBJECT_TECH && +//camera button no more disabled for humans + if ( //type != OBJECT_HUMAN && + //type != OBJECT_TECH && !m_object->GetCameraLock() ) { //? if ( m_main->GetShowMap() ) @@ -1396,29 +1397,33 @@ bool CObjectInterface::CreateInterface(bool bSelect) pt->ClearState(STATE_GLINT); } - ddim.x = 64.0f/640.0f; - ddim.y = 64.0f/480.0f; - pos.x = 30.0f/640.0f; - pos.y = 430.0f/480.0f-ddim.y; - pw->CreateGroup(pos, ddim, 13, EVENT_OBJECT_CORNERul); + if (type != OBJECT_HUMAN && + type != OBJECT_TECH) + { + ddim.x = 64.0f / 640.0f; + ddim.y = 64.0f / 480.0f; + pos.x = 30.0f / 640.0f; + pos.y = 430.0f / 480.0f - ddim.y; + pw->CreateGroup(pos, ddim, 13, EVENT_OBJECT_CORNERul); - ddim.x = 64.0f/640.0f; - ddim.y = 64.0f/480.0f; - pos.x = 610.0f/640.0f-ddim.x; - pos.y = 430.0f/480.0f-ddim.y; - pw->CreateGroup(pos, ddim, 14, EVENT_OBJECT_CORNERur); + ddim.x = 64.0f / 640.0f; + ddim.y = 64.0f / 480.0f; + pos.x = 610.0f / 640.0f - ddim.x; + pos.y = 430.0f / 480.0f - ddim.y; + pw->CreateGroup(pos, ddim, 14, EVENT_OBJECT_CORNERur); - ddim.x = 64.0f/640.0f; - ddim.y = 64.0f/480.0f; - pos.x = 30.0f/640.0f; - pos.y = 110.0f/480.0f; - pw->CreateGroup(pos, ddim, 15, EVENT_OBJECT_CORNERdl); + ddim.x = 64.0f / 640.0f; + ddim.y = 64.0f / 480.0f; + pos.x = 30.0f / 640.0f; + pos.y = 110.0f / 480.0f; + pw->CreateGroup(pos, ddim, 15, EVENT_OBJECT_CORNERdl); - ddim.x = 64.0f/640.0f; - ddim.y = 64.0f/480.0f; - pos.x = 610.0f/640.0f-ddim.x; - pos.y = 110.0f/480.0f; - pw->CreateGroup(pos, ddim, 16, EVENT_OBJECT_CORNERdr); + ddim.x = 64.0f / 640.0f; + ddim.y = 64.0f / 480.0f; + pos.x = 610.0f / 640.0f - ddim.x; + pos.y = 110.0f / 480.0f; + pw->CreateGroup(pos, ddim, 16, EVENT_OBJECT_CORNERdr); + } UpdateInterface(); m_lastUpdateTime = 0.0f; diff --git a/src/ui/screen/screen_apperance.cpp b/src/ui/screen/screen_apperance.cpp index 82c92266..9ae82c97 100644 --- a/src/ui/screen/screen_apperance.cpp +++ b/src/ui/screen/screen_apperance.cpp @@ -164,13 +164,13 @@ void CScreenApperance::CreateInterface() pb = pw->CreateButton(pos, ddim, 43, EVENT_INTERFACE_PFACE1); pb->SetState(STATE_SHADOW); pos.x += 50.0f/640.0f; - pb = pw->CreateButton(pos, ddim, 46, EVENT_INTERFACE_PFACE4); + pb = pw->CreateButton(pos, ddim, 44, EVENT_INTERFACE_PFACE2); pb->SetState(STATE_SHADOW); pos.x += 50.0f/640.0f; pb = pw->CreateButton(pos, ddim, 45, EVENT_INTERFACE_PFACE3); pb->SetState(STATE_SHADOW); pos.x += 50.0f/640.0f; - pb = pw->CreateButton(pos, ddim, 44, EVENT_INTERFACE_PFACE2); + pb = pw->CreateButton(pos, ddim, 46, EVENT_INTERFACE_PFACE4); pb->SetState(STATE_SHADOW); // Glasses @@ -349,6 +349,7 @@ bool CScreenApperance::EventProcess(const Event &event) case EVENT_INTERFACE_PFACE3: case EVENT_INTERFACE_PFACE4: apperance.face = event.type-EVENT_INTERFACE_PFACE1; + apperance.DefHairColor(); UpdatePerso(); m_main->ScenePerso(); break;