forked from teamnwah/openmw-tes3coop
Merge branch 'master' of git://github.com/zinnschlag/openmw
This commit is contained in:
commit
5c8950f91c
30 changed files with 378 additions and 63 deletions
|
@ -321,15 +321,15 @@ endif()
|
|||
|
||||
# Compiler settings
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
add_definitions (-Wall -Wextra -Wno-unused-parameter -Wno-reorder -std=c++98 -pedantic -Wno-long-long)
|
||||
SET(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-reorder -std=c++98 -pedantic -Wno-long-long ${CMAKE_CXX_FLAGS}")
|
||||
|
||||
# Silence warnings in OGRE headers. Remove once OGRE got fixed!
|
||||
add_definitions (-Wno-ignored-qualifiers)
|
||||
SET(CMAKE_CXX_FLAGS "-Wno-ignored-qualifiers ${CMAKE_CXX_FLAGS}")
|
||||
|
||||
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
|
||||
OUTPUT_VARIABLE GCC_VERSION)
|
||||
if ("${GCC_VERSION}" VERSION_GREATER 4.6 OR "${GCC_VERSION}" VERSION_EQUAL 4.6)
|
||||
add_definitions (-Wno-unused-but-set-parameter)
|
||||
SET(CMAKE_CXX_FLAGS "-Wno-unused-but-set-parameter ${CMAKE_CXX_FLAGS}")
|
||||
endif("${GCC_VERSION}" VERSION_GREATER 4.6 OR "${GCC_VERSION}" VERSION_EQUAL 4.6)
|
||||
endif (CMAKE_COMPILER_IS_GNUCC)
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ add_openmw_dir (mwgui
|
|||
enchantingdialog trainingwindow travelwindow imagebutton exposedwindow cursor spellicons
|
||||
merchantrepair repair soulgemdialog companionwindow bookpage journalviewmodel journalbooks
|
||||
keywordsearch itemmodel containeritemmodel inventoryitemmodel sortfilteritemmodel itemview
|
||||
tradeitemmodel companionitemmodel pickpocketitemmodel fontloader
|
||||
tradeitemmodel companionitemmodel pickpocketitemmodel fontloader controllers
|
||||
)
|
||||
|
||||
add_openmw_dir (mwdialogue
|
||||
|
|
|
@ -369,6 +369,7 @@ void OMW::Engine::prepareEngine (Settings::Manager & settings)
|
|||
windowSettings.fullscreen = settings.getBool("fullscreen", "Video");
|
||||
windowSettings.window_x = settings.getInt("resolution x", "Video");
|
||||
windowSettings.window_y = settings.getInt("resolution y", "Video");
|
||||
windowSettings.screen = settings.getInt("screen", "Video");
|
||||
windowSettings.vsync = settings.getBool("vsync", "Video");
|
||||
windowSettings.icon = "openmw.png";
|
||||
std::string aa = settings.getString("antialiasing", "Video");
|
||||
|
|
|
@ -345,6 +345,8 @@ namespace MWBase
|
|||
virtual void getItemsOwnedBy (const MWWorld::Ptr& npc, std::vector<MWWorld::Ptr>& out) = 0;
|
||||
///< get all items in active cells owned by this Npc
|
||||
|
||||
virtual void enableActorCollision(const MWWorld::Ptr& actor, bool enable) = 0;
|
||||
|
||||
virtual void setupExternalRendering (MWRender::ExternalRendering& rendering) = 0;
|
||||
|
||||
virtual int canRest() = 0;
|
||||
|
|
54
apps/openmw/mwgui/controllers.cpp
Normal file
54
apps/openmw/mwgui/controllers.cpp
Normal file
|
@ -0,0 +1,54 @@
|
|||
#include "controllers.hpp"
|
||||
|
||||
namespace MWGui
|
||||
{
|
||||
namespace Controllers
|
||||
{
|
||||
|
||||
ControllerRepeatClick::ControllerRepeatClick() :
|
||||
mInit(0.5),
|
||||
mStep(0.1),
|
||||
mEnabled(true),
|
||||
mTimeLeft(0)
|
||||
{
|
||||
}
|
||||
|
||||
ControllerRepeatClick::~ControllerRepeatClick()
|
||||
{
|
||||
}
|
||||
|
||||
bool ControllerRepeatClick::addTime(MyGUI::Widget* _widget, float _time)
|
||||
{
|
||||
if(mTimeLeft == 0)
|
||||
mTimeLeft = mInit;
|
||||
|
||||
mTimeLeft -= _time;
|
||||
if(mTimeLeft <= 0)
|
||||
{
|
||||
mTimeLeft = mStep;
|
||||
eventRepeatClick(_widget, this);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void ControllerRepeatClick::setRepeat(float init, float step)
|
||||
{
|
||||
mInit = init;
|
||||
mStep = step;
|
||||
}
|
||||
|
||||
void ControllerRepeatClick::setEnabled(bool enable)
|
||||
{
|
||||
mEnabled = enable;
|
||||
}
|
||||
|
||||
void ControllerRepeatClick::setProperty(const std::string& _key, const std::string& _value)
|
||||
{
|
||||
}
|
||||
|
||||
void ControllerRepeatClick::prepareItem(MyGUI::Widget* _widget)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
}
|
46
apps/openmw/mwgui/controllers.hpp
Normal file
46
apps/openmw/mwgui/controllers.hpp
Normal file
|
@ -0,0 +1,46 @@
|
|||
#ifndef MWGUI_CONTROLLERS_H
|
||||
#define MWGUI_CONTROLLERS_H
|
||||
|
||||
#include <MyGUI_Widget.h>
|
||||
#include <MyGUI_ControllerItem.h>
|
||||
|
||||
|
||||
namespace MWGui
|
||||
{
|
||||
namespace Controllers
|
||||
{
|
||||
class ControllerRepeatClick :
|
||||
public MyGUI::ControllerItem
|
||||
{
|
||||
MYGUI_RTTI_DERIVED( ControllerRepeatClick )
|
||||
|
||||
public:
|
||||
ControllerRepeatClick();
|
||||
virtual ~ControllerRepeatClick();
|
||||
|
||||
void setRepeat(float init, float step);
|
||||
void setEnabled(bool enable);
|
||||
virtual void setProperty(const std::string& _key, const std::string& _value);
|
||||
|
||||
// Events
|
||||
typedef MyGUI::delegates::CMultiDelegate2<MyGUI::Widget*, MyGUI::ControllerItem*> EventHandle_RepeatClickVoid;
|
||||
|
||||
/** Event : Repeat Click.\n
|
||||
signature : void method(MyGUI::Widget* _sender, MyGUI::ControllerItem *_controller)\n
|
||||
*/
|
||||
EventHandle_RepeatClickVoid eventRepeatClick;
|
||||
|
||||
private:
|
||||
bool addTime(MyGUI::Widget* _widget, float _time);
|
||||
void prepareItem(MyGUI::Widget* _widget);
|
||||
|
||||
private:
|
||||
float mInit;
|
||||
float mStep;
|
||||
bool mEnabled;
|
||||
float mTimeLeft;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
|
@ -15,8 +15,6 @@
|
|||
#include "../mwmechanics/creaturestats.hpp"
|
||||
#include "../mwmechanics/npcstats.hpp"
|
||||
|
||||
#include "widgets.hpp"
|
||||
|
||||
|
||||
namespace MWGui
|
||||
{
|
||||
|
@ -53,15 +51,14 @@ namespace MWGui
|
|||
getWidget(mDateTimeText, "DateTimeText");
|
||||
getWidget(mRestText, "RestText");
|
||||
getWidget(mHourText, "HourText");
|
||||
getWidget(mHourSlider, "HourSlider");
|
||||
getWidget(mUntilHealedButton, "UntilHealedButton");
|
||||
getWidget(mWaitButton, "WaitButton");
|
||||
getWidget(mCancelButton, "CancelButton");
|
||||
getWidget(mHourSlider, "HourSlider");
|
||||
|
||||
mCancelButton->eventMouseButtonClick += MyGUI::newDelegate(this, &WaitDialog::onCancelButtonClicked);
|
||||
mUntilHealedButton->eventMouseButtonClick += MyGUI::newDelegate(this, &WaitDialog::onUntilHealedButtonClicked);
|
||||
mWaitButton->eventMouseButtonClick += MyGUI::newDelegate(this, &WaitDialog::onWaitButtonClicked);
|
||||
|
||||
mHourSlider->eventScrollChangePosition += MyGUI::newDelegate(this, &WaitDialog::onHourSliderChangedPosition);
|
||||
|
||||
mProgressBar.setVisible (false);
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#define MWGUI_WAIT_DIALOG_H
|
||||
|
||||
#include "windowbase.hpp"
|
||||
#include "widgets.hpp"
|
||||
|
||||
namespace MWGui
|
||||
{
|
||||
|
@ -38,10 +39,10 @@ namespace MWGui
|
|||
MyGUI::TextBox* mDateTimeText;
|
||||
MyGUI::TextBox* mRestText;
|
||||
MyGUI::TextBox* mHourText;
|
||||
MyGUI::ScrollBar* mHourSlider;
|
||||
MyGUI::Button* mUntilHealedButton;
|
||||
MyGUI::Button* mWaitButton;
|
||||
MyGUI::Button* mCancelButton;
|
||||
MWGui::Widgets::MWScrollBar* mHourSlider;
|
||||
|
||||
bool mWaiting;
|
||||
bool mSleeping;
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
#include <MyGUI_ProgressBar.h>
|
||||
#include <MyGUI_ImageBox.h>
|
||||
#include <MyGUI_ControllerManager.h>
|
||||
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
|
@ -893,5 +894,126 @@ namespace MWGui
|
|||
{
|
||||
align();
|
||||
}
|
||||
|
||||
MWScrollBar::MWScrollBar()
|
||||
: mEnableRepeat(true)
|
||||
, mRepeatTriggerTime(0.5)
|
||||
, mRepeatStepTime(0.1)
|
||||
, mStepSize(0)
|
||||
{
|
||||
}
|
||||
|
||||
MWScrollBar::~MWScrollBar()
|
||||
{
|
||||
}
|
||||
|
||||
void MWScrollBar::initialiseOverride()
|
||||
{
|
||||
ScrollBar::initialiseOverride();
|
||||
|
||||
if(mWidgetStart)
|
||||
{
|
||||
mWidgetStart->eventMouseButtonPressed += MyGUI::newDelegate(this, &MWScrollBar::onDecreaseButtonPressed);
|
||||
mWidgetStart->eventMouseButtonReleased += MyGUI::newDelegate(this, &MWScrollBar::onDecreaseButtonReleased);
|
||||
}
|
||||
if(mWidgetEnd)
|
||||
{
|
||||
mWidgetEnd->eventMouseButtonPressed += MyGUI::newDelegate(this, &MWScrollBar::onIncreaseButtonPressed);
|
||||
mWidgetEnd->eventMouseButtonReleased += MyGUI::newDelegate(this, &MWScrollBar::onIncreaseButtonReleased);
|
||||
}
|
||||
}
|
||||
|
||||
void MWScrollBar::setEnableRepeat(bool enable)
|
||||
{
|
||||
mEnableRepeat = enable;
|
||||
}
|
||||
|
||||
bool MWScrollBar::getEnableRepeat()
|
||||
{
|
||||
return mEnableRepeat;
|
||||
}
|
||||
|
||||
void MWScrollBar::getRepeat(float &trigger, float &step)
|
||||
{
|
||||
trigger = mRepeatTriggerTime;
|
||||
step = mRepeatStepTime;
|
||||
}
|
||||
|
||||
void MWScrollBar::setRepeat(float trigger, float step)
|
||||
{
|
||||
mRepeatTriggerTime = trigger;
|
||||
mRepeatStepTime = step;
|
||||
}
|
||||
|
||||
void MWScrollBar::setStepSize(int step)
|
||||
{
|
||||
mStepSize = step;
|
||||
}
|
||||
|
||||
int MWScrollBar::getStepSize()
|
||||
{
|
||||
return mStepSize;
|
||||
}
|
||||
|
||||
void MWScrollBar::repeatClick(MyGUI::Widget* _widget, MyGUI::ControllerItem* _controller)
|
||||
{
|
||||
int stepSize = mStepSize;
|
||||
if(stepSize == 0)
|
||||
stepSize = mScrollRange/20;
|
||||
|
||||
if(mIsIncreasing && mScrollPosition < mScrollRange-1)
|
||||
{
|
||||
if(mScrollPosition + stepSize > mScrollRange-1)
|
||||
mScrollPosition = mScrollRange-1;
|
||||
else
|
||||
mScrollPosition += stepSize;
|
||||
|
||||
eventScrollChangePosition(this, mScrollPosition);
|
||||
updateTrack();
|
||||
}
|
||||
else if(!mIsIncreasing && mScrollPosition > 0)
|
||||
{
|
||||
int newPos = mScrollPosition - stepSize;
|
||||
if(newPos < 0)
|
||||
mScrollPosition = 0;
|
||||
else
|
||||
mScrollPosition -= stepSize;
|
||||
|
||||
eventScrollChangePosition(this, mScrollPosition);
|
||||
updateTrack();
|
||||
}
|
||||
}
|
||||
|
||||
void MWScrollBar::onDecreaseButtonPressed(MyGUI::Widget* _sender, int _left, int _top, MyGUI::MouseButton _id)
|
||||
{
|
||||
mIsIncreasing = false;
|
||||
MyGUI::ControllerItem* item = MyGUI::ControllerManager::getInstance().createItem(MWGui::Controllers::ControllerRepeatClick::getClassTypeName());
|
||||
MWGui::Controllers::ControllerRepeatClick* controller = item->castType<MWGui::Controllers::ControllerRepeatClick>();
|
||||
controller->eventRepeatClick += newDelegate(this, &MWScrollBar::repeatClick);
|
||||
controller->setEnabled(mEnableRepeat);
|
||||
controller->setRepeat(mRepeatTriggerTime, mRepeatStepTime);
|
||||
MyGUI::ControllerManager::getInstance().addItem(this, controller);
|
||||
}
|
||||
|
||||
void MWScrollBar::onDecreaseButtonReleased(MyGUI::Widget* _sender, int _left, int _top, MyGUI::MouseButton _id)
|
||||
{
|
||||
MyGUI::ControllerManager::getInstance().removeItem(this);
|
||||
}
|
||||
|
||||
void MWScrollBar::onIncreaseButtonPressed(MyGUI::Widget* _sender, int _left, int _top, MyGUI::MouseButton _id)
|
||||
{
|
||||
mIsIncreasing = true;
|
||||
MyGUI::ControllerItem* item = MyGUI::ControllerManager::getInstance().createItem(MWGui::Controllers::ControllerRepeatClick::getClassTypeName());
|
||||
MWGui::Controllers::ControllerRepeatClick* controller = item->castType<MWGui::Controllers::ControllerRepeatClick>();
|
||||
controller->eventRepeatClick += newDelegate(this, &MWScrollBar::repeatClick);
|
||||
controller->setEnabled(mEnableRepeat);
|
||||
controller->setRepeat(mRepeatTriggerTime, mRepeatStepTime);
|
||||
MyGUI::ControllerManager::getInstance().addItem(this, controller);
|
||||
}
|
||||
|
||||
void MWScrollBar::onIncreaseButtonReleased(MyGUI::Widget* _sender, int _left, int _top, MyGUI::MouseButton _id)
|
||||
{
|
||||
MyGUI::ControllerManager::getInstance().removeItem(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,9 +3,11 @@
|
|||
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
#include "../mwmechanics/stat.hpp"
|
||||
#include "controllers.hpp"
|
||||
|
||||
#include <MyGUI_Button.h>
|
||||
#include <MyGUI_EditBox.h>
|
||||
#include <MyGUI_ScrollBar.h>
|
||||
|
||||
namespace MyGUI
|
||||
{
|
||||
|
@ -407,6 +409,38 @@ namespace MWGui
|
|||
|
||||
virtual void onWidgetCreated(MyGUI::Widget* _widget);
|
||||
};
|
||||
|
||||
class MWScrollBar : public MyGUI::ScrollBar
|
||||
{
|
||||
MYGUI_RTTI_DERIVED(MWScrollBar)
|
||||
|
||||
public:
|
||||
MWScrollBar();
|
||||
virtual ~MWScrollBar();
|
||||
|
||||
void setEnableRepeat(bool enable);
|
||||
bool getEnableRepeat();
|
||||
void getRepeat(float &trigger, float &step);
|
||||
void setRepeat(float trigger, float step);
|
||||
void setStepSize(int step);
|
||||
int getStepSize();
|
||||
|
||||
protected:
|
||||
virtual void initialiseOverride();
|
||||
void repeatClick(MyGUI::Widget* _widget, MyGUI::ControllerItem* _controller);
|
||||
|
||||
bool mEnableRepeat;
|
||||
float mRepeatTriggerTime;
|
||||
float mRepeatStepTime;
|
||||
bool mIsIncreasing;
|
||||
int mStepSize;
|
||||
|
||||
private:
|
||||
void onDecreaseButtonPressed(MyGUI::Widget* _sender, int _left, int _top, MyGUI::MouseButton _id);
|
||||
void onDecreaseButtonReleased(MyGUI::Widget* _sender, int _left, int _top, MyGUI::MouseButton _id);
|
||||
void onIncreaseButtonPressed(MyGUI::Widget* _sender, int _left, int _top, MyGUI::MouseButton _id);
|
||||
void onIncreaseButtonReleased(MyGUI::Widget* _sender, int _left, int _top, MyGUI::MouseButton _id);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -142,9 +142,12 @@ namespace MWGui
|
|||
MyGUI::FactoryManager::getInstance().registerFactory<MWGui::ImageButton>("Widget");
|
||||
MyGUI::FactoryManager::getInstance().registerFactory<MWGui::ExposedWindow>("Widget");
|
||||
MyGUI::FactoryManager::getInstance().registerFactory<MWGui::Widgets::MWScrollView>("Widget");
|
||||
MyGUI::FactoryManager::getInstance().registerFactory<MWGui::Widgets::MWScrollBar>("Widget");
|
||||
BookPage::registerMyGUIComponents ();
|
||||
ItemView::registerComponents();
|
||||
|
||||
MyGUI::FactoryManager::getInstance().registerFactory<MWGui::Controllers::ControllerRepeatClick>("Controller");
|
||||
|
||||
MyGUI::FactoryManager::getInstance().registerFactory<ResourceImageSetPointerFix>("Resource", "ResourceImageSetPointer");
|
||||
MyGUI::ResourceManager::getInstance().load("core.xml");
|
||||
|
||||
|
|
|
@ -462,6 +462,10 @@ void CharacterController::update(float duration, Movement &movement)
|
|||
mAnimation->disable("torch");
|
||||
}
|
||||
}
|
||||
else if (cls.getCreatureStats(mPtr).isDead())
|
||||
{
|
||||
MWBase::Environment::get().getWorld()->enableActorCollision(mPtr, false);
|
||||
}
|
||||
|
||||
if(mAnimation && !mSkipAnim)
|
||||
{
|
||||
|
|
|
@ -273,6 +273,14 @@ namespace MWWorld
|
|||
mStatic[scpt.mId] = scpt;
|
||||
}
|
||||
|
||||
template <>
|
||||
inline void Store<ESM::StartScript>::load(ESM::ESMReader &esm, const std::string &id) {
|
||||
ESM::StartScript s;
|
||||
s.load(esm);
|
||||
s.mId = Misc::StringUtils::toLower(s.mScript);
|
||||
mStatic[s.mId] = s;
|
||||
}
|
||||
|
||||
template <>
|
||||
class Store<ESM::LandTexture> : public StoreBase
|
||||
{
|
||||
|
|
|
@ -572,35 +572,36 @@ Ogre::String WeatherManager::nextWeather(const ESM::Region* region) const
|
|||
|
||||
int chance = (rand() % 100) + 1; // 1..100
|
||||
int sum = 0;
|
||||
for (int i = 0; i < 10; ++i)
|
||||
int i = 0;
|
||||
for (; i < 10; ++i)
|
||||
{
|
||||
sum += probability[i];
|
||||
if (chance < sum)
|
||||
{
|
||||
switch (i)
|
||||
{
|
||||
case 1:
|
||||
return "cloudy";
|
||||
case 2:
|
||||
return "foggy";
|
||||
case 3:
|
||||
return "overcast";
|
||||
case 4:
|
||||
return "rain";
|
||||
case 5:
|
||||
return "thunderstorm";
|
||||
case 6:
|
||||
return "ashstorm";
|
||||
case 7:
|
||||
return "blight";
|
||||
case 8:
|
||||
return "snow";
|
||||
case 9:
|
||||
return "blizzard";
|
||||
default: // case 0
|
||||
return "clear";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
switch (i)
|
||||
{
|
||||
case 1:
|
||||
return "cloudy";
|
||||
case 2:
|
||||
return "foggy";
|
||||
case 3:
|
||||
return "overcast";
|
||||
case 4:
|
||||
return "rain";
|
||||
case 5:
|
||||
return "thunderstorm";
|
||||
case 6:
|
||||
return "ashstorm";
|
||||
case 7:
|
||||
return "blight";
|
||||
case 8:
|
||||
return "snow";
|
||||
case 9:
|
||||
return "blizzard";
|
||||
default: // case 0
|
||||
return "clear";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1751,4 +1751,18 @@ namespace MWWorld
|
|||
out.push_back(searchPtrViaHandle(*it));
|
||||
}
|
||||
}
|
||||
|
||||
void World::enableActorCollision(const MWWorld::Ptr& actor, bool enable)
|
||||
{
|
||||
OEngine::Physic::PhysicActor *physicActor = mPhysEngine->getCharacter(actor.getRefData().getHandle());
|
||||
|
||||
if (enable)
|
||||
{
|
||||
physicActor->enableCollisionBody();
|
||||
}
|
||||
else
|
||||
{
|
||||
physicActor->disableCollisionBody();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -394,6 +394,8 @@ namespace MWWorld
|
|||
virtual void getItemsOwnedBy (const MWWorld::Ptr& npc, std::vector<MWWorld::Ptr>& out);
|
||||
///< get all items in active cells owned by this Npc
|
||||
|
||||
virtual void enableActorCollision(const MWWorld::Ptr& actor, bool enable);
|
||||
|
||||
virtual void setupExternalRendering (MWRender::ExternalRendering& rendering);
|
||||
|
||||
virtual int canRest();
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
<!-- Sliders -->
|
||||
<!-- Rotation of head -->
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="8 270 241 14" name="HeadRotate"/>
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="8 270 241 14" name="HeadRotate"/>
|
||||
|
||||
<!-- Gender choice -->
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<Property key="TextAlign" value="Center"/>
|
||||
</Widget>
|
||||
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="28 60 544 18" name="CountSlider" align="Left Top HStretch">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="28 60 544 18" name="CountSlider" align="Left Top HStretch">
|
||||
<Property key="MoveToClick" value="true"/>
|
||||
</Widget>
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
</Widget>
|
||||
</Widget>
|
||||
|
||||
<Widget type="ScrollBar" skin="MW_VScroll" position="404 13 14 371" align="ALIGN_RIGHT ALIGN_VSTRETCH" name="VScroll">
|
||||
<Widget type="MWScrollBar" skin="MW_VScroll" position="404 13 14 371" align="ALIGN_RIGHT ALIGN_VSTRETCH" name="VScroll">
|
||||
<Property key="Visible" value="false"/>
|
||||
</Widget>
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
|
||||
<Child type="TextBox" skin="MW_TextBoxEditClient" offset = "2 2 490 18" align = "Stretch" name = "Client"/>
|
||||
|
||||
<Child type="ScrollBar" skin="MW_VScroll" offset = "494 3 14 14" align = "Right VStretch" name = "VScroll"/>
|
||||
<Child type="MWScrollBar" skin="MW_VScroll" offset = "494 3 14 14" align = "Right VStretch" name = "VScroll"/>
|
||||
|
||||
</Skin>
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
<Property key="TextAlign" value="Center"/>
|
||||
<Property key="Caption" value="0"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="122 20 210 13" name="MagnitudeMinSlider">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="122 20 210 13" name="MagnitudeMinSlider">
|
||||
<Property key="Range" value="100"/>
|
||||
</Widget>
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
|||
<Property key="TextAlign" value="Center"/>
|
||||
<Property key="Caption" value="0"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="122 52 210 13" name="MagnitudeMaxSlider">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="122 52 210 13" name="MagnitudeMaxSlider">
|
||||
<Property key="Range" value="100"/>
|
||||
</Widget>
|
||||
</Widget>
|
||||
|
@ -56,7 +56,7 @@
|
|||
<Property key="TextAlign" value="Center"/>
|
||||
<Property key="Caption" value="0"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="122 20 210 13" name="DurationSlider">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="122 20 210 13" name="DurationSlider">
|
||||
<Property key="Range" value="1440"/>
|
||||
</Widget>
|
||||
</Widget>
|
||||
|
@ -72,7 +72,7 @@
|
|||
<Property key="TextAlign" value="Center"/>
|
||||
<Property key="Caption" value="0"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="122 20 210 13" name="AreaSlider">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="122 20 210 13" name="AreaSlider">
|
||||
<Property key="Range" value="51"/>
|
||||
</Widget>
|
||||
</Widget>
|
||||
|
|
|
@ -120,7 +120,7 @@
|
|||
|
||||
<Child type="Widget" skin="MW_Box" offset="0 0 516 516" align="ALIGN_STRETCH"/>
|
||||
|
||||
<Child type="ScrollBar" skin="MW_VScroll" offset="498 3 14 509" align="ALIGN_RIGHT ALIGN_VSTRETCH" name="VScroll"/>
|
||||
<Child type="MWScrollBar" skin="MW_VScroll" offset="498 3 14 509" align="ALIGN_RIGHT ALIGN_VSTRETCH" name="VScroll"/>
|
||||
|
||||
<Child type="Widget" skin="" offset="3 3 493 509" align="ALIGN_STRETCH" name="Client"/>
|
||||
|
||||
|
@ -150,7 +150,7 @@
|
|||
|
||||
<Child type="Widget" skin="MW_Box" offset="0 0 516 516" align="ALIGN_STRETCH"/>
|
||||
|
||||
<Child type="ScrollBar" skin="MW_VScroll" offset="498 3 14 509" align="ALIGN_RIGHT ALIGN_VSTRETCH" name="VScroll"/>
|
||||
<Child type="MWScrollBar" skin="MW_VScroll" offset="498 3 14 509" align="ALIGN_RIGHT ALIGN_VSTRETCH" name="VScroll"/>
|
||||
|
||||
<Child type="Widget" skin="Default" offset="3 3 493 509" align="ALIGN_STRETCH" name="Client"/>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<Child type="Widget" skin="" offset="0 0 516 516" align="Stretch" name="Client"/>
|
||||
|
||||
<!-- invisible scroll bars, needed for setting the view offset -->
|
||||
<Child type="ScrollBar" skin="" offset="0 0 0 0" align="ALIGN_DEFAULT" name="VScroll"/>
|
||||
<Child type="ScrollBar" skin="" offset="0 0 0 0" align="ALIGN_DEFAULT" name="HScroll"/>
|
||||
<Child type="MWScrollBar" skin="" offset="0 0 0 0" align="ALIGN_DEFAULT" name="VScroll"/>
|
||||
<Child type="MWScrollBar" skin="" offset="0 0 0 0" align="ALIGN_DEFAULT" name="HScroll"/>
|
||||
</Skin>
|
||||
</MyGUI>
|
||||
|
|
|
@ -4,12 +4,12 @@
|
|||
|
||||
<Skin name="MW_ScrollView" size="516 516">
|
||||
<Child type="Widget" skin="" offset="0 0 516 516" align="Stretch" name="Client"/>
|
||||
<Child type="ScrollBar" skin="MW_VScroll" offset="498 3 14 509" align="ALIGN_RIGHT ALIGN_TOP ALIGN_VSTRETCH" name="VScroll"/>
|
||||
<Child type="MWScrollBar" skin="MW_VScroll" offset="498 3 14 509" align="ALIGN_RIGHT ALIGN_TOP ALIGN_VSTRETCH" name="VScroll"/>
|
||||
</Skin>
|
||||
|
||||
<Skin name="MW_ScrollViewH" size="516 516">
|
||||
<Child type="Widget" skin="" offset="0 0 516 516" align="Stretch" name="Client"/>
|
||||
<Child type="ScrollBar" skin="MW_HScroll" offset="3 498 509 14" align="ALIGN_LEFT ALIGN_BOTTOM ALIGN_HSTRETCH" name="HScroll"/>
|
||||
<Child type="MWScrollBar" skin="MW_HScroll" offset="3 498 509 14" align="ALIGN_LEFT ALIGN_BOTTOM ALIGN_HSTRETCH" name="HScroll"/>
|
||||
</Skin>
|
||||
|
||||
</MyGUI>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<Widget type="TextBox" skin="NormalText" position="4 4 352 18" align="Left Top">
|
||||
<Property key="Caption" value="#{sTransparency_Menu}"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="4 28 352 18" align="Left Top" name="MenuTransparencySlider">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="4 28 352 18" align="Left Top" name="MenuTransparencySlider">
|
||||
<Property key="Range" value="100"/>
|
||||
</Widget>
|
||||
<Widget type="TextBox" skin="SandText" position="4 52 352 18" align="Left Top">
|
||||
|
@ -30,7 +30,7 @@
|
|||
<Widget type="TextBox" skin="NormalText" position="4 78 352 18" align="Left Top">
|
||||
<Property key="Caption" value="#{sMenu_Help_Delay}"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="4 102 352 18" align="Left Top" name="ToolTipDelaySlider">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="4 102 352 18" align="Left Top" name="ToolTipDelaySlider">
|
||||
<Property key="Range" value="100"/>
|
||||
</Widget>
|
||||
<Widget type="TextBox" skin="SandText" position="4 126 352 18" align="Left Top">
|
||||
|
@ -64,35 +64,35 @@
|
|||
<Widget type="TextBox" skin="NormalText" position="4 4 352 18" align="Left Top">
|
||||
<Property key="Caption" value="#{sMaster}"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="4 28 352 18" align="Left Top" name="MasterVolume">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="4 28 352 18" align="Left Top" name="MasterVolume">
|
||||
<Property key="Range" value="100"/>
|
||||
</Widget>
|
||||
|
||||
<Widget type="TextBox" skin="NormalText" position="4 54 352 18" align="Left Top">
|
||||
<Property key="Caption" value="#{sVoice}"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="4 78 352 18" align="Left Top" name="VoiceVolume">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="4 78 352 18" align="Left Top" name="VoiceVolume">
|
||||
<Property key="Range" value="100"/>
|
||||
</Widget>
|
||||
|
||||
<Widget type="TextBox" skin="NormalText" position="4 104 352 18" align="Left Top">
|
||||
<Property key="Caption" value="#{sEffects}"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="4 128 352 18" align="Left Top" name="EffectsVolume">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="4 128 352 18" align="Left Top" name="EffectsVolume">
|
||||
<Property key="Range" value="100"/>
|
||||
</Widget>
|
||||
|
||||
<Widget type="TextBox" skin="NormalText" position="4 154 352 18" align="Left Top">
|
||||
<Property key="Caption" value="#{sFootsteps}"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="4 178 352 18" align="Left Top" name="FootstepsVolume">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="4 178 352 18" align="Left Top" name="FootstepsVolume">
|
||||
<Property key="Range" value="100"/>
|
||||
</Widget>
|
||||
|
||||
<Widget type="TextBox" skin="NormalText" position="4 204 352 18" align="Left Top">
|
||||
<Property key="Caption" value="#{sMusic}"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="4 228 352 18" align="Left Top" name="MusicVolume">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="4 228 352 18" align="Left Top" name="MusicVolume">
|
||||
<Property key="Range" value="100"/>
|
||||
</Widget>
|
||||
</Widget>
|
||||
|
@ -117,7 +117,7 @@
|
|||
<Widget type="TextBox" skin="NormalText" position="4 228 336 18" align="Left Top">
|
||||
<Property key="Caption" value="Camera sensitivity"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="4 252 336 18" align="Left Top" name="CameraSensitivitySlider">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="4 252 336 18" align="Left Top" name="CameraSensitivitySlider">
|
||||
<Property key="Range" value="100"/>
|
||||
</Widget>
|
||||
<Widget type="TextBox" skin="SandText" position="4 276 336 18" align="Left Top">
|
||||
|
@ -182,7 +182,7 @@
|
|||
<Widget type="TextBox" skin="NormalText" position="4 198 329 18" align="Left Top" name="FovText">
|
||||
<Property key="Caption" value="Field of View"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="4 222 329 18" align="Left Top" name="FOVSlider">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="4 222 329 18" align="Left Top" name="FOVSlider">
|
||||
<Property key="Range" value="100"/>
|
||||
</Widget>
|
||||
<Widget type="TextBox" skin="SandText" position="4 246 329 18" align="Left Top">
|
||||
|
@ -207,7 +207,7 @@
|
|||
<Widget type="TextBox" skin="SandText" position="0 0 300 24" align="Left Top" name="AnisotropyLabel">
|
||||
<Property key="Caption" value="Anisotropy"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="0 28 150 18" align="Left Top" name="AnisotropySlider">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="0 28 150 18" align="Left Top" name="AnisotropySlider">
|
||||
<Property key="Range" value="100"/>
|
||||
</Widget>
|
||||
</Widget>
|
||||
|
@ -215,7 +215,7 @@
|
|||
<Widget type="TextBox" skin="NormalText" position="4 130 322 18" align="Left Top">
|
||||
<Property key="Caption" value="#{sRender_Distance}"/>
|
||||
</Widget>
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" position="4 154 322 18" align="Left Top" name="ViewDistanceSlider">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" position="4 154 322 18" align="Left Top" name="ViewDistanceSlider">
|
||||
<Property key="Range" value="100"/>
|
||||
</Widget>
|
||||
<Widget type="TextBox" skin="SandText" position="4 178 332 18" align="Left Top">
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<Widget type="AutoSizedTextBox" skin="SandText" name="HourText">
|
||||
</Widget>
|
||||
|
||||
<Widget type="ScrollBar" skin="MW_HScroll" name="HourSlider" position="0 0 0 18">
|
||||
<Widget type="MWScrollBar" skin="MW_HScroll" name="HourSlider" position="0 0 0 18">
|
||||
<Property key="MoveToClick" value="true"/>
|
||||
<Property key="Range" value="24"/>
|
||||
<UserString key="HStretch" value="true"/>
|
||||
|
|
|
@ -146,6 +146,16 @@ namespace Physic
|
|||
return collisionMode && onGround;
|
||||
}
|
||||
|
||||
void PhysicActor::disableCollisionBody()
|
||||
{
|
||||
mEngine->dynamicsWorld->removeRigidBody(mBody);
|
||||
}
|
||||
|
||||
void PhysicActor::enableCollisionBody()
|
||||
{
|
||||
mEngine->dynamicsWorld->addRigidBody(mBody);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -129,6 +129,9 @@ namespace Physic
|
|||
|
||||
bool getOnGround() const;
|
||||
|
||||
void disableCollisionBody();
|
||||
void enableCollisionBody();
|
||||
|
||||
//HACK: in Visual Studio 2010 and presumably above, this structures alignment
|
||||
// must be 16, but the built in operator new & delete don't properly
|
||||
// perform this alignment.
|
||||
|
|
|
@ -266,11 +266,23 @@ void OgreRenderer::createWindow(const std::string &title, const WindowSettings&
|
|||
params.insert(std::make_pair("FSAA", settings.fsaa));
|
||||
params.insert(std::make_pair("vsync", settings.vsync ? "true" : "false"));
|
||||
|
||||
int pos_x = SDL_WINDOWPOS_UNDEFINED,
|
||||
pos_y = SDL_WINDOWPOS_UNDEFINED;
|
||||
|
||||
if(settings.fullscreen)
|
||||
{
|
||||
SDL_Rect display_bounds;
|
||||
if(SDL_GetDisplayBounds(settings.screen, &display_bounds) != 0)
|
||||
throw std::runtime_error("Couldn't get display bounds!");
|
||||
pos_x = display_bounds.x;
|
||||
pos_y = display_bounds.y;
|
||||
}
|
||||
|
||||
// Create an application window with the following settings:
|
||||
mSDLWindow = SDL_CreateWindow(
|
||||
"OpenMW", // window title
|
||||
SDL_WINDOWPOS_UNDEFINED, // initial x position
|
||||
SDL_WINDOWPOS_UNDEFINED, // initial y position
|
||||
pos_x, // initial x position
|
||||
pos_y, // initial y position
|
||||
settings.window_x, // width, in pixels
|
||||
settings.window_y, // height, in pixels
|
||||
SDL_WINDOW_SHOWN
|
||||
|
|
|
@ -56,6 +56,7 @@ namespace OEngine
|
|||
bool vsync;
|
||||
bool fullscreen;
|
||||
int window_x, window_y;
|
||||
int screen;
|
||||
std::string fsaa;
|
||||
std::string icon;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue