Change all skins to get font colors from fallback settings (Fixes #704)

deque
scrawl 10 years ago
parent 25e96b8c7b
commit e42cb8020e

@ -25,6 +25,16 @@
#include "journalbooks.hpp" // to_utf8_span #include "journalbooks.hpp" // to_utf8_span
namespace
{
MyGUI::Colour getTextColour (const std::string& type)
{
return MyGUI::Colour::parse(MyGUI::LanguageManager::getInstance().replaceTags("#{fontcolour=" + type + "}"));
}
}
namespace MWGui namespace MWGui
{ {
@ -102,7 +112,7 @@ namespace MWGui
void Response::write(BookTypesetter::Ptr typesetter, KeywordSearchT* keywordSearch, std::map<std::string, Link*>& topicLinks) const void Response::write(BookTypesetter::Ptr typesetter, KeywordSearchT* keywordSearch, std::map<std::string, Link*>& topicLinks) const
{ {
BookTypesetter::Style* title = typesetter->createStyle("", MyGUI::Colour(223/255.f, 201/255.f, 159/255.f)); BookTypesetter::Style* title = typesetter->createStyle("", getTextColour("header"));
typesetter->sectionBreak(9); typesetter->sectionBreak(9);
if (mTitle != "") if (mTitle != "")
typesetter->write(title, to_utf8_span(mTitle.c_str())); typesetter->write(title, to_utf8_span(mTitle.c_str()));
@ -146,14 +156,14 @@ namespace MWGui
if (hyperLinks.size() && MWBase::Environment::get().getWindowManager()->getTranslationDataStorage().hasTranslation()) if (hyperLinks.size() && MWBase::Environment::get().getWindowManager()->getTranslationDataStorage().hasTranslation())
{ {
BookTypesetter::Style* style = typesetter->createStyle("", MyGUI::Colour(202/255.f, 165/255.f, 96/255.f)); BookTypesetter::Style* style = typesetter->createStyle("", getTextColour("normal"));
size_t formatted = 0; // points to the first character that is not laid out yet size_t formatted = 0; // points to the first character that is not laid out yet
for (std::map<Range, intptr_t>::iterator it = hyperLinks.begin(); it != hyperLinks.end(); ++it) for (std::map<Range, intptr_t>::iterator it = hyperLinks.begin(); it != hyperLinks.end(); ++it)
{ {
intptr_t topicId = it->second; intptr_t topicId = it->second;
const MyGUI::Colour linkHot (143/255.f, 155/255.f, 218/255.f); const MyGUI::Colour linkHot (getTextColour("link_over"));
const MyGUI::Colour linkNormal (112/255.f, 126/255.f, 207/255.f); const MyGUI::Colour linkNormal (getTextColour("link"));
const MyGUI::Colour linkActive (175/255.f, 184/255.f, 228/255.f); const MyGUI::Colour linkActive (getTextColour("link_pressed"));
BookTypesetter::Style* hotStyle = typesetter->createHotStyle (style, linkNormal, linkHot, linkActive, topicId); BookTypesetter::Style* hotStyle = typesetter->createHotStyle (style, linkNormal, linkHot, linkActive, topicId);
if (formatted < it->first.first) if (formatted < it->first.first)
typesetter->write(style, formatted, it->first.first); typesetter->write(style, formatted, it->first.first);
@ -185,11 +195,11 @@ namespace MWGui
void Response::addTopicLink(BookTypesetter::Ptr typesetter, intptr_t topicId, size_t begin, size_t end) const void Response::addTopicLink(BookTypesetter::Ptr typesetter, intptr_t topicId, size_t begin, size_t end) const
{ {
BookTypesetter::Style* style = typesetter->createStyle("", MyGUI::Colour(202/255.f, 165/255.f, 96/255.f)); BookTypesetter::Style* style = typesetter->createStyle("", getTextColour("normal"));
const MyGUI::Colour linkHot (143/255.f, 155/255.f, 218/255.f); const MyGUI::Colour linkHot (getTextColour("link_over"));
const MyGUI::Colour linkNormal (112/255.f, 126/255.f, 207/255.f); const MyGUI::Colour linkNormal (getTextColour("link"));
const MyGUI::Colour linkActive (175/255.f, 184/255.f, 228/255.f); const MyGUI::Colour linkActive (getTextColour("link_pressed"));
if (topicId) if (topicId)
style = typesetter->createHotStyle (style, linkNormal, linkHot, linkActive, topicId); style = typesetter->createHotStyle (style, linkNormal, linkHot, linkActive, topicId);
@ -203,7 +213,7 @@ namespace MWGui
void Message::write(BookTypesetter::Ptr typesetter, KeywordSearchT* keywordSearch, std::map<std::string, Link*>& topicLinks) const void Message::write(BookTypesetter::Ptr typesetter, KeywordSearchT* keywordSearch, std::map<std::string, Link*>& topicLinks) const
{ {
BookTypesetter::Style* title = typesetter->createStyle("", MyGUI::Colour(223/255.f, 201/255.f, 159/255.f)); BookTypesetter::Style* title = typesetter->createStyle("", getTextColour("notify"));
typesetter->sectionBreak(9); typesetter->sectionBreak(9);
typesetter->write(title, to_utf8_span(mText.c_str())); typesetter->write(title, to_utf8_span(mText.c_str()));
} }
@ -506,9 +516,9 @@ namespace MWGui
typesetter->sectionBreak(9); typesetter->sectionBreak(9);
// choices // choices
const MyGUI::Colour linkHot (223/255.f, 201/255.f, 159/255.f); const MyGUI::Colour linkHot (getTextColour("answer_over"));
const MyGUI::Colour linkNormal (150/255.f, 50/255.f, 30/255.f); const MyGUI::Colour linkNormal (getTextColour("answer"));
const MyGUI::Colour linkActive (243/255.f, 237/255.f, 221/255.f); const MyGUI::Colour linkActive (getTextColour("answer_pressed"));
for (std::vector<std::pair<std::string, int> >::iterator it = mChoices.begin(); it != mChoices.end(); ++it) for (std::vector<std::pair<std::string, int> >::iterator it = mChoices.begin(); it != mChoices.end(); ++it)
{ {
Choice* link = new Choice(it->second); Choice* link = new Choice(it->second);
@ -621,8 +631,7 @@ namespace MWGui
dispositionVisible = true; dispositionVisible = true;
mDispositionBar->setProgressRange(100); mDispositionBar->setProgressRange(100);
mDispositionBar->setProgressPosition(MWBase::Environment::get().getMechanicsManager()->getDerivedDisposition(mPtr)); mDispositionBar->setProgressPosition(MWBase::Environment::get().getMechanicsManager()->getDerivedDisposition(mPtr));
mDispositionText->eraseText(0, mDispositionText->getTextLength()); mDispositionText->setCaption(boost::lexical_cast<std::string>(MWBase::Environment::get().getMechanicsManager()->getDerivedDisposition(mPtr))+std::string("/100"));
mDispositionText->addText("#B29154"+boost::lexical_cast<std::string>(MWBase::Environment::get().getMechanicsManager()->getDerivedDisposition(mPtr))+std::string("/100")+"#B29154");
} }
bool dispositionWasVisible = mDispositionBar->getVisible(); bool dispositionWasVisible = mDispositionBar->getVisible();
@ -666,8 +675,7 @@ namespace MWGui
+ MWBase::Environment::get().getDialogueManager()->getTemporaryDispositionChange())); + MWBase::Environment::get().getDialogueManager()->getTemporaryDispositionChange()));
mDispositionBar->setProgressRange(100); mDispositionBar->setProgressRange(100);
mDispositionBar->setProgressPosition(disp); mDispositionBar->setProgressPosition(disp);
mDispositionText->eraseText(0, mDispositionText->getTextLength()); mDispositionText->setCaption(boost::lexical_cast<std::string>(disp)+std::string("/100"));
mDispositionText->addText("#B29154"+boost::lexical_cast<std::string>(disp)+std::string("/100")+"#B29154");
} }
} }
} }

@ -1,10 +1,13 @@
#include "journalbooks.hpp" #include "journalbooks.hpp"
#include <MyGUI_LanguageManager.h>
namespace namespace
{ {
const MyGUI::Colour linkHot (0.40f, 0.40f, 0.80f); MyGUI::Colour getTextColour (const std::string& type)
const MyGUI::Colour linkNormal (0.20f, 0.20f, 0.60f); {
const MyGUI::Colour linkActive (0.50f, 0.50f, 1.00f); return MyGUI::Colour::parse(MyGUI::LanguageManager::getInstance().replaceTags("#{fontcolour=" + type + "}"));
}
struct AddContent struct AddContent
{ {
@ -28,6 +31,10 @@ namespace
{ {
MWGui::BookTypesetter::Style* style = mBodyStyle; MWGui::BookTypesetter::Style* style = mBodyStyle;
static const MyGUI::Colour linkHot (getTextColour("journal_link_over"));
static const MyGUI::Colour linkNormal (getTextColour("journal_link"));
static const MyGUI::Colour linkActive (getTextColour("journal_link_pressed"));
if (topicId) if (topicId)
style = mTypesetter->createHotStyle (mBodyStyle, linkNormal, linkHot, linkActive, topicId); style = mTypesetter->createHotStyle (mBodyStyle, linkNormal, linkHot, linkActive, topicId);
@ -132,22 +139,6 @@ namespace
mTypesetter->sectionBreak (10); mTypesetter->sectionBreak (10);
} }
}; };
struct AddTopicLink : AddContent
{
AddTopicLink (MWGui::BookTypesetter::Ptr typesetter, MWGui::BookTypesetter::Style* style) :
AddContent (typesetter, style)
{
}
void operator () (MWGui::JournalViewModel::TopicId topicId, MWGui::JournalViewModel::Utf8Span name)
{
MWGui::BookTypesetter::Style* link = mTypesetter->createHotStyle (mBodyStyle, MyGUI::Colour::Black, linkHot, linkActive, topicId);
mTypesetter->write (link, name);
mTypesetter->lineBreak ();
}
};
} }
namespace MWGui namespace MWGui
@ -242,7 +233,11 @@ book JournalBooks::createTopicIndexBook ()
sprintf (buffer, "( %c )", ch); sprintf (buffer, "( %c )", ch);
BookTypesetter::Style* style = typesetter->createHotStyle (body, MyGUI::Colour::Black, linkHot, linkActive, ch); MyGUI::Colour linkHot (getTextColour("journal_topic_over"));
MyGUI::Colour linkActive (getTextColour("journal_topic_pressed"));
MyGUI::Colour linkNormal (getTextColour("journal_topic"));
BookTypesetter::Style* style = typesetter->createHotStyle (body, linkNormal, linkHot, linkActive, ch);
if (i == 13) if (i == 13)
typesetter->sectionBreak (); typesetter->sectionBreak ();

@ -600,7 +600,7 @@ namespace MWGui
for (std::vector<std::string>::const_iterator it = powers.begin(); it != powers.end(); ++it) for (std::vector<std::string>::const_iterator it = powers.begin(); it != powers.end(); ++it)
{ {
const ESM::Spell* spell = esmStore.get<ESM::Spell>().find(*it); const ESM::Spell* spell = esmStore.get<ESM::Spell>().find(*it);
MyGUI::Button* t = mMagicList->createWidget<MyGUI::Button>("SpellText", MyGUI::Button* t = mMagicList->createWidget<MyGUI::Button>("SandTextButton",
MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top); MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top);
t->setCaption(spell->mName); t->setCaption(spell->mName);
t->setTextAlign(MyGUI::Align::Left); t->setTextAlign(MyGUI::Align::Left);
@ -617,7 +617,7 @@ namespace MWGui
for (std::vector<std::string>::const_iterator it = spellList.begin(); it != spellList.end(); ++it) for (std::vector<std::string>::const_iterator it = spellList.begin(); it != spellList.end(); ++it)
{ {
const ESM::Spell* spell = esmStore.get<ESM::Spell>().find(*it); const ESM::Spell* spell = esmStore.get<ESM::Spell>().find(*it);
MyGUI::Button* t = mMagicList->createWidget<MyGUI::Button>("SpellText", MyGUI::Button* t = mMagicList->createWidget<MyGUI::Button>("SandTextButton",
MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top); MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top);
t->setCaption(spell->mName); t->setCaption(spell->mName);
t->setTextAlign(MyGUI::Align::Left); t->setTextAlign(MyGUI::Align::Left);
@ -648,7 +648,7 @@ namespace MWGui
} }
} }
MyGUI::Button* t = mMagicList->createWidget<MyGUI::Button>(equipped ? "SpellText" : "SpellTextUnequipped", MyGUI::Button* t = mMagicList->createWidget<MyGUI::Button>(equipped ? "SandTextButton" : "SpellTextUnequipped",
MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top); MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top);
t->setCaption(item.getClass().getName(item)); t->setCaption(item.getClass().getName(item));
t->setTextAlign(MyGUI::Align::Left); t->setTextAlign(MyGUI::Align::Left);

@ -157,7 +157,7 @@ namespace MWGui
for (std::vector<std::string>::const_iterator it = powers.begin(); it != powers.end(); ++it) for (std::vector<std::string>::const_iterator it = powers.begin(); it != powers.end(); ++it)
{ {
const ESM::Spell* spell = esmStore.get<ESM::Spell>().find(*it); const ESM::Spell* spell = esmStore.get<ESM::Spell>().find(*it);
MyGUI::Button* t = mSpellView->createWidget<MyGUI::Button>("SpellText", MyGUI::Button* t = mSpellView->createWidget<MyGUI::Button>("SandTextButton",
MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top); MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top);
t->setCaption(spell->mName); t->setCaption(spell->mName);
t->setTextAlign(MyGUI::Align::Left); t->setTextAlign(MyGUI::Align::Left);
@ -177,7 +177,7 @@ namespace MWGui
for (std::vector<std::string>::const_iterator it = spellList.begin(); it != spellList.end(); ++it) for (std::vector<std::string>::const_iterator it = spellList.begin(); it != spellList.end(); ++it)
{ {
const ESM::Spell* spell = esmStore.get<ESM::Spell>().find(*it); const ESM::Spell* spell = esmStore.get<ESM::Spell>().find(*it);
MyGUI::Button* t = mSpellView->createWidget<MyGUI::Button>("SpellText", MyGUI::Button* t = mSpellView->createWidget<MyGUI::Button>("SandTextButton",
MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top); MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top);
t->setCaption(spell->mName); t->setCaption(spell->mName);
t->setTextAlign(MyGUI::Align::Left); t->setTextAlign(MyGUI::Align::Left);
@ -188,7 +188,7 @@ namespace MWGui
t->setStateSelected(*it == MWBase::Environment::get().getWindowManager()->getSelectedSpell()); t->setStateSelected(*it == MWBase::Environment::get().getWindowManager()->getSelectedSpell());
// cost / success chance // cost / success chance
MyGUI::Button* costChance = mSpellView->createWidget<MyGUI::Button>("SpellText", MyGUI::Button* costChance = mSpellView->createWidget<MyGUI::Button>("SandTextButton",
MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top); MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top);
std::string cost = boost::lexical_cast<std::string>(spell->mData.mCost); std::string cost = boost::lexical_cast<std::string>(spell->mData.mCost);
std::string chance = boost::lexical_cast<std::string>(int(MWMechanics::getSpellSuccessChance(*it, player))); std::string chance = boost::lexical_cast<std::string>(int(MWMechanics::getSpellSuccessChance(*it, player)));
@ -224,7 +224,7 @@ namespace MWGui
} }
} }
MyGUI::Button* t = mSpellView->createWidget<MyGUI::Button>(equipped ? "SpellText" : "SpellTextUnequipped", MyGUI::Button* t = mSpellView->createWidget<MyGUI::Button>(equipped ? "SandTextButton" : "SpellTextUnequipped",
MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top); MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top);
t->setCaption(item.getClass().getName(item)); t->setCaption(item.getClass().getName(item));
t->setTextAlign(MyGUI::Align::Left); t->setTextAlign(MyGUI::Align::Left);
@ -238,7 +238,7 @@ namespace MWGui
// cost / charge // cost / charge
MyGUI::Button* costCharge = mSpellView->createWidget<MyGUI::Button>(equipped ? "SpellText" : "SpellTextUnequipped", MyGUI::Button* costCharge = mSpellView->createWidget<MyGUI::Button>(equipped ? "SandTextButton" : "SpellTextUnequipped",
MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top); MyGUI::IntCoord(4, mHeight, mWidth-8, spellHeight), MyGUI::Align::Left | MyGUI::Align::Top);
float enchantCost = enchant->mData.mCost; float enchantCost = enchant->mData.mCost;

@ -505,30 +505,30 @@ namespace MWGui
std::string text; std::string text;
text += std::string("#DDC79E") + faction->mName; text += std::string("#{fontcolourhtml=header}") + faction->mName;
if (expelled.find(it->first) != expelled.end()) if (expelled.find(it->first) != expelled.end())
text += "\n#BF9959#{sExpelled}"; text += "\n#{fontcolourhtml=normal}#{sExpelled}";
else else
{ {
int rank = it->second; int rank = it->second;
rank = std::max(0, std::min(9, rank)); rank = std::max(0, std::min(9, rank));
text += std::string("\n#BF9959") + faction->mRanks[rank]; text += std::string("\n#{fontcolourhtml=normal}") + faction->mRanks[rank];
if (rank < 9) if (rank < 9)
{ {
// player doesn't have max rank yet // player doesn't have max rank yet
text += std::string("\n\n#DDC79E#{sNextRank} ") + faction->mRanks[rank+1]; text += std::string("\n\n#{fontcolourhtml=header}#{sNextRank} ") + faction->mRanks[rank+1];
ESM::RankData rankData = faction->mData.mRankData[rank+1]; ESM::RankData rankData = faction->mData.mRankData[rank+1];
const ESM::Attribute* attr1 = store.get<ESM::Attribute>().find(faction->mData.mAttribute[0]); const ESM::Attribute* attr1 = store.get<ESM::Attribute>().find(faction->mData.mAttribute[0]);
const ESM::Attribute* attr2 = store.get<ESM::Attribute>().find(faction->mData.mAttribute[1]); const ESM::Attribute* attr2 = store.get<ESM::Attribute>().find(faction->mData.mAttribute[1]);
text += "\n#BF9959#{" + attr1->mName + "}: " + boost::lexical_cast<std::string>(rankData.mAttribute1) text += "\n#{fontcolourhtml=normal}#{" + attr1->mName + "}: " + boost::lexical_cast<std::string>(rankData.mAttribute1)
+ ", #{" + attr2->mName + "}: " + boost::lexical_cast<std::string>(rankData.mAttribute2); + ", #{" + attr2->mName + "}: " + boost::lexical_cast<std::string>(rankData.mAttribute2);
text += "\n\n#DDC79E#{sFavoriteSkills}"; text += "\n\n#{fontcolourhtml=header}#{sFavoriteSkills}";
text += "\n#BF9959"; text += "\n#{fontcolourhtml=normal}";
bool firstSkill = true; bool firstSkill = true;
for (int i=0; i<7; ++i) for (int i=0; i<7; ++i)
{ {

@ -654,7 +654,7 @@ namespace MWGui
std::string text; std::string text;
text += sign->mName; text += sign->mName;
text += "\n#BF9959" + sign->mDescription; text += "\n#{fontcolourhtml=normal}" + sign->mDescription;
std::vector<std::string> abilities, powers, spells; std::vector<std::string> abilities, powers, spells;
@ -694,13 +694,13 @@ namespace MWGui
{ {
if (it == categories[category].spells.begin()) if (it == categories[category].spells.begin())
{ {
text += std::string("\n#DDC79E") + std::string("#{") + categories[category].label + "}"; text += std::string("\n#{fontcolourhtml=header}") + std::string("#{") + categories[category].label + "}";
} }
const std::string &spellId = *it; const std::string &spellId = *it;
const ESM::Spell *spell = store.get<ESM::Spell>().find(spellId); const ESM::Spell *spell = store.get<ESM::Spell>().find(spellId);
text += "\n#BF9959" + spell->mName; text += "\n#{fontcolourhtml=normal}" + spell->mName;
} }
} }

@ -994,11 +994,14 @@ namespace MWGui
std::string fontcolour = "fontcolour="; std::string fontcolour = "fontcolour=";
size_t fontcolourLength = fontcolour.length(); size_t fontcolourLength = fontcolour.length();
if (tag.substr(0, tokenLength) == tokenToFind) std::string fontcolourhtml = "fontcolourhtml=";
size_t fontcolourhtmlLength = fontcolourhtml.length();
if (tag.compare(0, tokenLength, tokenToFind) == 0)
{ {
_result = mTranslationDataStorage.translateCellName(tag.substr(tokenLength)); _result = mTranslationDataStorage.translateCellName(tag.substr(tokenLength));
} }
else if (tag.substr(0, fontcolourLength) == fontcolour) else if (tag.compare(0, fontcolourLength, fontcolour) == 0)
{ {
std::string fallbackName = "FontColor_color_" + tag.substr(fontcolourLength); std::string fallbackName = "FontColor_color_" + tag.substr(fontcolourLength);
std::map<std::string, std::string>::const_iterator it = mFallbackMap.find(fallbackName); std::map<std::string, std::string>::const_iterator it = mFallbackMap.find(fallbackName);
@ -1015,6 +1018,24 @@ namespace MWGui
MyGUI::Colour col (MyGUI::utility::parseInt(ret[0])/255.f,MyGUI::utility::parseInt(ret[1])/255.f,MyGUI::utility::parseInt(ret[2])/255.f); MyGUI::Colour col (MyGUI::utility::parseInt(ret[0])/255.f,MyGUI::utility::parseInt(ret[1])/255.f,MyGUI::utility::parseInt(ret[2])/255.f);
_result = col.print(); _result = col.print();
} }
else if (tag.compare(0, fontcolourhtmlLength, fontcolourhtml) == 0)
{
std::string fallbackName = "FontColor_color_" + tag.substr(fontcolourhtmlLength);
std::map<std::string, std::string>::const_iterator it = mFallbackMap.find(fallbackName);
if (it == mFallbackMap.end())
throw std::runtime_error("Unknown fallback name: " + fallbackName);
std::string str = it->second;
std::string ret[3];
unsigned int j=0;
for(unsigned int i=0;i<str.length();++i){
if(str[i]==',') j++;
else if (str[i] != ' ') ret[j]+=str[i];
}
std::stringstream html;
html << "#" << std::hex << MyGUI::utility::parseInt(ret[0]) << MyGUI::utility::parseInt(ret[1]) << MyGUI::utility::parseInt(ret[2]);
_result = html.str();
}
else else
{ {
const ESM::GameSetting *setting = const ESM::GameSetting *setting =

@ -446,7 +446,9 @@ namespace MWGui
* #{GMSTName}: retrieves String value of the GMST called GMSTName * #{GMSTName}: retrieves String value of the GMST called GMSTName
* #{sCell=CellID}: retrieves translated name of the given CellID (used only by some Morrowind localisations, in others cell ID is == cell name) * #{sCell=CellID}: retrieves translated name of the given CellID (used only by some Morrowind localisations, in others cell ID is == cell name)
* #{fontcolour=FontColourName}: retrieves the value of the fallback setting "FontColor_color_<FontColourName>" from openmw.cfg, * #{fontcolour=FontColourName}: retrieves the value of the fallback setting "FontColor_color_<FontColourName>" from openmw.cfg,
* in the format "r g b a", float values in range 0-1. * in the format "r g b a", float values in range 0-1. Useful for "Colour" and "TextColour" properties in skins.
* #{fontcolourhtml=FontColourName}: retrieves the value of the fallback setting "FontColor_color_<FontColourName>" from openmw.cfg,
* in the format "#xxxxxx" where x are hexadecimal numbers. Useful in an EditBox's caption to change the color of following text.
*/ */
void onRetrieveTag(const MyGUI::UString& _tag, MyGUI::UString& _result); void onRetrieveTag(const MyGUI::UString& _tag, MyGUI::UString& _result);

@ -870,10 +870,9 @@ void RenderingManager::processChangedSettings(const Settings::CategorySettingVec
void RenderingManager::setMenuTransparency(float val) void RenderingManager::setMenuTransparency(float val)
{ {
Ogre::TexturePtr tex = Ogre::TextureManager::getSingleton().getByName("transparent.png"); Ogre::TexturePtr tex = Ogre::TextureManager::getSingleton().getByName("transparent.png"); std::vector<Ogre::uint32> buffer;
std::vector<Ogre::uint32> buffer;
buffer.resize(1); buffer.resize(1);
buffer[0] = (int(255*val) << 24); buffer[0] = (int(255*val) << 24) | (255 << 16) | (255 << 8) | 255;
memcpy(tex->getBuffer()->lock(Ogre::HardwareBuffer::HBL_DISCARD), &buffer[0], 1*4); memcpy(tex->getBuffer()->lock(Ogre::HardwareBuffer::HBL_DISCARD), &buffer[0], 1*4);
tex->getBuffer()->unlock(); tex->getBuffer()->unlock();
} }

@ -5,6 +5,7 @@ set(DDIR ${OpenMW_BINARY_DIR}/resources/mygui)
set(MYGUI_FILES set(MYGUI_FILES
black.png black.png
white.png
core.skin core.skin
core.xml core.xml
openmw_alchemy_window.layout openmw_alchemy_window.layout

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Skin"> <MyGUI type="Skin" version="3.2.1">
<Skin name = "TextBox" size = "16 16"> <Skin name = "TextBox" size = "16 16">
<Property key="FontHeight" value = "16" /> <Property key="FontHeight" value = "16" />
<Property key="TextAlign" value = "ALIGN_DEFAULT" /> <Property key="TextAlign" value = "ALIGN_DEFAULT" />

@ -3,7 +3,7 @@
<!-- This file defines the box you see around many GUI elements, such <!-- This file defines the box you see around many GUI elements, such
as around the sections of the stats window, or around popup info windows --> as around the sections of the stats window, or around popup info windows -->
<MyGUI type="Skin"> <MyGUI type="Skin" version="3.2.1">
<!-- Box borders --> <!-- Box borders -->
<Skin name="IB_T" size="512 2" texture="textures\menu_thin_border_top.dds"> <Skin name="IB_T" size="512 2" texture="textures\menu_thin_border_top.dds">
<BasisSkin type="TileRect" offset="0 0 512 2" align="HStretch"> <BasisSkin type="TileRect" offset="0 0 512 2" align="HStretch">

@ -3,10 +3,9 @@
<Widget type="Window" skin="MW_Dialog" layer="Windows" position="0 0 498 198" name="_Main"> <Widget type="Window" skin="MW_Dialog" layer="Windows" position="0 0 498 198" name="_Main">
<!-- Class name --> <!-- Class name -->
<Widget type="TextBox" skin="ProgressText" position="8 8 48 23" name="LabelT" align="Left Top"> <Widget type="TextBox" skin="NormalText" position="8 8 48 23" name="LabelT" align="Left Top">
<Property key="Caption" value="#{sName}:"/> <Property key="Caption" value="#{sName}:"/>
<Property key="TextAlign" value="Left VCenter"/> <Property key="TextAlign" value="Left VCenter"/>
<Property key="TextColour" value="0.82 0.74 0.58"/>
</Widget> </Widget>
<Widget type="EditBox" skin="MW_TextEdit" position="72 8 410 23" name="EditName" align="HStretch Top"> <Widget type="EditBox" skin="MW_TextEdit" position="72 8 410 23" name="EditName" align="HStretch Top">
<Property key="Caption" value="#{sCustomClassName}"/> <Property key="Caption" value="#{sCustomClassName}"/>

@ -7,7 +7,6 @@
<Widget type="EditBox" skin="MW_TextEditClient" position="16 8 268 130" name="Message" align="Center Top"> <Widget type="EditBox" skin="MW_TextEditClient" position="16 8 268 130" name="Message" align="Center Top">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Top HCenter"/> <Property key="TextAlign" value="Top HCenter"/>
<Property key="TextColour" value="0.75 0.6 0.35"/>
<Property key="Static" value="true"/> <Property key="Static" value="true"/>
<Property key="WordWrap" value="true"/> <Property key="WordWrap" value="true"/>
<Property key="MultiLine" value="true"/> <Property key="MultiLine" value="true"/>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Skin"> <MyGUI type="Skin" version="3.2.1">
<!-- Console Input --> <!-- Console Input -->

@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Skin"> <MyGUI type="Skin" version="3.2.1">
<Skin name="MW_DispEdit" size="10 10">
<BasisSkin type="EditText" offset="0 0 10 10" align="Stretch"/>
</Skin>
<Skin name="MW_DispositionEdit" size="0 0 50 50"> <Skin name="MW_DispositionEdit" size="0 0 50 50">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
@ -12,7 +8,7 @@
<Property key="Static" value="1"/> <Property key="Static" value="1"/>
<Property key="WordWrap" value="true"/> <Property key="WordWrap" value="true"/>
<Property key="TextShadow" value="true"/> <Property key="TextShadow" value="true"/>
<Child type="TextBox" skin="MW_DispEdit" offset="0 0 0 -4" align="Stretch" name="Client"/> <Child type="TextBox" skin="SandText" offset="0 0 0 -4" align="Stretch" name="Client"/>
</Skin> </Skin>
</MyGUI> </MyGUI>

@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Skin"> <MyGUI type="Skin" version="3.2.1">
<!-- Text edit widget --> <!-- Text edit widget -->
<Skin name="MW_TextEditClient" size="10 10"> <Skin name="MW_TextEditClient" size="10 10">
<Property key="TextColour" value="#{fontcolour=normal}"/>
<BasisSkin type="EditText" offset="0 0 10 10" align="Stretch"/> <BasisSkin type="EditText" offset="0 0 10 10" align="Stretch"/>
@ -20,7 +21,7 @@
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Left VCenter"/> <Property key="TextAlign" value="Left VCenter"/>
<Property key="TextColour" value="0.75 0.6 0.35"/> <Property key="TextColour" value="#{fontcolour=normal}"/>
<Child type="TextBox" skin="MW_TextEditClient" offset="4 1 502 18" align="Stretch" name="Client"/> <Child type="TextBox" skin="MW_TextEditClient" offset="4 1 502 18" align="Stretch" name="Client"/>
@ -32,7 +33,7 @@
<Property key="TextAlign" value="Left Top"/> <Property key="TextAlign" value="Left Top"/>
<Property key="TextColour" value="0.75 0.6 0.35"/> <Property key="TextColour" value="#{fontcolour=normal}"/>
<Child type="TextBox" skin="MW_TextEditClient" offset="2 2 490 18" align="Stretch" name="Client"/> <Child type="TextBox" skin="MW_TextEditClient" offset="2 2 490 18" align="Stretch" name="Client"/>
@ -49,7 +50,7 @@
<Property key="TextAlign" value="Left Top"/> <Property key="TextAlign" value="Left Top"/>
<Property key="TextColour" value="0.75 0.6 0.35"/> <Property key="TextColour" value="#{fontcolour=normal}"/>
<Child type="TextBox" skin="MW_TextEditClient" offset="2 2 490 18" align="Stretch" name="Client"/> <Child type="TextBox" skin="MW_TextEditClient" offset="2 2 490 18" align="Stretch" name="Client"/>

@ -63,7 +63,7 @@
<Property key="NeedMouse" value="false"/> <Property key="NeedMouse" value="false"/>
</Widget> </Widget>
</Widget> </Widget>
<Widget type="ProgressBar" skin="MW_EnergyBar_Red" position="0 36 36 6" align="Left Bottom" name="WeapStatus"> <Widget type="ProgressBar" skin="MW_EnergyBar_Weapon" position="0 36 36 6" align="Left Bottom" name="WeapStatus">
<Property key="NeedMouse" value="false"/> <Property key="NeedMouse" value="false"/>
</Widget> </Widget>
</Widget> </Widget>
@ -74,7 +74,7 @@
<Widget type="ItemWidget" skin="MW_ItemIcon" position="-3 -3 42 42" align="Left Top" name="SpellImage"/> <Widget type="ItemWidget" skin="MW_ItemIcon" position="-3 -3 42 42" align="Left Top" name="SpellImage"/>
<Property key="NeedMouse" value="false"/> <Property key="NeedMouse" value="false"/>
</Widget> </Widget>
<Widget type="ProgressBar" skin="MW_EnergyBar_Red" position="0 36 36 6" align="Left Bottom" name="SpellStatus"> <Widget type="ProgressBar" skin="MW_EnergyBar_Magic" position="0 36 36 6" align="Left Bottom" name="SpellStatus">
<Property key="NeedMouse" value="false"/> <Property key="NeedMouse" value="false"/>
</Widget> </Widget>
</Widget> </Widget>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Skin"> <MyGUI type="Skin" version="3.2.1">
<!-- The 'box' frame that surrounds various HUD items and other elements --> <!-- The 'box' frame that surrounds various HUD items and other elements -->

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Skin"> <MyGUI type="Skin" version="3.2.1">
<!-- Energy bar frame graphics --> <!-- Energy bar frame graphics -->
<Skin name="HUD_Bar_Top" size="64 2" texture="textures\menu_small_energy_bar_top.dds"> <Skin name="HUD_Bar_Top" size="64 2" texture="textures\menu_small_energy_bar_top.dds">
<BasisSkin type="MainSkin" offset="0 0 64 2"> <BasisSkin type="MainSkin" offset="0 0 64 2">
@ -20,19 +20,19 @@
<!-- Progress bar track, various colors --> <!-- Progress bar track, various colors -->
<Skin name="MW_BarTrack_Red" size="4 8" texture="textures\menu_bar_gray.dds" > <Skin name="MW_BarTrack_Red" size="4 8" texture="textures\menu_bar_gray.dds" >
<Property key="Colour" value="0.8274 0.2431 0.129"/> <Property key="Colour" value="#{fontcolour=health}"/>
<BasisSkin type="MainSkin" offset="0 0 16 8" align="Stretch"> <BasisSkin type="MainSkin" offset="0 0 16 8" align="Stretch">
<State name="normal" offset="0 0 16 8"/> <State name="normal" offset="0 0 16 8"/>
</BasisSkin> </BasisSkin>
</Skin> </Skin>
<Skin name="MW_BarTrack_Green" size="4 8" texture="textures\menu_bar_gray.dds" > <Skin name="MW_BarTrack_Green" size="4 8" texture="textures\menu_bar_gray.dds" >
<Property key="Colour" value="0 0.6823 0.2745"/> <Property key="Colour" value="#{fontcolour=fatigue}"/>
<BasisSkin type="MainSkin" offset="0 0 16 8" align="Stretch"> <BasisSkin type="MainSkin" offset="0 0 16 8" align="Stretch">
<State name="normal" offset="0 0 16 8"/> <State name="normal" offset="0 0 16 8"/>
</BasisSkin> </BasisSkin>
</Skin> </Skin>
<Skin name="MW_BarTrack_Blue" size="4 8" texture="textures\menu_bar_gray.dds" > <Skin name="MW_BarTrack_Blue" size="4 8" texture="textures\menu_bar_gray.dds" >
<Property key="Colour" value="0.2470 0.3176 0.7411"/> <Property key="Colour" value="#{fontcolour=magic}"/>
<BasisSkin type="MainSkin" offset="0 0 16 8" align="Stretch"> <BasisSkin type="MainSkin" offset="0 0 16 8" align="Stretch">
<State name="normal" offset="0 0 16 8"/> <State name="normal" offset="0 0 16 8"/>
</BasisSkin> </BasisSkin>
@ -44,7 +44,35 @@
</BasisSkin> </BasisSkin>
</Skin> </Skin>
<!-- Main energy bar widget definitions. There's one for each color.-->
<Skin name="MW_BarTrack_Magic" size="4 8" texture="textures\menu_bar_gray.dds" >
<Property key="Colour" value="#{fontcolour=magic_fill}"/>
<BasisSkin type="MainSkin" offset="0 0 16 8" align="Stretch">
<State name="normal" offset="0 0 16 8"/>
</BasisSkin>
</Skin>
<Skin name="MW_BarTrack_Weapon" size="4 8" texture="textures\menu_bar_gray.dds" >
<Property key="Colour" value="#{fontcolour=weapon_fill}"/>
<BasisSkin type="MainSkin" offset="0 0 16 8" align="Stretch">
<State name="normal" offset="0 0 16 8"/>
</BasisSkin>
</Skin>
<Skin name="MW_EnergyBar_Magic" size="64 12">
<Property key="TrackSkin" value="MW_BarTrack_Magic"/>
<Property key="TrackWidth" value="1"/>
<Child type="Widget" skin="MW_Box" offset="0 0 64 12" align="Stretch"/>
<Child type="Widget" skin="BlackBG" offset="2 2 60 8" align="Stretch" name="Client"/>
</Skin>
<Skin name="MW_EnergyBar_Weapon" size="64 12">
<Property key="TrackSkin" value="MW_BarTrack_Weapon"/>
<Property key="TrackWidth" value="1"/>
<Child type="Widget" skin="MW_Box" offset="0 0 64 12" align="Stretch"/>
<Child type="Widget" skin="BlackBG" offset="2 2 60 8" align="Stretch" name="Client"/>
</Skin>
<Skin name="MW_EnergyBar_Red" size="64 12"> <Skin name="MW_EnergyBar_Red" size="64 12">
<Property key="TrackSkin" value="MW_BarTrack_Red"/> <Property key="TrackSkin" value="MW_BarTrack_Red"/>

@ -5,14 +5,12 @@
<Widget type="EditBox" skin="MW_TextEditClient" position="10 10 490 20" align="Left Top Stretch" name="message"> <Widget type="EditBox" skin="MW_TextEditClient" position="10 10 490 20" align="Left Top Stretch" name="message">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Center"/> <Property key="TextAlign" value="Center"/>
<Property key="TextColour" value="0.75 0.6 0.35"/>
<Property key="Static" value="true"/> <Property key="Static" value="true"/>
<Property key="WordWrap" value="true"/> <Property key="WordWrap" value="true"/>
<Property key="MultiLine" value="1"/> <Property key="MultiLine" value="1"/>
<Property key="VisibleVScroll" value="1"/> <Property key="VisibleVScroll" value="1"/>
</Widget> </Widget>
<Widget type="Widget" skin="" position="0 0 500 400" align="Stretch" name="buttons"> <Widget type="Widget" skin="" position="0 0 500 400" align="Stretch" name="buttons">
<!-- Widget type="Button" skin="MW_Button" position="0 0 30 18" name="somefunnybutton" / -->
</Widget> </Widget>
</Widget> </Widget>
</MyGUI> </MyGUI>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Skin"> <MyGUI type="Skin" version="3.2.1">
<Skin name="MW_BookClient" size="10 10"> <Skin name="MW_BookClient" size="10 10">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Left Top"/> <Property key="TextAlign" value="Left Top"/>
@ -25,14 +25,12 @@
<Property key="TextAlign" value="Left VCenter"/> <Property key="TextAlign" value="Left VCenter"/>
<BasisSkin type="SimpleText" offset="2 0 1 5" align="Stretch"> <BasisSkin type="SimpleText" offset="2 0 1 5" align="Stretch">
<State name="disabled" colour="0 0 0" shift="0"/> <State name="normal" colour="#{fontcolour=journal_topic}" shift="0"/>
<State name="normal" colour="0 0 0" shift="0"/> <State name="highlighted" colour="#{fontcolour=journal_topic_over}" shift="0"/>
<State name="highlighted" colour="0.4 0.4 0.8" shift="0"/> <State name="pushed" colour="#{fontcolour=journal_topic_pressed}" shift="0"/>
<State name="pushed" colour="0.5 0.5 1" shift="0"/> <State name="normal_checked" colour="#{fontcolour=journal_topic_pressed}" shift="0"/>
<State name="disabled_checked" colour="0 0 0" shift="0"/> <State name="highlighted_checked" colour="#{fontcolour=journal_topic_pressed}" shift="0"/>
<State name="normal_checked" colour="0 0 0" shift="0"/> <State name="pushed_checked" colour="#{fontcolour=journal_topic_pressed}" shift="0"/>
<State name="highlighted_checked" colour="0.4 0.4 0.8" shift="0"/>
<State name="pushed_checked" colour="0.5 0.5 1" shift="0"/>
</BasisSkin> </BasisSkin>
</Skin> </Skin>
</MyGUI> </MyGUI>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Skin"> <MyGUI type="Skin" version="3.2.1">
<!-- Horizontal Scrollbar --> <!-- Horizontal Scrollbar -->
@ -99,26 +99,26 @@
<Skin name="HeaderText" size="16 16"> <Skin name="HeaderText" size="16 16">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Center"/> <Property key="TextAlign" value="Center"/>
<Property key="TextColour" value="0.82 0.74 0.58"/> <Property key="TextColour" value="#{fontcolour=header}"/>
<BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch"/> <BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch"/>
</Skin> </Skin>
<!-- list and multilist skins --> <!-- list skin -->
<Skin name="MW_ListLine" size="5 5"> <Skin name="MW_ListLine" size="5 5">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Left VCenter"/> <Property key="TextAlign" value="Left VCenter"/>
<BasisSkin type="SimpleText" offset="2 0 1 5" align="Stretch"> <BasisSkin type="SimpleText" offset="2 0 1 5" align="Stretch">
<State name="disabled" colour="0.70 0.57 0.33" shift="0"/> <State name="disabled" colour="#{fontcolour=disabled}" shift="0"/>
<State name="normal" colour="0.70 0.57 0.33" shift="0"/> <State name="normal" colour="#{fontcolour=normal}" shift="0"/>
<State name="highlighted" colour="0.85 0.76 0.60" shift="0"/> <State name="highlighted" colour="#{fontcolour=normal_over}" shift="0"/>
<State name="pushed" colour="1 1 1" shift="0"/> <State name="pushed" colour="#{fontcolour=normal_pressed}" shift="0"/>
<State name="disabled_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="disabled_checked" colour="#{fontcolour=disabled}" shift="0"/>
<State name="normal_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="normal_checked" colour="#{fontcolour=active}" shift="0"/>
<State name="highlighted_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="highlighted_checked" colour="#{fontcolour=active_over}" shift="0"/>
<State name="pushed_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="pushed_checked" colour="#{fontcolour=active_pressed}" shift="0"/>
</BasisSkin> </BasisSkin>
</Skin> </Skin>

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Skin"> <MyGUI type="Skin" version="3.2.1">
</MyGUI> </MyGUI>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Skin"> <MyGUI type="Skin" version="3.2.1">
<Skin name="MW_MapView" size="516 516"> <Skin name="MW_MapView" size="516 516">
<Child type="Widget" skin="" offset="0 0 516 516" align="Stretch" name="Client"/> <Child type="Widget" skin="" offset="0 0 516 516" align="Stretch" name="Client"/>

@ -8,7 +8,6 @@
<Widget type="AutoSizedEditBox" skin="MW_TextEditClient" position="0 0 300 0" name="message" align="Left Top"> <Widget type="AutoSizedEditBox" skin="MW_TextEditClient" position="0 0 300 0" name="message" align="Left Top">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Center"/> <Property key="TextAlign" value="Center"/>
<Property key="TextColour" value="0.75 0.6 0.35"/>
<Property key="Static" value="true"/> <Property key="Static" value="true"/>
<Property key="WordWrap" value="true"/> <Property key="WordWrap" value="true"/>
<Property key="MultiLine" value="1"/> <Property key="MultiLine" value="1"/>

@ -1,21 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Skin"> <MyGUI type="Skin" version="3.2.1">
<!-- Progress bar track, various colors --> <!-- Progress bar track, various colors -->
<Skin name="MW_Track_Red" size="16 16" texture="textures\menu_bar_gray.dds" > <Skin name="MW_Track_Red" size="16 16" texture="textures\menu_bar_gray.dds" >
<Property key="Colour" value="0.8274 0.2431 0.129"/> <Property key="Colour" value="#{fontcolour=health}"/>
<BasisSkin type="MainSkin" offset="0 0 16 16" align="Stretch"> <BasisSkin type="MainSkin" offset="0 0 16 16" align="Stretch">
<State name="normal" offset="0 0 16 16"/> <State name="normal" offset="0 0 16 16"/>
</BasisSkin> </BasisSkin>
</Skin> </Skin>
<Skin name="MW_Track_Blue" size="2 14" texture="textures\menu_bar_gray.dds" > <Skin name="MW_Track_Blue" size="2 14" texture="textures\menu_bar_gray.dds" >
<Property key="Colour" value="0.2470 0.3176 0.7411"/> <Property key="Colour" value="#{fontcolour=magic}"/>
<BasisSkin type="MainSkin" offset="0 0 16 16" align="Stretch"> <BasisSkin type="MainSkin" offset="0 0 16 16" align="Stretch">
<State name="normal" offset="0 0 16 16"/> <State name="normal" offset="0 0 16 16"/>
</BasisSkin> </BasisSkin>
</Skin> </Skin>
<Skin name="MW_Track_Green" size="2 14" texture="textures\menu_bar_gray.dds" > <Skin name="MW_Track_Green" size="2 14" texture="textures\menu_bar_gray.dds" >
<Property key="Colour" value="0 0.6823 0.2745"/> <Property key="Colour" value="#{fontcolour=fatigue}"/>
<BasisSkin type="MainSkin" offset="0 0 16 16" align="Stretch"> <BasisSkin type="MainSkin" offset="0 0 16 16" align="Stretch">
<State name="normal" offset="0 0 16 16"/> <State name="normal" offset="0 0 16 16"/>
</BasisSkin> </BasisSkin>
@ -44,7 +44,7 @@
<Skin name="ProgressText" size="16 16"> <Skin name="ProgressText" size="16 16">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Top HCenter"/> <Property key="TextAlign" value="Top HCenter"/>
<Property key="TextColour" value="0.75 0.6 0.35"/> <Property key="TextColour" value="#{fontcolour=normal}"/>
<Property key="TextShadow" value="true"/> <Property key="TextShadow" value="true"/>
<BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch"/> <BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch"/>

@ -322,7 +322,7 @@
<Resource type="ResourceLayout" name="MW_ItemIcon" version="3.2.0"> <Resource type="ResourceLayout" name="MW_ItemIcon" version="3.2.0">
<Widget type="Widget" skin="" position="0 0 42 42" name="Root"> <Widget type="Widget" skin="" position="0 0 42 42" name="Root">
<Widget type="ImageBox" skin="ImageBox" position="0 0 42 42" align="Stretch" name="Frame"> <Widget type="ImageBox" skin="ImageBox" position="0 0 42 42" align="Stretch" name="Frame">
<Widget type="TextBox" skin="SandBrightText" position="5 19 32 18" align="Right Bottom" name="Text"> <Widget type="TextBox" skin="CountText" position="5 19 32 18" align="Right Bottom" name="Text">
<Property key="TextAlign" value="Right"/> <Property key="TextAlign" value="Right"/>
<Property key="TextShadow" value="true"/> <Property key="TextShadow" value="true"/>
</Widget> </Widget>
@ -342,7 +342,7 @@
<Resource type="ResourceLayout" name="MW_ItemIconBox" version="3.2.0"> <Resource type="ResourceLayout" name="MW_ItemIconBox" version="3.2.0">
<Widget type="Widget" skin="" position="0 0 50 50" name="Root"> <Widget type="Widget" skin="" position="0 0 50 50" name="Root">
<Widget type="ImageBox" skin="ImageBox" position="4 4 42 42" align="Center" name="Frame"> <Widget type="ImageBox" skin="ImageBox" position="4 4 42 42" align="Center" name="Frame">
<Widget type="TextBox" skin="SandBrightText" position="5 19 32 18" align="Right Bottom" name="Text"> <Widget type="TextBox" skin="CountText" position="5 19 32 18" align="Right Bottom" name="Text">
<Property key="TextAlign" value="Right"/> <Property key="TextAlign" value="Right"/>
<Property key="TextShadow" value="true"/> <Property key="TextShadow" value="true"/>
</Widget> </Widget>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Skin"> <MyGUI type="Skin" version="3.2.1">
<Skin name="MW_ScrollView" size="516 516"> <Skin name="MW_ScrollView" size="516 516">
<Child type="Widget" skin="" offset="0 0 502 516" align="Stretch" name="Client"/> <Child type="Widget" skin="" offset="0 0 502 516" align="Stretch" name="Client"/>

@ -2,12 +2,20 @@
<MyGUI type="Skin" version="3.2.1"> <MyGUI type="Skin" version="3.2.1">
<!-- HTML colour: #DDC79E --> <!--
Unknown colors from Morrowind.ini:
color_focus=80,80,80 # ????
color_misc=0,205,205 # ????
-->
<Skin name="NormalText" size="16 16"> <Skin name="NormalText" size="16 16">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Left Bottom"/> <Property key="TextAlign" value="Left Bottom"/>
<Property key="TextColour" value="0.87 0.78 0.62"/> <BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch">
<BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch"/> <State name="normal" colour="#{fontcolour=header}" shift="0"/>
</BasisSkin>
</Skin> </Skin>
<Skin name="NumFPS" size="16 16"> <Skin name="NumFPS" size="16 16">
@ -25,35 +33,37 @@
</BasisSkin> </BasisSkin>
</Skin> </Skin>
<Skin name="SandTextC" size="16 16">
<Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Top HCenter"/>
<Property key="TextColour" value="0.75 0.6 0.35"/>
<BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch"/>
</Skin>
<Skin name="SandTextVCenter" size="16 16"> <Skin name="SandTextVCenter" size="16 16">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Left VCenter"/> <Property key="TextAlign" value="Left VCenter"/>
<Property key="TextColour" value="0.75 0.6 0.35"/> <BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch">
<BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch"/> <State name="normal" colour="#{fontcolour=normal}" shift="0"/>
</BasisSkin>
</Skin> </Skin>
<Skin name="SandTextRight" size="16 16"> <Skin name="SandTextRight" size="16 16">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Right Bottom"/> <Property key="TextAlign" value="Right Bottom"/>
<BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch"> <BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch">
<State name="normal" colour="0.75 0.6 0.35"/> <State name="normal" colour="#{fontcolour=normal}"/>
<State name="increased" colour="0.757 0.679 0.539"/> <State name="increased" colour="#{fontcolour=positive}"/>
<State name="decreased" colour="0.785 0.363 0.308"/> <State name="decreased" colour="#{fontcolour=negative}"/>
</BasisSkin> </BasisSkin>
</Skin> </Skin>
<Skin name="SandBrightText" size="16 16"> <Skin name="SandBrightText" size="16 16">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Left Bottom"/> <Property key="TextAlign" value="Left Bottom"/>
<Property key="TextColour" value="0.85 0.76 0.60"/> <BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch">
<BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch"/> <State name="normal" colour="#{fontcolour=header}" shift="0"/>
</BasisSkin>
</Skin>
<Skin name="CountText" size="16 16">
<Property key="FontName" value="Default"/>
<BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch">
<State name="normal" colour="#{fontcolour=count}" shift="0"/>
</BasisSkin>
</Skin> </Skin>
<Skin name="MW_StatNameC" size="200 18"> <Skin name="MW_StatNameC" size="200 18">
@ -64,14 +74,14 @@
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Top HCenter"/> <Property key="TextAlign" value="Top HCenter"/>
<BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch"> <BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch">
<State name="disabled" colour="0.6 0.56 0.45" shift="0"/> <State name="disabled" colour="#{fontcolour=disabled}" shift="0"/>
<State name="normal" colour="0.75 0.6 0.35" shift="0"/> <State name="normal" colour="#{fontcolour=normal}" shift="0"/>
<State name="highlighted" colour="0.85 0.76 0.60" shift="0"/> <State name="highlighted" colour="#{fontcolour=normal_over}" shift="0"/>
<State name="pushed" colour="1 1 1" shift="0"/> <State name="pushed" colour="#{fontcolour=normal_pressed}" shift="0"/>
<State name="disabled_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="disabled_checked" colour="#{fontcolour=disabled}" shift="0"/>
<State name="normal_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="normal_checked" colour="#{fontcolour=active}" shift="0"/>
<State name="highlighted_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="highlighted_checked" colour="#{fontcolour=active_over}" shift="0"/>
<State name="pushed_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="pushed_checked" colour="#{fontcolour=active_pressed}" shift="0"/>
</BasisSkin> </BasisSkin>
</Skin> </Skin>
@ -79,29 +89,14 @@
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Left Bottom"/> <Property key="TextAlign" value="Left Bottom"/>
<BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch"> <BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch">
<State name="disabled" colour="0.6 0.56 0.45" shift="0"/> <State name="disabled" colour="#{fontcolour=disabled}" shift="0"/>
<State name="normal" colour="0.75 0.6 0.35" shift="0"/> <State name="normal" colour="#{fontcolour=normal}" shift="0"/>
<State name="highlighted" colour="0.85 0.76 0.60" shift="0"/> <State name="highlighted" colour="#{fontcolour=normal_over}" shift="0"/>
<State name="pushed" colour="1 1 1" shift="0"/> <State name="pushed" colour="#{fontcolour=normal_pressed}" shift="0"/>
<State name="disabled_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="disabled_checked" colour="#{fontcolour=disabled}" shift="0"/>
<State name="normal_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="normal_checked" colour="#{fontcolour=active}" shift="0"/>
<State name="highlighted_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="highlighted_checked" colour="#{fontcolour=active_over}" shift="0"/>
<State name="pushed_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="pushed_checked" colour="#{fontcolour=active_pressed}" shift="0"/>
</BasisSkin>
</Skin>
<Skin name="SpellText" size="16 16">
<Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Left Bottom"/>
<BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch">
<State name="disabled" colour="0.6 0.56 0.45" shift="0"/>
<State name="normal" colour="0.75 0.6 0.35" shift="0"/>
<State name="highlighted" colour="0.85 0.76 0.60" shift="0"/>
<State name="pushed" colour="1 1 1" shift="0"/>
<State name="disabled_checked" colour="0.33 0.38 0.67" shift="0"/>
<State name="normal_checked" colour="0.33 0.38 0.67" shift="0"/>
<State name="highlighted_checked" colour="0.33 0.38 0.67" shift="0"/>
<State name="pushed_checked" colour="0.33 0.38 0.67" shift="0"/>
</BasisSkin> </BasisSkin>
</Skin> </Skin>
@ -109,14 +104,14 @@
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Left Bottom"/> <Property key="TextAlign" value="Left Bottom"/>
<BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch"> <BasisSkin type="SimpleText" offset="0 0 16 16" align="Stretch">
<State name="disabled" colour="0.6 0.56 0.45" shift="0"/> <State name="disabled" colour="#{fontcolour=disabled}" shift="0"/>
<State name="normal" colour="0.6 0.56 0.45" shift="0"/> <State name="normal" colour="#{fontcolour=disabled}" shift="0"/>
<State name="highlighted" colour="0.85 0.76 0.60" shift="0"/> <State name="highlighted" colour="#{fontcolour=disabled_over}" shift="0"/>
<State name="pushed" colour="1 1 1" shift="0"/> <State name="pushed" colour="#{fontcolour=disabled_pressed}" shift="0"/>
<State name="disabled_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="disabled_checked" colour="#{fontcolour=disabled}" shift="0"/>
<State name="normal_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="normal_checked" colour="#{fontcolour=active}" shift="0"/>
<State name="highlighted_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="highlighted_checked" colour="#{fontcolour=active_over}" shift="0"/>
<State name="pushed_checked" colour="0.33 0.38 0.67" shift="0"/> <State name="pushed_checked" colour="#{fontcolour=active_pressed}" shift="0"/>
</BasisSkin> </BasisSkin>
</Skin> </Skin>

@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Skin"> <MyGUI type="Skin" version="3.2.1">
<!-- Defines a transparent background --> <!-- Defines a transparent background -->
<Skin name="BlackBG" size="8 8" texture="transparent.png"> <Skin name="BlackBG" size="8 8" texture="transparent.png">
<Property key="Colour" value="#{fontcolour=background}"/>
<BasisSkin type="MainSkin" offset="0 0 8 8"> <BasisSkin type="MainSkin" offset="0 0 8 8">
<State name="normal" offset="0 0 8 8"/> <State name="normal" offset="0 0 8 8"/>
</BasisSkin> </BasisSkin>
@ -121,7 +122,8 @@
</Skin> </Skin>
<!-- Defines a pure black background --> <!-- Defines a pure black background -->
<Skin name="DialogBG" size="8 8" texture="black.png"> <Skin name="DialogBG" size="8 8" texture="white.png">
<Property key="Colour" value="#{fontcolour=background}"/>
<BasisSkin type="MainSkin" offset="0 0 8 8"> <BasisSkin type="MainSkin" offset="0 0 8 8">
<State name="normal" offset="0 0 8 8"/> <State name="normal" offset="0 0 8 8"/>
</BasisSkin> </BasisSkin>
@ -389,15 +391,13 @@
<!-- The actual caption. It contains the edges of the blocks on <!-- The actual caption. It contains the edges of the blocks on
its sides as well --> its sides as well -->
<Skin name="MW_Caption" size="88 20" texture="black.png" > <Skin name="MW_Caption" size="88 20">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Center"/> <Property key="TextAlign" value="Center"/>
<Property key="TextColour" value="0.75 0.62 0.36"/>
<BasisSkin type="SubSkin" offset="0 0 88 20" align="Stretch"> <Child type="Widget" skin="DialogBG" offset="0 0 88 20" align="Stretch"/>
<State name="normal" offset="0 0 8 8"/>
</BasisSkin> <Child type="TextBox" skin="SandText" offset="2 0 84 20" align="Stretch" name="Client"/>
<BasisSkin type="SimpleText" offset="2 0 84 20" align="Stretch"/>
<!-- Add the borders of the surrounding blocks --> <!-- Add the borders of the surrounding blocks -->
<Child type="Widget" skin="HB_LEFT" offset="86 2 2 16" align="Top Right"/> <Child type="Widget" skin="HB_LEFT" offset="86 2 2 16" align="Top Right"/>
@ -417,7 +417,6 @@
<Skin name="MW_Window" size="256 256"> <Skin name="MW_Window" size="256 256">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Center"/> <Property key="TextAlign" value="Center"/>
<Property key="TextColour" value="0.8 0.8 0.8"/>
<Property key="Snap" value="true"/> <Property key="Snap" value="true"/>
<Property key="MinSize" value="64 64"/> <Property key="MinSize" value="64 64"/>
@ -544,7 +543,7 @@
<Property key="Scale" value="1 1 0 0"/> <Property key="Scale" value="1 1 0 0"/>
</Child> </Child>
<Child type="TextBox" skin="MW_Caption" offset="80 4 88 20" align="HCenter Top" name="Caption"> <Child type="EditBox" skin="MW_Caption" offset="80 4 88 20" align="HCenter Top" name="Caption">
</Child> </Child>
<!-- This invisible button makes it possible to move the <!-- This invisible button makes it possible to move the
@ -557,7 +556,6 @@
<Skin name="MW_Window_NoCaption" size="256 256"> <Skin name="MW_Window_NoCaption" size="256 256">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Center"/> <Property key="TextAlign" value="Center"/>
<Property key="TextColour" value="0.8 0.8 0.8"/>
<Property key="Snap" value="true"/> <Property key="Snap" value="true"/>
<Property key="MinSize" value="64 64"/> <Property key="MinSize" value="64 64"/>
@ -694,7 +692,6 @@
<Skin name="MW_Window_Pinnable" size="256 256"> <Skin name="MW_Window_Pinnable" size="256 256">
<Property key="FontName" value="Default"/> <Property key="FontName" value="Default"/>
<Property key="TextAlign" value="Center"/> <Property key="TextAlign" value="Center"/>
<Property key="TextColour" value="0.8 0.8 0.8"/>
<Property key="Snap" value="true"/> <Property key="Snap" value="true"/>
<Property key="MinSize" value="64 64"/> <Property key="MinSize" value="64 64"/>
@ -822,7 +819,7 @@
<Property key="Scale" value="1 1 0 0"/> <Property key="Scale" value="1 1 0 0"/>
</Child> </Child>
<Child type="TextBox" skin="MW_Caption" offset="80 4 88 20" align="HCenter Top" name="Caption"> <Child type="EditBox" skin="MW_Caption" offset="80 4 88 20" align="HCenter Top" name="Caption">
</Child> </Child>
<!-- This invisible button makes it possible to move the <!-- This invisible button makes it possible to move the

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 B

@ -114,7 +114,7 @@ namespace MyGUIPlugin
std::vector<Ogre::uint32> buffer; std::vector<Ogre::uint32> buffer;
buffer.resize(1); buffer.resize(1);
const float val = 0.7; const float val = 0.7;
buffer[0] = (int(255*val) << 24); buffer[0] = (int(255*val) << 24) | (255 << 16) | (255 << 8) | 255;
memcpy(tex->getBuffer()->lock(Ogre::HardwareBuffer::HBL_DISCARD), &buffer[0], 1*4); memcpy(tex->getBuffer()->lock(Ogre::HardwareBuffer::HBL_DISCARD), &buffer[0], 1*4);
tex->getBuffer()->unlock(); tex->getBuffer()->unlock();
} }

Loading…
Cancel
Save