mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-19 20:53:50 +00:00
Merge remote-tracking branch 'zini/master' into animation2
This commit is contained in:
commit
bbde0146a7
15 changed files with 355 additions and 30 deletions
|
@ -18,6 +18,136 @@ void CSMDoc::Document::load (const std::vector<boost::filesystem::path>::const_i
|
|||
|
||||
if (lastAsModified)
|
||||
getData().loadFile (*end2, false);
|
||||
|
||||
addOptionalGmsts();
|
||||
}
|
||||
|
||||
void CSMDoc::Document::addOptionalGmsts()
|
||||
{
|
||||
static const char *sFloats[] =
|
||||
{
|
||||
"fCombatDistanceWerewolfMod",
|
||||
"fFleeDistance",
|
||||
"fWereWolfAcrobatics",
|
||||
"fWereWolfAgility",
|
||||
"fWereWolfAlchemy",
|
||||
"fWereWolfAlteration",
|
||||
"fWereWolfArmorer",
|
||||
"fWereWolfAthletics",
|
||||
"fWereWolfAxe",
|
||||
"fWereWolfBlock",
|
||||
"fWereWolfBluntWeapon",
|
||||
"fWereWolfConjuration",
|
||||
"fWereWolfDestruction",
|
||||
"fWereWolfEnchant",
|
||||
"fWereWolfEndurance",
|
||||
"fWereWolfFatigue",
|
||||
"fWereWolfHandtoHand",
|
||||
"fWereWolfHealth",
|
||||
"fWereWolfHeavyArmor",
|
||||
"fWereWolfIllusion",
|
||||
"fWereWolfIntellegence",
|
||||
"fWereWolfLightArmor",
|
||||
"fWereWolfLongBlade",
|
||||
"fWereWolfLuck",
|
||||
"fWereWolfMagicka",
|
||||
"fWereWolfMarksman",
|
||||
"fWereWolfMediumArmor",
|
||||
"fWereWolfMerchantile",
|
||||
"fWereWolfMysticism",
|
||||
"fWereWolfPersonality",
|
||||
"fWereWolfRestoration",
|
||||
"fWereWolfRunMult",
|
||||
"fWereWolfSecurity",
|
||||
"fWereWolfShortBlade",
|
||||
"fWereWolfSilverWeaponDamageMult",
|
||||
"fWereWolfSneak",
|
||||
"fWereWolfSpear",
|
||||
"fWereWolfSpeechcraft",
|
||||
"fWereWolfSpeed",
|
||||
"fWereWolfStrength",
|
||||
"fWereWolfUnarmored",
|
||||
"fWereWolfWillPower",
|
||||
0
|
||||
};
|
||||
|
||||
static const char *sIntegers[] =
|
||||
{
|
||||
"iWereWolfBounty",
|
||||
"iWereWolfFightMod",
|
||||
"iWereWolfFleeMod",
|
||||
"iWereWolfLevelToAttack",
|
||||
0
|
||||
};
|
||||
|
||||
static const char *sStrings[] =
|
||||
{
|
||||
"sCompanionShare",
|
||||
"sCompanionWarningButtonOne",
|
||||
"sCompanionWarningButtonTwo",
|
||||
"sCompanionWarningMessage",
|
||||
"sDeleteNote",
|
||||
"sEditNote",
|
||||
"sEffectSummonCreature01",
|
||||
"sEffectSummonCreature02",
|
||||
"sEffectSummonCreature03",
|
||||
"sEffectSummonCreature04",
|
||||
"sEffectSummonCreature05",
|
||||
"sEffectSummonFabricant",
|
||||
"sLevitateDisabled",
|
||||
"sMagicCreature01ID",
|
||||
"sMagicCreature02ID",
|
||||
"sMagicCreature03ID",
|
||||
"sMagicCreature04ID",
|
||||
"sMagicCreature05ID",
|
||||
"sMagicFabricantID",
|
||||
"sMaxSale",
|
||||
"sProfitValue",
|
||||
"sTeleportDisabled",
|
||||
"sWerewolfAlarmMessage",
|
||||
"sWerewolfPopup",
|
||||
"sWerewolfRefusal",
|
||||
"sWerewolfRestMessage",
|
||||
0
|
||||
};
|
||||
|
||||
for (int i=0; sFloats[i]; ++i)
|
||||
{
|
||||
ESM::GameSetting gmst;
|
||||
gmst.mId = sFloats[i];
|
||||
gmst.mF = 0;
|
||||
gmst.mType = ESM::VT_Float;
|
||||
addOptionalGmst (gmst);
|
||||
}
|
||||
|
||||
for (int i=0; sIntegers[i]; ++i)
|
||||
{
|
||||
ESM::GameSetting gmst;
|
||||
gmst.mId = sIntegers[i];
|
||||
gmst.mI = 0;
|
||||
gmst.mType = ESM::VT_Long;
|
||||
addOptionalGmst (gmst);
|
||||
}
|
||||
|
||||
for (int i=0; sStrings[i]; ++i)
|
||||
{
|
||||
ESM::GameSetting gmst;
|
||||
gmst.mId = sStrings[i];
|
||||
gmst.mStr = "<no text>";
|
||||
gmst.mType = ESM::VT_String;
|
||||
addOptionalGmst (gmst);
|
||||
}
|
||||
}
|
||||
|
||||
void CSMDoc::Document::addOptionalGmst (const ESM::GameSetting& gmst)
|
||||
{
|
||||
if (getData().getGmsts().searchId (gmst.mId)==-1)
|
||||
{
|
||||
CSMWorld::Record<ESM::GameSetting> record;
|
||||
record.mBase = gmst;
|
||||
record.mState = CSMWorld::RecordBase::State_BaseOnly;
|
||||
getData().getGmsts().appendRecord (record);
|
||||
}
|
||||
}
|
||||
|
||||
void CSMDoc::Document::createBase()
|
||||
|
|
|
@ -17,6 +17,11 @@
|
|||
|
||||
class QAbstractItemModel;
|
||||
|
||||
namespace ESM
|
||||
{
|
||||
struct GameSetting;
|
||||
}
|
||||
|
||||
namespace CSMDoc
|
||||
{
|
||||
class Document : public QObject
|
||||
|
@ -46,6 +51,10 @@ namespace CSMDoc
|
|||
|
||||
void createBase();
|
||||
|
||||
void addOptionalGmsts();
|
||||
|
||||
void addOptionalGmst (const ESM::GameSetting& gmst);
|
||||
|
||||
public:
|
||||
|
||||
Document (const std::vector<boost::filesystem::path>& files, bool new_);
|
||||
|
|
|
@ -54,6 +54,16 @@ CSMWorld::IdCollection<ESM::Global>& CSMWorld::Data::getGlobals()
|
|||
return mGlobals;
|
||||
}
|
||||
|
||||
const CSMWorld::IdCollection<ESM::GameSetting>& CSMWorld::Data::getGmsts() const
|
||||
{
|
||||
return mGmsts;
|
||||
}
|
||||
|
||||
CSMWorld::IdCollection<ESM::GameSetting>& CSMWorld::Data::getGmsts()
|
||||
{
|
||||
return mGmsts;
|
||||
}
|
||||
|
||||
QAbstractTableModel *CSMWorld::Data::getTableModel (const UniversalId& id)
|
||||
{
|
||||
std::map<UniversalId::Type, QAbstractTableModel *>::iterator iter = mModelIndex.find (id.getType());
|
||||
|
|
|
@ -40,6 +40,10 @@ namespace CSMWorld
|
|||
|
||||
IdCollection<ESM::Global>& getGlobals();
|
||||
|
||||
const IdCollection<ESM::GameSetting>& getGmsts() const;
|
||||
|
||||
IdCollection<ESM::GameSetting>& getGmsts();
|
||||
|
||||
QAbstractTableModel *getTableModel (const UniversalId& id);
|
||||
///< If no table model is available for \a id, an exception is thrown.
|
||||
///
|
||||
|
|
|
@ -30,7 +30,7 @@ add_openmw_dir (mwgui
|
|||
formatting inventorywindow container hud countdialog tradewindow settingswindow
|
||||
confirmationdialog alchemywindow referenceinterface spellwindow mainmenu quickkeysmenu
|
||||
itemselection spellbuyingwindow loadingscreen levelupdialog waitdialog spellcreationdialog
|
||||
enchantingdialog trainingwindow travelwindow imagebutton
|
||||
enchantingdialog trainingwindow travelwindow imagebutton exposedwindow
|
||||
)
|
||||
|
||||
add_openmw_dir (mwdialogue
|
||||
|
|
26
apps/openmw/mwgui/exposedwindow.cpp
Normal file
26
apps/openmw/mwgui/exposedwindow.cpp
Normal file
|
@ -0,0 +1,26 @@
|
|||
#include "exposedwindow.hpp"
|
||||
|
||||
#include "MyGUI_Window.h"
|
||||
|
||||
namespace MWGui
|
||||
{
|
||||
MyGUI::VectorWidgetPtr ExposedWindow::getSkinWidgetsByName (const std::string &name)
|
||||
{
|
||||
return MyGUI::Widget::getSkinWidgetsByName (name);
|
||||
}
|
||||
|
||||
MyGUI::Widget* ExposedWindow::getSkinWidget(const std::string & _name, bool _throw)
|
||||
{
|
||||
MyGUI::VectorWidgetPtr widgets = getSkinWidgetsByName (_name);
|
||||
|
||||
if (widgets.empty())
|
||||
{
|
||||
MYGUI_ASSERT( ! _throw, "widget name '" << _name << "' not found in skin of layout '" << getName() << "'");
|
||||
return nullptr;
|
||||
}
|
||||
else
|
||||
{
|
||||
return widgets[0];
|
||||
}
|
||||
}
|
||||
}
|
26
apps/openmw/mwgui/exposedwindow.hpp
Normal file
26
apps/openmw/mwgui/exposedwindow.hpp
Normal file
|
@ -0,0 +1,26 @@
|
|||
#ifndef MWGUI_EXPOSEDWINDOW_H
|
||||
#define MWGUI_EXPOSEDWINDOW_H
|
||||
|
||||
#include "MyGUI_Window.h"
|
||||
|
||||
namespace MWGui
|
||||
{
|
||||
|
||||
/**
|
||||
* @brief subclass to provide access to some Widget internals.
|
||||
*/
|
||||
class ExposedWindow : public MyGUI::Window
|
||||
{
|
||||
MYGUI_RTTI_DERIVED(ExposedWindow)
|
||||
|
||||
public:
|
||||
MyGUI::VectorWidgetPtr getSkinWidgetsByName (const std::string &name);
|
||||
|
||||
MyGUI::Widget* getSkinWidget(const std::string & _name, bool _throw = true);
|
||||
///< Get a widget defined in the inner skin of this window.
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -2,32 +2,27 @@
|
|||
|
||||
#include "../mwbase/windowmanager.hpp"
|
||||
|
||||
#include "exposedwindow.hpp"
|
||||
|
||||
using namespace MWGui;
|
||||
|
||||
WindowPinnableBase::WindowPinnableBase(const std::string& parLayout, MWBase::WindowManager& parWindowManager)
|
||||
: WindowBase(parLayout, parWindowManager), mPinned(false), mVisible(false)
|
||||
{
|
||||
MyGUI::WindowPtr t = static_cast<MyGUI::WindowPtr>(mMainWidget);
|
||||
t->eventWindowButtonPressed += MyGUI::newDelegate(this, &WindowPinnableBase::onWindowButtonPressed);
|
||||
ExposedWindow* window = static_cast<ExposedWindow*>(mMainWidget);
|
||||
mPinButton = window->getSkinWidget ("Button");
|
||||
|
||||
mPinButton->eventMouseButtonClick += MyGUI::newDelegate(this, &WindowPinnableBase::onPinButtonClicked);
|
||||
}
|
||||
|
||||
void WindowPinnableBase::setVisible(bool b)
|
||||
void WindowPinnableBase::onPinButtonClicked(MyGUI::Widget* _sender)
|
||||
{
|
||||
// Pinned windows can not be hidden
|
||||
if (mPinned && !b)
|
||||
return;
|
||||
mPinned = !mPinned;
|
||||
|
||||
WindowBase::setVisible(b);
|
||||
mVisible = b;
|
||||
}
|
||||
|
||||
void WindowPinnableBase::onWindowButtonPressed(MyGUI::Window* sender, const std::string& eventName)
|
||||
{
|
||||
if ("PinToggle" == eventName)
|
||||
{
|
||||
mPinned = !mPinned;
|
||||
onPinToggled();
|
||||
}
|
||||
|
||||
eventDone(this);
|
||||
if (mPinned)
|
||||
mPinButton->changeWidgetSkin ("PinDown");
|
||||
else
|
||||
mPinButton->changeWidgetSkin ("PinUp");
|
||||
|
||||
onPinToggled();
|
||||
}
|
||||
|
|
|
@ -11,15 +11,15 @@ namespace MWGui
|
|||
{
|
||||
public:
|
||||
WindowPinnableBase(const std::string& parLayout, MWBase::WindowManager& parWindowManager);
|
||||
void setVisible(bool b);
|
||||
bool pinned() { return mPinned; }
|
||||
|
||||
private:
|
||||
void onWindowButtonPressed(MyGUI::Window* sender, const std::string& eventName);
|
||||
void onPinButtonClicked(MyGUI::Widget* _sender);
|
||||
|
||||
protected:
|
||||
virtual void onPinToggled() = 0;
|
||||
|
||||
MyGUI::Widget* mPinButton;
|
||||
bool mPinned;
|
||||
bool mVisible;
|
||||
};
|
||||
|
|
|
@ -52,6 +52,7 @@
|
|||
#include "enchantingdialog.hpp"
|
||||
#include "trainingwindow.hpp"
|
||||
#include "imagebutton.hpp"
|
||||
#include "exposedwindow.hpp"
|
||||
|
||||
using namespace MWGui;
|
||||
|
||||
|
@ -127,6 +128,7 @@ WindowManager::WindowManager(
|
|||
MyGUI::FactoryManager::getInstance().registerFactory<MWGui::Widgets::AutoSizedTextBox>("Widget");
|
||||
MyGUI::FactoryManager::getInstance().registerFactory<MWGui::Widgets::AutoSizedButton>("Widget");
|
||||
MyGUI::FactoryManager::getInstance().registerFactory<MWGui::ImageButton>("Widget");
|
||||
MyGUI::FactoryManager::getInstance().registerFactory<MWGui::ExposedWindow>("Widget");
|
||||
|
||||
MyGUI::LanguageManager::getInstance().eventRequestTag = MyGUI::newDelegate(this, &WindowManager::onRetrieveTag);
|
||||
|
||||
|
@ -310,9 +312,16 @@ void WindowManager::updateVisible()
|
|||
setSpellVisibility((mAllowed & GW_Magic) && !mSpellWindow->pinned());
|
||||
setHMSVisibility((mAllowed & GW_Stats) && !mStatsWindow->pinned());
|
||||
|
||||
// If in game mode, don't show anything.
|
||||
// If in game mode, show only the pinned windows
|
||||
if (gameMode)
|
||||
{
|
||||
mMap->setVisible(mMap->pinned());
|
||||
mStatsWindow->setVisible(mStatsWindow->pinned());
|
||||
mInventoryWindow->setVisible(mInventoryWindow->pinned());
|
||||
mSpellWindow->setVisible(mSpellWindow->pinned());
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
GuiMode mode = mGuiModes.back();
|
||||
|
||||
|
@ -327,6 +336,12 @@ void WindowManager::updateVisible()
|
|||
mSettingsWindow->setVisible(true);
|
||||
break;
|
||||
case GM_Console:
|
||||
// Show the pinned windows
|
||||
mMap->setVisible(mMap->pinned());
|
||||
mStatsWindow->setVisible(mStatsWindow->pinned());
|
||||
mInventoryWindow->setVisible(mInventoryWindow->pinned());
|
||||
mSpellWindow->setVisible(mSpellWindow->pinned());
|
||||
|
||||
mConsole->enable();
|
||||
break;
|
||||
case GM_Scroll:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<MyGUI type="Layout">
|
||||
<Widget type="Window" skin="MW_Window_Pinnable" layer="Windows" position="0 0 600 300" name="_Main">
|
||||
<Widget type="ExposedWindow" skin="MW_Window_Pinnable" layer="Windows" position="0 0 600 300" name="_Main">
|
||||
|
||||
<Widget type="Widget" skin="" position="0 0 224 223" align="Left Top" name="LeftPane">
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<MyGUI type="Layout">
|
||||
<Widget type="Window" skin="MW_Window_Pinnable" layer="Windows" position="0 0 300 300" name="_Main">
|
||||
<Widget type="ExposedWindow" skin="MW_Window_Pinnable" layer="Windows" position="0 0 300 300" name="_Main">
|
||||
|
||||
<!-- Local map -->
|
||||
<Widget type="ScrollView" skin="MW_MapView" position="0 0 284 264" align="ALIGN_STRETCH" name="LocalMap">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<MyGUI type="Layout">
|
||||
<Widget type="Window" skin="MW_Window_Pinnable" layer="Windows" position="0 0 300 600" name="_Main">
|
||||
<Widget type="ExposedWindow" skin="MW_Window_Pinnable" layer="Windows" position="0 0 300 600" name="_Main">
|
||||
|
||||
<!-- Effect box-->
|
||||
<Widget type="Widget" skin="MW_Box" position="8 8 268 24" align="Left Top HStretch">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<MyGUI type="Layout">
|
||||
<Widget type="Window" skin="MW_Window_Pinnable" layer="Windows" position="0 0 500 342" name="_Main">
|
||||
<Widget type="ExposedWindow" skin="MW_Window_Pinnable" layer="Windows" position="0 0 500 342" name="_Main">
|
||||
|
||||
<Widget type="Widget" skin="" name="LeftPane" position="0 0 220 342">
|
||||
|
||||
|
|
|
@ -8,6 +8,118 @@
|
|||
</BasisSkin>
|
||||
</Skin>
|
||||
|
||||
<!-- Define the borders for pin button (up) -->
|
||||
<Skin name="PU_B" size="12 2" texture="textures\menu_rightbuttonup_bottom.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 12 2">
|
||||
<State name="normal" offset = "0 0 12 2"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
<Skin name="PU_BR" size="2 2" texture="textures\menu_rightbuttonup_bottom_right.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 2 2">
|
||||
<State name="normal" offset = "0 0 2 2"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
<Skin name="PU_R" size="2 12" texture="textures\menu_rightbuttonup_right.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 2 12">
|
||||
<State name="normal" offset = "0 0 2 12"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
<Skin name="PU_TR" size="2 2" texture="textures\menu_rightbuttonup_top_right.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 2 2">
|
||||
<State name="normal" offset = "0 0 2 2"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
<Skin name="PU_T" size="12 2" texture="textures\menu_rightbuttonup_top.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 12 2">
|
||||
<State name="normal" offset = "0 0 12 2"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
<Skin name="PU_TL" size="2 2" texture="textures\menu_rightbuttonup_top_left.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 2 2">
|
||||
<State name="normal" offset = "0 0 2 2"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
<Skin name="PU_L" size="2 12" texture="textures\menu_rightbuttonup_left.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 2 12">
|
||||
<State name="normal" offset = "0 0 2 12"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
<Skin name="PU_BL" size="2 2" texture="textures\menu_rightbuttonup_bottom_left.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 2 2">
|
||||
<State name="normal" offset = "0 0 2 2"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
|
||||
<!-- Define the borders for pin button (down) -->
|
||||
<Skin name="PD_B" size="12 2" texture="textures\menu_rightbuttondown_bottom.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 12 2">
|
||||
<State name="normal" offset = "0 0 12 2"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
<Skin name="PD_BR" size="2 2" texture="textures\menu_rightbuttondown_bottom_right.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 2 2">
|
||||
<State name="normal" offset = "0 0 2 2"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
<Skin name="PD_R" size="2 12" texture="textures\menu_rightbuttondown_right.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 2 12">
|
||||
<State name="normal" offset = "0 0 2 12"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
<Skin name="PD_TR" size="2 2" texture="textures\menu_rightbuttondown_top_right.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 2 2">
|
||||
<State name="normal" offset = "0 0 2 2"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
<Skin name="PD_T" size="12 2" texture="textures\menu_rightbuttondown_top.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 12 2">
|
||||
<State name="normal" offset = "0 0 12 2"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
<Skin name="PD_TL" size="2 2" texture="textures\menu_rightbuttondown_top_left.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 2 2">
|
||||
<State name="normal" offset = "0 0 2 2"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
<Skin name="PD_L" size="2 12" texture="textures\menu_rightbuttondown_left.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 2 12">
|
||||
<State name="normal" offset = "0 0 2 12"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
<Skin name="PD_BL" size="2 2" texture="textures\menu_rightbuttondown_bottom_left.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 2 2">
|
||||
<State name="normal" offset = "0 0 2 2"/>
|
||||
</BasisSkin>
|
||||
</Skin>
|
||||
|
||||
<!-- Define the pin button skin -->
|
||||
<Skin name = "PinUp" size = "19 19" texture="textures\menu_rightbuttonup_center.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 19 19">
|
||||
<State name="normal" offset = "0 0 19 19"/>
|
||||
</BasisSkin>
|
||||
<Child type="Widget" skin="PU_B" offset="2 17 15 2" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
<Child type="Widget" skin="PU_BR" offset="17 17 2 2" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
<Child type="Widget" skin="PU_R" offset="17 2 2 15" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
<Child type="Widget" skin="PU_TR" offset="17 0 2 2" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
<Child type="Widget" skin="PU_T" offset="2 0 15 2" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
<Child type="Widget" skin="PU_TL" offset="0 0 2 2" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
<Child type="Widget" skin="PU_L" offset="0 2 2 15" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
<Child type="Widget" skin="PU_BL" offset="0 17 2 2" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
</Skin>
|
||||
<Skin name = "PinDown" size = "19 19" texture="textures\menu_rightbuttondown_center.dds">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 19 19">
|
||||
<State name="normal" offset = "0 0 19 19"/>
|
||||
</BasisSkin>
|
||||
<Child type="Widget" skin="PD_B" offset="2 17 15 2" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
<Child type="Widget" skin="PD_BR" offset="17 17 2 2" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
<Child type="Widget" skin="PD_R" offset="17 2 2 15" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
<Child type="Widget" skin="PD_TR" offset="17 0 2 2" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
<Child type="Widget" skin="PD_T" offset="2 0 15 2" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
<Child type="Widget" skin="PD_TL" offset="0 0 2 2" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
<Child type="Widget" skin="PD_L" offset="0 2 2 15" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
<Child type="Widget" skin="PD_BL" offset="0 17 2 2" align="ALIGN_HSTRETCH ALIGN_VSTRETCH"/>
|
||||
</Skin>
|
||||
|
||||
<!-- Defines a pure black background -->
|
||||
<Skin name = "DialogBG" size = "8 8" texture = "black.png">
|
||||
<BasisSkin type="MainSkin" offset = "0 0 8 8">
|
||||
|
@ -473,9 +585,7 @@
|
|||
<Property key="Scale" value = "1 1 0 0"/>
|
||||
</Child>
|
||||
|
||||
<Child type="Button" skin="BlackBG" offset="230 4 21 19" align="ALIGN_RIGHT ALIGN_TOP" name="Button">
|
||||
<Property key="Event" value="PinToggle"/>
|
||||
</Child>
|
||||
<Child type="Button" skin="PinUp" offset="232 4 19 19" align="ALIGN_RIGHT ALIGN_TOP" name="Button"/>
|
||||
</Skin>
|
||||
|
||||
<Skin name = "MW_Dialog" size = "256 54">
|
||||
|
|
Loading…
Reference in a new issue