mirror of
https://github.com/OpenMW/openmw.git
synced 2025-01-21 06:53:53 +00:00
Merge branch 'openmw24'
This commit is contained in:
commit
bd08677a7f
7 changed files with 85 additions and 20 deletions
|
@ -4,6 +4,10 @@ if (APPLE)
|
||||||
set(APP_BUNDLE_NAME "${CMAKE_PROJECT_NAME}.app")
|
set(APP_BUNDLE_NAME "${CMAKE_PROJECT_NAME}.app")
|
||||||
|
|
||||||
set(APP_BUNDLE_DIR "${OpenMW_BINARY_DIR}/${APP_BUNDLE_NAME}")
|
set(APP_BUNDLE_DIR "${OpenMW_BINARY_DIR}/${APP_BUNDLE_NAME}")
|
||||||
|
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "-F /Library/Frameworks")
|
||||||
|
set(CMAKE_SHARED_LINKER_FLAGS "-F /Library/Frameworks")
|
||||||
|
set(CMAKE_MODULE_LINKER_FLAGS "-F /Library/Frameworks")
|
||||||
endif (APPLE)
|
endif (APPLE)
|
||||||
|
|
||||||
# Macros
|
# Macros
|
||||||
|
@ -15,7 +19,7 @@ include (OpenMWMacros)
|
||||||
# Version
|
# Version
|
||||||
|
|
||||||
set (OPENMW_VERSION_MAJOR 0)
|
set (OPENMW_VERSION_MAJOR 0)
|
||||||
set (OPENMW_VERSION_MINOR 23)
|
set (OPENMW_VERSION_MINOR 24)
|
||||||
set (OPENMW_VERSION_RELEASE 0)
|
set (OPENMW_VERSION_RELEASE 0)
|
||||||
|
|
||||||
set (OPENMW_VERSION "${OPENMW_VERSION_MAJOR}.${OPENMW_VERSION_MINOR}.${OPENMW_VERSION_RELEASE}")
|
set (OPENMW_VERSION "${OPENMW_VERSION_MAJOR}.${OPENMW_VERSION_MINOR}.${OPENMW_VERSION_RELEASE}")
|
||||||
|
|
|
@ -310,6 +310,8 @@ void MainDialog::changePage(QListWidgetItem *current, QListWidgetItem *previous)
|
||||||
|
|
||||||
bool MainDialog::setupLauncherSettings()
|
bool MainDialog::setupLauncherSettings()
|
||||||
{
|
{
|
||||||
|
mLauncherSettings.setMultiValueEnabled(true);
|
||||||
|
|
||||||
QString userPath = QString::fromStdString(mCfgMgr.getUserPath().string());
|
QString userPath = QString::fromStdString(mCfgMgr.getUserPath().string());
|
||||||
|
|
||||||
QStringList paths;
|
QStringList paths;
|
||||||
|
@ -427,6 +429,8 @@ bool MainDialog::setupGameSettings()
|
||||||
|
|
||||||
bool MainDialog::setupGraphicsSettings()
|
bool MainDialog::setupGraphicsSettings()
|
||||||
{
|
{
|
||||||
|
mGraphicsSettings.setMultiValueEnabled(false);
|
||||||
|
|
||||||
QString userPath = QString::fromStdString(mCfgMgr.getUserPath().string());
|
QString userPath = QString::fromStdString(mCfgMgr.getUserPath().string());
|
||||||
QString globalPath = QString::fromStdString(mCfgMgr.getGlobalPath().string());
|
QString globalPath = QString::fromStdString(mCfgMgr.getGlobalPath().string());
|
||||||
|
|
||||||
|
|
|
@ -103,8 +103,8 @@ bool GameSettings::readFile(QTextStream &stream)
|
||||||
|
|
||||||
if (keyRe.indexIn(line) != -1) {
|
if (keyRe.indexIn(line) != -1) {
|
||||||
|
|
||||||
QString key = keyRe.cap(1);
|
QString key = keyRe.cap(1).trimmed();
|
||||||
QString value = keyRe.cap(2);
|
QString value = keyRe.cap(2).trimmed();
|
||||||
|
|
||||||
// Don't remove existing data entries
|
// Don't remove existing data entries
|
||||||
if (key != QLatin1String("data"))
|
if (key != QLatin1String("data"))
|
||||||
|
|
|
@ -14,7 +14,7 @@ class SettingsBase
|
||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SettingsBase() {}
|
SettingsBase() { mMultiValue = false; }
|
||||||
~SettingsBase() {}
|
~SettingsBase() {}
|
||||||
|
|
||||||
inline QString value(const QString &key, const QString &defaultValue = QString())
|
inline QString value(const QString &key, const QString &defaultValue = QString())
|
||||||
|
@ -36,6 +36,11 @@ public:
|
||||||
mSettings.insertMulti(key, value);
|
mSettings.insertMulti(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void setMultiValueEnabled(bool enable)
|
||||||
|
{
|
||||||
|
mMultiValue = enable;
|
||||||
|
}
|
||||||
|
|
||||||
inline void remove(const QString &key)
|
inline void remove(const QString &key)
|
||||||
{
|
{
|
||||||
mSettings.remove(key);
|
mSettings.remove(key);
|
||||||
|
@ -75,8 +80,13 @@ public:
|
||||||
mSettings.remove(key);
|
mSettings.remove(key);
|
||||||
|
|
||||||
QStringList values = mCache.values(key);
|
QStringList values = mCache.values(key);
|
||||||
|
|
||||||
if (!values.contains(value)) {
|
if (!values.contains(value)) {
|
||||||
mCache.insertMulti(key, value);
|
if (mMultiValue) {
|
||||||
|
mCache.insertMulti(key, value);
|
||||||
|
} else {
|
||||||
|
mCache.insert(key, value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -94,6 +104,8 @@ public:
|
||||||
private:
|
private:
|
||||||
Map mSettings;
|
Map mSettings;
|
||||||
Map mCache;
|
Map mCache;
|
||||||
|
|
||||||
|
bool mMultiValue;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SETTINGSBASE_HPP
|
#endif // SETTINGSBASE_HPP
|
||||||
|
|
|
@ -251,10 +251,8 @@ namespace MWGui
|
||||||
MyGUI::Gui::getInstance().destroyWidget(mParent->getChildAt(0));
|
MyGUI::Gui::getInstance().destroyWidget(mParent->getChildAt(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::algorithm::replace_all(text, "\n", "\n");
|
boost::algorithm::replace_all(text, "<BR>", "\n");
|
||||||
boost::algorithm::replace_all(text, "\r", "\r");
|
boost::algorithm::replace_all(text, "<P>", "\n\n");
|
||||||
boost::algorithm::replace_all(text, "<BR>", "\n\n");
|
|
||||||
boost::algorithm::replace_all(text, "<P>", "\n\n"); // tweaking by adding another newline to see if that spaces out better
|
|
||||||
boost::algorithm::trim_left(text);
|
boost::algorithm::trim_left(text);
|
||||||
|
|
||||||
// remove trailing "
|
// remove trailing "
|
||||||
|
|
|
@ -2,9 +2,17 @@
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>PlayPage</class>
|
<class>PlayPage</class>
|
||||||
<widget class="QWidget" name="PlayPage">
|
<widget class="QWidget" name="PlayPage">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>274</width>
|
||||||
|
<height>317</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QFrame" name="Scroll">
|
<widget class="QWidget" name="Scroll" native="true">
|
||||||
<property name="styleSheet">
|
<property name="styleSheet">
|
||||||
<string notr="true">#Scroll {
|
<string notr="true">#Scroll {
|
||||||
background-image: url(":/images/playpage-background.png");
|
background-image: url(":/images/playpage-background.png");
|
||||||
|
@ -13,15 +21,6 @@
|
||||||
}
|
}
|
||||||
</string>
|
</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="frameShape">
|
|
||||||
<enum>QFrame::StyledPanel</enum>
|
|
||||||
</property>
|
|
||||||
<property name="frameShadow">
|
|
||||||
<enum>QFrame::Plain</enum>
|
|
||||||
</property>
|
|
||||||
<property name="lineWidth">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<property name="leftMargin">
|
<property name="leftMargin">
|
||||||
<number>30</number>
|
<number>30</number>
|
||||||
|
|
50
readme.txt
50
readme.txt
|
@ -3,7 +3,7 @@ OpenMW: A reimplementation of The Elder Scrolls III: Morrowind
|
||||||
OpenMW is an attempt at recreating the engine for the popular role-playing game
|
OpenMW is an attempt at recreating the engine for the popular role-playing game
|
||||||
Morrowind by Bethesda Softworks. You need to own and install the original game for OpenMW to work.
|
Morrowind by Bethesda Softworks. You need to own and install the original game for OpenMW to work.
|
||||||
|
|
||||||
Version: 0.23.0
|
Version: 0.24.0
|
||||||
License: GPL (see GPL3.txt for more information)
|
License: GPL (see GPL3.txt for more information)
|
||||||
Website: http://www.openmw.org
|
Website: http://www.openmw.org
|
||||||
|
|
||||||
|
@ -94,6 +94,54 @@ Allowed options:
|
||||||
|
|
||||||
CHANGELOG
|
CHANGELOG
|
||||||
|
|
||||||
|
0.24.0
|
||||||
|
|
||||||
|
Bug #284: Book's text misalignment
|
||||||
|
Bug #445: Camera able to get slightly below floor / terrain
|
||||||
|
Bug #582: Seam issue in Red Mountain
|
||||||
|
Bug #632: Journal Next Button shows white square
|
||||||
|
Bug #653: IndexedStore ignores index
|
||||||
|
Bug #694: Parser does not recognize float values starting with .
|
||||||
|
Bug #699: Resource handling broken with Ogre 1.9 trunk
|
||||||
|
Bug #718: components/esm/loadcell is using the mwworld subsystem
|
||||||
|
Bug #729: Levelled item list tries to add nonexistent item
|
||||||
|
Bug #730: Arrow buttons in the settings menu do not work.
|
||||||
|
Bug #732: Erroneous behavior when binding keys
|
||||||
|
Bug #733: Unclickable dialogue topic
|
||||||
|
Bug #734: Book empty line problem
|
||||||
|
Bug #738: OnDeath only works with implicit references
|
||||||
|
Bug #740: Script compiler fails on scripts with special names
|
||||||
|
Bug #742: Wait while no clipping
|
||||||
|
Bug #743: Problem with changeweather console command
|
||||||
|
Bug #744: No wait dialogue after starting a new game
|
||||||
|
Bug #748: Player is not able to unselect objects with the console
|
||||||
|
Bug #751: AddItem should only spawn a message box when called from dialogue
|
||||||
|
Bug #752: The enter button has several functions in trade and looting that is not impelemted.
|
||||||
|
Bug #753: Fargoth's Ring Quest Strange Behavior
|
||||||
|
Bug #755: Launcher writes duplicate lines into settings.cfg
|
||||||
|
Bug #759: Second quest in mages guild does not work
|
||||||
|
Bug #763: Enchantment cast cost is wrong
|
||||||
|
Bug #770: The "Take" and "Close" buttons in the scroll GUI are stretched incorrectly
|
||||||
|
Bug #773: AIWander Isn't Being Passed The Correct idle Values
|
||||||
|
Bug #778: The journal can be opened at the start of a new game
|
||||||
|
Bug #779: Divayth Fyr starts as dead
|
||||||
|
Bug #787: "Batch count" on detailed FPS counter gets cut-off
|
||||||
|
Bug #788: chargen scroll layout does not match vanilla
|
||||||
|
Feature #60: Atlethics Skill
|
||||||
|
Feature #65: Security Skill
|
||||||
|
Feature #74: Interaction with non-load-doors
|
||||||
|
Feature #98: Render Weapon and Shield
|
||||||
|
Feature #102: AI Package: Escort, EscortCell
|
||||||
|
Feature #182: Advanced Journal GUI
|
||||||
|
Feature #288: Trading enhancements
|
||||||
|
Feature #405: Integrate "new game" into the menu
|
||||||
|
Feature #537: Highlight dialogue topic links
|
||||||
|
Feature #658: Rotate, RotateWorld script instructions and local rotations
|
||||||
|
Feature #690: Animation Layering
|
||||||
|
Feature #722: Night Eye/Blind magic effects
|
||||||
|
Feature #735: Move, MoveWorld script instructions.
|
||||||
|
Feature #760: Non-removable corpses
|
||||||
|
|
||||||
0.23.0
|
0.23.0
|
||||||
|
|
||||||
Bug #522: Player collides with placeable items
|
Bug #522: Player collides with placeable items
|
||||||
|
|
Loading…
Reference in a new issue