mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-30 03:15:32 +00:00
Merge branch 'openmw-28'
Conflicts: CMakeLists.txt
This commit is contained in:
commit
053b3dc371
7 changed files with 172 additions and 39 deletions
|
@ -4,10 +4,6 @@ if (APPLE)
|
|||
set(APP_BUNDLE_NAME "${CMAKE_PROJECT_NAME}.app")
|
||||
|
||||
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)
|
||||
|
||||
# Macros
|
||||
|
@ -206,10 +202,6 @@ if (MSVC10)
|
|||
set(PLATFORM_INCLUDE_DIR "")
|
||||
endif()
|
||||
|
||||
if (APPLE)
|
||||
set(Boost_USE_STATIC_LIBS ON)
|
||||
endif (APPLE)
|
||||
|
||||
# Dependencies
|
||||
|
||||
# Fix for not visible pthreads functions for linker with glibc 2.15
|
||||
|
@ -261,9 +253,15 @@ if (APPLE)
|
|||
# List used Ogre plugins
|
||||
SET(USED_OGRE_PLUGINS ${OGRE_RenderSystem_GL_LIBRARY_REL}
|
||||
${OGRE_Plugin_OctreeSceneManager_LIBRARY_REL}
|
||||
${OGRE_Plugin_CgProgramManager_LIBRARY_REL}
|
||||
${OGRE_Plugin_ParticleFX_LIBRARY_REL})
|
||||
|
||||
# Actually we must use OGRE_Plugin_CgProgramManager_FOUND but it's
|
||||
# not reliable and equals TRUE even if there's no Ogre Cg plugin
|
||||
if (Cg_FOUND)
|
||||
set(USED_OGRE_PLUGINS ${USED_OGRE_PLUGINS}
|
||||
${OGRE_Plugin_CgProgramManager_LIBRARY_REL})
|
||||
endif ()
|
||||
|
||||
if (${OGRE_PLUGIN_DIR_REL}})
|
||||
set(OGRE_PLUGINS_REL_FOUND TRUE)
|
||||
endif ()
|
||||
|
@ -301,7 +299,8 @@ endif()
|
|||
add_definitions(-DOGRE_PLUGIN_DIR_REL="${OGRE_PLUGIN_DIR_REL}")
|
||||
add_definitions(-DOGRE_PLUGIN_DIR_DBG="${OGRE_PLUGIN_DIR_DBG}")
|
||||
if (APPLE AND OPENMW_OSX_DEPLOYMENT)
|
||||
add_definitions(-DOGRE_PLUGIN_DIR="${APP_BUNDLE_NAME}/Contents/Plugins")
|
||||
# make it empty so plugin loading code can check this and try to find plugins inside app bundle
|
||||
add_definitions(-DOGRE_PLUGIN_DIR="")
|
||||
else()
|
||||
add_definitions(-DOGRE_PLUGIN_DIR="${OGRE_PLUGIN_DIR}")
|
||||
endif()
|
||||
|
@ -662,9 +661,9 @@ if (APPLE)
|
|||
|
||||
set(OPENMW_APP "\${CMAKE_INSTALL_PREFIX}/${INSTALL_SUBDIR}/${APP_BUNDLE_NAME}")
|
||||
|
||||
set(OPENCS_APP "\${CMAKE_INSTALL_PREFIX}/${INSTALL_SUBDIR}/OpenCS.app")
|
||||
set(OPENCS_BUNDLE_NAME "OpenCS.app")
|
||||
set(OPENCS_APP "\${CMAKE_INSTALL_PREFIX}/${INSTALL_SUBDIR}/${OPENCS_BUNDLE_NAME}")
|
||||
|
||||
set(PLUGINS "")
|
||||
set(ABSOLUTE_PLUGINS "")
|
||||
|
||||
foreach (PLUGIN ${USED_OGRE_PLUGINS})
|
||||
|
@ -672,12 +671,25 @@ if (APPLE)
|
|||
set(ABSOLUTE_PLUGINS ${PLUGIN_ABS} ${ABSOLUTE_PLUGINS})
|
||||
endforeach ()
|
||||
|
||||
set(PLUGIN_INSTALL_BASE "\${CMAKE_INSTALL_PREFIX}/${INSTALL_SUBDIR}/${APP_BUNDLE_NAME}/Contents/Plugins")
|
||||
install(FILES ${ABSOLUTE_PLUGINS} DESTINATION "${INSTALL_SUBDIR}/${APP_BUNDLE_NAME}/Contents/Plugins" COMPONENT Runtime)
|
||||
foreach (PLUGIN ${ABSOLUTE_PLUGINS})
|
||||
get_filename_component(PLUGIN_RELATIVE ${PLUGIN} NAME)
|
||||
set(PLUGINS ${PLUGINS} "${PLUGIN_INSTALL_BASE}/${PLUGIN_RELATIVE}")
|
||||
endforeach ()
|
||||
# installs used plugins in bundle at given path (bundle_path must be relative to ${CMAKE_INSTALL_PREFIX})
|
||||
# and returns list of install paths for all installed plugins
|
||||
function (install_plugins_for_bundle bundle_path plugins_var)
|
||||
set(RELATIVE_PLUGIN_INSTALL_BASE "${bundle_path}/Contents/Plugins")
|
||||
install(FILES ${ABSOLUTE_PLUGINS} DESTINATION ${RELATIVE_PLUGIN_INSTALL_BASE} COMPONENT Runtime)
|
||||
|
||||
set(PLUGINS "")
|
||||
set(PLUGIN_INSTALL_BASE "\${CMAKE_INSTALL_PREFIX}/${RELATIVE_PLUGIN_INSTALL_BASE}")
|
||||
|
||||
foreach (PLUGIN ${ABSOLUTE_PLUGINS})
|
||||
get_filename_component(PLUGIN_RELATIVE ${PLUGIN} NAME)
|
||||
set(PLUGINS ${PLUGINS} "${PLUGIN_INSTALL_BASE}/${PLUGIN_RELATIVE}")
|
||||
endforeach ()
|
||||
|
||||
set(${plugins_var} ${PLUGINS} PARENT_SCOPE)
|
||||
endfunction (install_plugins_for_bundle)
|
||||
|
||||
install_plugins_for_bundle("${INSTALL_SUBDIR}/${APP_BUNDLE_NAME}" PLUGINS)
|
||||
install_plugins_for_bundle("${INSTALL_SUBDIR}/${OPENCS_BUNDLE_NAME}" OPENCS_PLUGINS)
|
||||
|
||||
#For now, search unresolved dependencies only in default system paths, so if you put unresolveable (i.e. with @executable_path in id name) lib or framework somewhere else, it would fail
|
||||
set(DIRS "")
|
||||
|
@ -725,7 +737,7 @@ if (APPLE)
|
|||
set(BU_CHMOD_BUNDLE_ITEMS ON)
|
||||
include(BundleUtilities)
|
||||
fixup_bundle(\"${OPENMW_APP}\" \"${PLUGINS}\" \"${DIRS}\")
|
||||
fixup_bundle(\"${OPENCS_APP}\" \"\" \"${DIRS}\")
|
||||
fixup_bundle(\"${OPENCS_APP}\" \"${OPENCS_PLUGINS}\" \"${DIRS}\")
|
||||
" COMPONENT Runtime)
|
||||
include(CPack)
|
||||
endif (APPLE)
|
||||
|
|
|
@ -210,6 +210,8 @@ int CS::Editor::run()
|
|||
if (mLocal.empty())
|
||||
return 1;
|
||||
|
||||
// temporarily disable OGRE-integration (need to fix path problem first)
|
||||
#if 0
|
||||
// TODO: setting
|
||||
Ogre::Root::getSingleton().setRenderSystem(Ogre::Root::getSingleton().getRenderSystemByName("OpenGL Rendering Subsystem"));
|
||||
|
||||
|
@ -221,8 +223,12 @@ int CS::Editor::run()
|
|||
params.insert(std::make_pair("FSAA", "0"));
|
||||
params.insert(std::make_pair("vsync", "false"));
|
||||
params.insert(std::make_pair("hidden", "true"));
|
||||
#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
|
||||
params.insert(std::make_pair("macAPI", "cocoa"));
|
||||
#endif
|
||||
Ogre::RenderWindow* hiddenWindow = Ogre::Root::getSingleton().createRenderWindow("InactiveHidden", 1, 1, false, ¶ms);
|
||||
hiddenWindow->setActive(false);
|
||||
#endif
|
||||
|
||||
mStartup.show();
|
||||
|
||||
|
|
|
@ -44,8 +44,11 @@ int main(int argc, char *argv[])
|
|||
// SceneWidget destructor will delete the created render window, which would be called _after_ Root has shut down :(
|
||||
|
||||
Application mApplication (argc, argv);
|
||||
// temporarily disable OGRE-integration (need to fix path problem first)
|
||||
#if 0
|
||||
OgreInit::OgreInit ogreInit;
|
||||
ogreInit.init("./opencsOgre.log"); // TODO log path?
|
||||
#endif
|
||||
|
||||
#ifdef Q_OS_MAC
|
||||
QDir dir(QCoreApplication::applicationDirPath());
|
||||
|
|
|
@ -67,6 +67,10 @@ namespace CSVRender
|
|||
params.insert(std::make_pair("title", windowTitle.str()));
|
||||
params.insert(std::make_pair("FSAA", "0")); // TODO setting
|
||||
params.insert(std::make_pair("vsync", "false")); // TODO setting
|
||||
#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
|
||||
params.insert(std::make_pair("macAPI", "cocoa"));
|
||||
params.insert(std::make_pair("macAPICocoaUseNSView", "true"));
|
||||
#endif
|
||||
|
||||
mWindow = Ogre::Root::getSingleton().createRenderWindow(windowTitle.str(), this->width(), this->height(), false, ¶ms);
|
||||
mWindow->addViewport(mCamera)->setBackgroundColour(Ogre::ColourValue(0.3,0.3,0.3,1));
|
||||
|
|
|
@ -43,12 +43,26 @@ toolbar->addTool (new SceneToolMode (toolbar));
|
|||
toolbar->addTool (new SceneToolMode (toolbar));
|
||||
layout2->addWidget (toolbar, 0);
|
||||
|
||||
|
||||
// temporarily disable OGRE-integration (need to fix path problem first)
|
||||
#if 0
|
||||
CSVRender::SceneWidget* sceneWidget = new CSVRender::SceneWidget(this);
|
||||
|
||||
layout2->addWidget (sceneWidget, 1);
|
||||
|
||||
layout->insertLayout (0, layout2, 1);
|
||||
#endif
|
||||
/// \todo replace with rendering widget
|
||||
QPalette palette2 (palette());
|
||||
palette2.setColor (QPalette::Background, Qt::white);
|
||||
QLabel *placeholder = new QLabel ("Here goes the 3D scene", this);
|
||||
placeholder->setAutoFillBackground (true);
|
||||
placeholder->setPalette (palette2);
|
||||
placeholder->setAlignment (Qt::AlignHCenter);
|
||||
|
||||
layout2->addWidget (placeholder, 1);
|
||||
|
||||
layout->insertLayout (0, layout2, 1);
|
||||
|
||||
|
||||
CSVFilter::FilterBox *filterBox = new CSVFilter::FilterBox (document.getData(), this);
|
||||
|
||||
|
|
|
@ -6,6 +6,10 @@
|
|||
#include <OgreParticleEmitterFactory.h>
|
||||
#include <OgreParticleSystemManager.h>
|
||||
|
||||
#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
|
||||
#include <OSX/macUtils.h>
|
||||
#endif
|
||||
|
||||
#include <components/nifogre/particles.hpp>
|
||||
|
||||
#include "ogreplugin.hpp"
|
||||
|
@ -127,6 +131,9 @@ namespace OgreInit
|
|||
#endif
|
||||
#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
|
||||
pluginDir = OGRE_PLUGIN_DIR;
|
||||
// if path is not specified try to find plugins inside the app bundle
|
||||
if (pluginDir.empty())
|
||||
pluginDir = Ogre::macPluginPath();
|
||||
#endif
|
||||
#if OGRE_PLATFORM == OGRE_PLATFORM_LINUX
|
||||
pluginDir = OGRE_PLUGIN_DIR_REL;
|
||||
|
|
125
readme.txt
125
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
|
||||
Morrowind by Bethesda Softworks. You need to own and install the original game for OpenMW to work.
|
||||
|
||||
Version: 0.27.0
|
||||
Version: 0.28.0
|
||||
License: GPL (see GPL3.txt for more information)
|
||||
Website: http://www.openmw.org
|
||||
|
||||
|
@ -48,42 +48,42 @@ Allowed options:
|
|||
--version print version information and quit
|
||||
--data arg (=data) set data directories (later directories
|
||||
have higher priority)
|
||||
--data-local arg set local data directory (highest
|
||||
--data-local arg set local data directory (highest
|
||||
priority)
|
||||
--fallback-archive arg (=fallback-archive)
|
||||
set fallback BSA archives (later
|
||||
set fallback BSA archives (later
|
||||
archives have higher priority)
|
||||
--resources arg (=resources) set resources directory
|
||||
--start arg (=Beshara) set initial cell
|
||||
--content arg content file(s): esm/esp, or
|
||||
--content arg content file(s): esm/esp, or
|
||||
omwgame/omwaddon
|
||||
--anim-verbose [=arg(=1)] (=0) output animation indices files
|
||||
--no-sound [=arg(=1)] (=0) disable all sounds
|
||||
--script-verbose [=arg(=1)] (=0) verbose script output
|
||||
--script-all [=arg(=1)] (=0) compile all scripts (excluding dialogue
|
||||
scripts) at startup
|
||||
--script-console [=arg(=1)] (=0) enable console-only script
|
||||
--script-console [=arg(=1)] (=0) enable console-only script
|
||||
functionality
|
||||
--script-run arg select a file containing a list of
|
||||
console commands that is executed on
|
||||
--script-run arg select a file containing a list of
|
||||
console commands that is executed on
|
||||
startup
|
||||
--new-game [=arg(=1)] (=0) activate char gen/new game mechanics
|
||||
--fs-strict [=arg(=1)] (=0) strict file system handling (no case
|
||||
--fs-strict [=arg(=1)] (=0) strict file system handling (no case
|
||||
folding)
|
||||
--encoding arg (=win1252) Character encoding used in OpenMW game
|
||||
--encoding arg (=win1252) Character encoding used in OpenMW game
|
||||
messages:
|
||||
|
||||
win1250 - Central and Eastern European
|
||||
such as Polish, Czech, Slovak,
|
||||
Hungarian, Slovene, Bosnian, Croatian,
|
||||
Serbian (Latin script), Romanian and
|
||||
|
||||
win1250 - Central and Eastern European
|
||||
such as Polish, Czech, Slovak,
|
||||
Hungarian, Slovene, Bosnian, Croatian,
|
||||
Serbian (Latin script), Romanian and
|
||||
Albanian languages
|
||||
|
||||
win1251 - Cyrillic alphabet such as
|
||||
Russian, Bulgarian, Serbian Cyrillic
|
||||
|
||||
win1251 - Cyrillic alphabet such as
|
||||
Russian, Bulgarian, Serbian Cyrillic
|
||||
and other languages
|
||||
|
||||
win1252 - Western European (Latin)
|
||||
|
||||
win1252 - Western European (Latin)
|
||||
alphabet, used by default
|
||||
--fallback arg fallback values
|
||||
--no-grab Don't grab mouse cursor
|
||||
|
@ -91,6 +91,93 @@ Allowed options:
|
|||
|
||||
CHANGELOG
|
||||
|
||||
0.28.0
|
||||
|
||||
Bug #399: Inventory changes are not visible immediately
|
||||
Bug #417: Apply weather instantly when teleporting
|
||||
Bug #566: Global Map position marker not updated for interior cells
|
||||
Bug #712: Looting corpse delay
|
||||
Bug #716: Problem with the "Vurt's Ascadian Isles Mod" mod
|
||||
Bug #805: Two TR meshes appear black (v0.24RC)
|
||||
Bug #841: Third-person activation distance taken from camera rather than head
|
||||
Bug #845: NPCs hold torches during the day
|
||||
Bug #855: Vvardenfell Visages Volume I some hairs don´t appear since 0,24
|
||||
Bug #856: Maormer race by Mac Kom - The heads are way up
|
||||
Bug #864: Walk locks during loading in 3rd person
|
||||
Bug #871: active weapon/magic item icon is not immediately made blank if item is removed during dialog
|
||||
Bug #882: Hircine's Ring doesn't always work
|
||||
Bug #909: [Tamriel Rebuilt] crashes in Akamora
|
||||
Bug #922: Launcher writing merged openmw.cfg files
|
||||
Bug #943: Random magnitude should be calculated per effect
|
||||
Bug #948: Negative fatigue level should be allowed
|
||||
Bug #949: Particles in world space
|
||||
Bug #950: Hard crash on x64 Linux running --new-game (on startup)
|
||||
Bug #951: setMagicka and setFatigue have no effect
|
||||
Bug #954: Problem with equipping inventory items when using a keyboard shortcut
|
||||
Bug #955: Issues with equipping torches
|
||||
Bug #966: Shield is visible when casting spell
|
||||
Bug #967: Game crashes when equipping silver candlestick
|
||||
Bug #970: Segmentation fault when starting at Bal Isra
|
||||
Bug #977: Pressing down key in console doesn't go forward in history
|
||||
Bug #979: Tooltip disappears when changing inventory
|
||||
Bug #980: Barter: item category is remembered, but not shown
|
||||
Bug #981: Mod: replacing model has wrong position/orientation
|
||||
Bug #982: Launcher: Addon unchecking is not saved
|
||||
Bug #983: Fix controllers to affect objects attached to the base node
|
||||
Bug #985: Player can talk to NPCs who are in combat
|
||||
Bug #989: OpenMW crashes when trying to include mod with capital .ESP
|
||||
Bug #991: Merchants equip items with harmful constant effect enchantments
|
||||
Bug #994: Don't cap skills/attributes when set via console
|
||||
Bug #998: Setting the max health should also set the current health
|
||||
Bug #1005: Torches are visible when casting spells and during hand to hand combat.
|
||||
Bug #1006: Many NPCs have 0 skill
|
||||
Bug #1007: Console fills up with text
|
||||
Bug #1013: Player randomly loses health or dies
|
||||
Bug #1014: Persuasion window is not centered in maximized window
|
||||
Bug #1015: Player status window scroll state resets on status change
|
||||
Bug #1016: Notification window not big enough for all skill level ups
|
||||
Bug #1020: Saved window positions are not rescaled appropriately on resolution change
|
||||
Bug #1022: Messages stuck permanently on screen when they pile up
|
||||
Bug #1023: Journals doesn't open
|
||||
Bug #1026: Game loses track of torch usage.
|
||||
Bug #1028: Crash on pickup of jug in Unexplored Shipwreck, Upper level
|
||||
Bug #1029: Quick keys menu: Select compatible replacement when tool used up
|
||||
Bug #1042: TES3 header data wrong encoding
|
||||
Bug #1045: OS X: deployed OpenCS won't launch
|
||||
Bug #1046: All damaged weaponry is worth 1 gold
|
||||
Bug #1048: Links in "locked" dialogue are still clickable
|
||||
Bug #1052: Using color codes when naming your character actually changes the name's color
|
||||
Bug #1054: Spell effects not visible in front of water
|
||||
Bug #1055: Power-Spell animation starts even though you already casted it that day
|
||||
Bug #1059: Cure disease potion removes all effects from player, even your race bonus and race ability
|
||||
Bug #1063: Crash upon checking out game start ship area in Seyda Neen
|
||||
Bug #1064: openmw binaries link to unnecessary libraries
|
||||
Bug #1065: Landing from a high place in water still causes fall damage
|
||||
Bug #1072: Drawing weapon increases torch brightness
|
||||
Bug #1073: Merchants sell stacks of gold
|
||||
Feature #43: Visuals for Magic Effects
|
||||
Feature #51: Ranged Magic
|
||||
Feature #52: Touch Range Magic
|
||||
Feature #53: Self Range Magic
|
||||
Feature #54: Spell Casting
|
||||
Feature #70: Vampirism
|
||||
Feature #100: Combat AI
|
||||
Feature #171: Implement NIF record NiFlipController
|
||||
Feature #410: Window to restore enchanted item charge
|
||||
Feature #647: Enchanted item glow
|
||||
Feature #723: Invisibility/Chameleon magic effects
|
||||
Feature #737: Resist Magicka magic effect
|
||||
Feature #758: GetLOS
|
||||
Feature #926: Editor: Info-Record tables
|
||||
Feature #958: Material controllers
|
||||
Feature #959: Terrain bump, specular, & parallax mapping
|
||||
Feature #990: Request: unlock mouse when in any menu
|
||||
Feature #1018: Do not allow view mode switching while performing an action
|
||||
Feature #1027: Vertex morph animation (NiGeomMorpherController)
|
||||
Feature #1031: Handle NiBillboardNode
|
||||
Feature #1051: Implement NIF texture slot DarkTexture
|
||||
Task #873: Unify OGRE initialisation
|
||||
|
||||
0.27.0
|
||||
|
||||
Bug #597: Assertion `dialogue->mId == id' failed in esmstore.cpp
|
||||
|
|
Loading…
Reference in a new issue