Commit Graph

2937 Commits (move)

Author SHA1 Message Date
scrawl 06ed20abf8 Use the initial pose of a MorphGeometry for object placement (Fixes #3136) 9 years ago
scrawl 8360cccce7 Don't clone Drawable UpdateCallbacks twice
The Drawable copy constructor takes care of that already.
9 years ago
scrawl 6b48acaf0e Don't optimize TriShapes with controllers (Fixes #3143) 9 years ago
scrawl d9290b0ee0 Array fix 9 years ago
scrawl aec8c38461 Move observer_ptr include where it belongs 9 years ago
scrawl 48f53e23bf Allow alternate mesh formats for marker_error 9 years ago
Tobias Kortkamp 0659687bfb Some fixes for building on FreeBSD 9 years ago
scrawl f0971ee8ad Implement Fixme script instruction 9 years ago
scrawl 41c571d4f4 Merge branch 'master' of https://github.com/OpenMW/openmw into lighting
Conflicts:
	apps/opencs/view/render/instancemode.cpp
9 years ago
scrawl 62fe47b144 Load default terrain if there is none defined 9 years ago
scrawl 458a305bff OpenCS: add lighting mask 9 years ago
scrawl e1c7165bfb Fix bounds calculation for addLight to a transform node 9 years ago
scrawl 93cc08a09c Lighting fix for LightListCallbacks attached to a Transform node 9 years ago
scrawl 3089aeccc4 Factor out SceneUtil::addLight 9 years ago
scrawl 438b30d6f0 Move configureLight to a separate file 9 years ago
scrawl 11496b8075 Read fallback settings in OpenCS 9 years ago
scrawl 6546c05428 Move Fallback map to components/ 9 years ago
Marc Zinnschlag ece40b1e96 improved the remaining handling of extra arguments 9 years ago
Marc Zinnschlag 46e32de350 improved handling of extra arguments in DiscardParser 9 years ago
Marc Zinnschlag f9607a47b3 improved handling of extra arguments in StringParser 9 years ago
Marc Zinnschlag 210c77968a Don't report warning about extra arguments, if there are no extra arguments (Fixes #3133) 9 years ago
scrawl daa94cc50e Fix cppcheck warnings 9 years ago
scrawl 0597c8fd9c Pass a Vec4f by reference 9 years ago
scrawl ea0be6e737 Update ScriptArgs documentation 9 years ago
scrawl 23cd2056bf Ignore extra arguments in playSound and playSound3D.
A common mistake in mods is to use playSound with volume/pitch arguments, which only playSoundVP supports. Previously these extra arguments raised a parser error, making the respective mod unusable.
9 years ago
scrawl e695619aa5 ExprParser: Warn about ignored arguments 9 years ago
scrawl 3ebfb47983 Do not discard root node transformations if the root node is named 'bip01' (Bug #3118) 9 years ago
Alexander "Ace" Olofsson 0efb8e2949 osgDB::ObjectCache was added in 3.3.3, not 3.4.0
Fixes redefinition error on builds with OSG >3.3.3 <3.4.0
9 years ago
scrawl deb7f3caf6 Print deletion state in ObjectReferenceInfo 9 years ago
scrawl 723c392a73 NifLoader: fall back to the first UV set when encountering invalid UV set references 9 years ago
scrawl 0731595c2b Wrap a Texture2D in a ref_ptr 9 years ago
scrawl 31c3324705 Don't assume the emitter node is a Group (Fixes #3082)
This would be a correct assumption by default, but is no longer true when the NifLoader::optimize() function optimizes the graph.
9 years ago
scrawl d5a2586f38 LoadingScreen: add support for important labels
Used in saveGame so the player can be sure whether or not the game was saved.

Fixes #3074
9 years ago
scrawl 625644e917 LoadingScreen: documentation updates 9 years ago
scrawl ccbba5e926 LoadingScreen: remove indicateProgress, not used 9 years ago
scrawl 78a733a12c Fix initialization of InputWrapper::mWindowHasFocus 9 years ago
scrawl c70790ecb7 Remove outdated comment 9 years ago
scrawl 076dc539bc KeyframeManager fix 9 years ago
Chris Robinson f1faeeae3a Use separate config options for min and mag texture filters 9 years ago
Chris Robinson 5c0a847eaf Combine some duplicate code 9 years ago
scrawl 64424e7262 Move keyframe loading out of SceneManager to new KeyframeManager 9 years ago
scrawl 295563ba65 Minor fix 9 years ago
scrawl 6f966b8434 Don't use osg::notify 9 years ago
Paul Cercueil 06719df868 Use the standard cursor if the custom cursor can't be used
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
9 years ago
scrawl 0efce6cd4c Fix typo in a comment 9 years ago
scrawl eb92b853fe BulletNifLoader: preallocate the btTriangleMesh's vertices/indices 9 years ago
scrawl 293f3f30b5 Indentation fix 9 years ago
scrawl 57b7cac13f Merge pull request #850 from MatthewRock/fix-2952-2
Fix for bug #2952: Enchantment Merchant Items reshuffled EVERY time 'barter' is clicked
9 years ago
MatthewRock 3b254ad631 Allows the same item to have multiple ancestors 9 years ago
scrawl bdae572264 Merge pull request #840 from scrawl/movedrefs
Object movement between cells
9 years ago
cfcohen d00d487c3d Improved error reporting under POSIX using errno and strerror(). 9 years ago
scrawl de84452e5a NifFile: close the stream after reading (Fixes #3070) 9 years ago
scrawl 39feb547a0 Broken lower casing fix (Fixes #3068) 9 years ago
MatthewRock aa721fe1f6 Fix bug 2952 with merchant and levelled items 9 years ago
scrawl 624809c8dc Minor fix for error handling in skeleton.cpp 9 years ago
scrawl 07b064f616 Rename to lowerCaseInPlace 9 years ago
scrawl e3d3380c8c Remove return value for in-place toLowerStr 9 years ago
scrawl e4751c68e9 Typo fix 9 years ago
scrawl 42d68eb7fb Build fix 9 years ago
scrawl f875597be5 Don't use tolower()
See https://forum.openmw.org/viewtopic.php?f=8&t=3231&p=35968
9 years ago
scrawl 9d4af59860 Don't attempt to create quest log buttons if textures are unavailable (Fixes #3063) 9 years ago
scrawl 671561ea37 Write moved references to the save game file (not resolved on loading yet) 9 years ago
scrawl 1d5af3c9c8 Remove unneeded cast 9 years ago
scrawl e39f49a88f OSG extensions namespace fixes 9 years ago
scrawl c60f4ba7bd Make RigGeometry bone references case-insensitive (Fixes #3058) 9 years ago
scrawl 258f7a2b42 LightController fixes 9 years ago
scrawl 4a9b37aa53 Fix copy constructor issue 9 years ago
scrawl c442af09c5 Write more documentation for the lighting system 9 years ago
scrawl 462ef617ce Don't read forward/backward values for Quaternion key lists
https://forum.openmw.org/viewtopic.php?f=8&t=3201&p=35867#p35867
9 years ago
scrawl 8e9571d155 Double buffer the light StateAttributes and StateSets
Fixes a race condition where the position of a light could jump a frame ahead.
9 years ago
scrawl 1f8ee9b8d1 StateSetUpdater: use the frameNumber
More robust in case a node is updated twice in the same frame (e.g. because it has multiple parents).
9 years ago
scrawl f22982d251 Merge pull request #835 from sandstranger/opengles1
enable opengl es1
9 years ago
scrawl eb458bf9c8 Fix inactive RigGeometry not rendering correctly 9 years ago
sandstranger 7d374b36fd change cmake variables 9 years ago
Marc Zinnschlag 06efd72a89 allow keywords as strings in messagebox instruction (Fixes #2991) 9 years ago
sandstranger 238a5824be add custom new variable fot Qt 9 years ago
sandstranger bd5057aa3c enable opengl es1 9 years ago
scrawl 647bed7f40 Do not read openmw.cfg from global path if one was found in the local path 9 years ago
scrawl 87e44bf627 Small fix 9 years ago
scrawl d3fa8a8602 Add osgDB::ObjectCache to the repository to work around it not being available in OSG 3.2 9 years ago
scrawl a29aef14f1 Eliminate a dynamic_cast in ParticleSystemController 9 years ago
scrawl 6cf2c35235 Don't rely on the _particles vector implementation details
This will allow compiling OpenMW with an osgParticle optimization to be pushed to OpenMW/osg.
9 years ago
scrawl 3d12b2ca9d Add NifFileManager to avoid duplicate parsing of the NIFFile in SceneManager and BulletShapeManager. 9 years ago
scrawl c9d710f334 Use a typedef to avoid conditional compiling 9 years ago
Alexander "Ace" Olofsson cfcbd20d99 Let's put it as a MSVC-only fix for now 9 years ago
Alexander "Ace" Olofsson e42f4999bd Quick fix for building on MSVC 9 years ago
scrawl e5ec4fe042 Add const specifier 9 years ago
scrawl 695fcf41c4 Optimize ValueInterpolator / KeyframeController
Cache the current position in the animation track and attempt to reuse it in the next frame.

Decent speed up for the Update phase, about 0.3 ms faster in Balmora.
9 years ago
scrawl ac366f1603 Fix the rig bounds being updated twice per frame
Unlike what I expected, the osgUtil::UpdateVisitor is set to traverse all children (not only active children). The FrameSwitch was thus traversing both RigGeometries part of the double-buffering scheme, rather than only the one active in the current frame.
9 years ago
scrawl e49bce7b40 Share the bvh of btBvhTriangleMeshShape's when possible
Results in decent cell-loading speed up. (only affects bullet versions < 2.83, since we use btScaledBvhTriangleMeshShape for >=2.83)
9 years ago
scrawl d5a738bd39 Apply 27e669296e (locale-unaware tolower) to more code
In particular, the one in VFS::normalizeFilename was affecting cell loading performance.
9 years ago
scrawl f962ce0bbe Don't link against unnecessary OSG libraries 9 years ago
Marc Zinnschlag 2bef714d34 Merge remote-tracking branch 'emperorarthur/no_relative' 9 years ago
Arthur Moore c66fd69c47 Fix #include error 9 years ago
Arthur Moore 4c0c20b1a0 Changed relative includes to library header format 9 years ago
scrawl 30cc633f2c Missing include fix 9 years ago
scrawl 35fa1f5865 Not found Land Textures are no longer a fatal error (Bug #3037)
Log warning message and show the default texture when encountering invalid ESM::LandTexture references.
9 years ago
scrawl 177a6f4a68 Launcher: ensure to clear previous settings when reloading settings 9 years ago
scrawl ace4cfc0a8 Fix 'duplicate setting' errors when running installation wizard 9 years ago
Marc Zinnschlag 7cc950ed64 Merge remote-tracking branch 'origin/master' 9 years ago
scrawl 27e669296e StringUtils: use the locale-unaware tolower function
There is no change in behaviour since we were using the C locale.

The locale-aware tolower is much slower than the locale-unaware one. At least on Linux/GCC it calls dynamic_cast's, and is overall slower by an order of magnitude.
9 years ago
scrawl fbee32729a Cache CellId
ESM::Cell::getCellId() was allocating a string on every call. This caused functions dealing with cellIds to be unnecessarily expensive.

For example, World::moveObject spent almost as much time comparing CellIds as it did updating Bullet's AABB after the move. OpGetDistance was by far the most expensive script instruction because it has to compare cellIds.

The total cost of getCellId() relative to the frame loop was about 0.3%.
9 years ago
cfcohen 7605912ece Merge branch 'master' of https://github.com/OpenMW/openmw into config_writer_changes 9 years ago
cfcohen ad5eaaa705 Update the OpenMW Launcher so that it only writes changed values to
the user settings.cfg file.  Add a helpful header to the top of new
settings.cfg files.  Remove old code involve whitespace management
that didn't work correctly anayway, and doesn't matter since we're not
adding comments to the file.  Remove "automatically generated"
comments.
9 years ago
scrawl 8a3ec14bc6 Revert "Merge remote-tracking branch 'sandstranger/opengles'"
This reverts commit cc9cab6fd1, reversing
changes made to da856eed95.
9 years ago
Marc Zinnschlag ef68e2aec4 Merge remote-tracking branch 'origin/master' 9 years ago
cfcohen 67c4b17581 Commit files that I thought wre in the previous commit. :-[ I'm
accustomed to the hg behavior of commiting all modified files by
default.
9 years ago
scrawl 1b77428c59 Use const reference, thanks ace13 9 years ago
cfcohen 6882e6451a Remove tabs. :-[ 9 years ago
cfcohen 9a975a2e68 Substantial rewrite of code to save settings.cfg file, allowing
comments to persist, ordering of settings to be retained, additional
reporting of changed settings, preservation of the settings.cfg
timestamp when no changes are made, and foundational changes for
possible future features.  Due to poor interaction with the
openmw-launcher settings code, the launcher will still discard all of
these benefits.
9 years ago
sandstranger 16c6816a6f add forgotten file for building on opengles 9 years ago
sandstranger 69acacefff openmw building on Android with Opengl es 9 years ago
scrawl 38510a56c2 GeomMorpherController: do not dirty the MorphGeometry unless necessary 9 years ago
scrawl 0d49c7fa51 GeomMorpherController: fix double update of MorphGeometry 9 years ago
scrawl 28b20428b9 Remove dynamic_cast in GeomMorpherController 9 years ago
scrawl 94e8560bf8 RigGeometry: do not allocate new NodePath every frame 9 years ago
scrawl 6d5aa272fc RigGeometry: do not update the geomToSkelMatrix more than once per frame 9 years ago
scrawl 75a464f7ec Fix a typo 9 years ago
scrawl fc7456e0a1 Explicitely opt for float matrices in performance critical places 9 years ago
scrawl ffea9ec2c4 Remove comment
SharedStateManager::prune is run automatically during the update traversal.
9 years ago
scrawl 62169a7039 Use a single-precision PositionAttitudeTransform in speed critical places 9 years ago
scrawl 36e91617c9 Revert "NifOsg::Emitter: ignore psToWorld scale"
This reverts commit 7c16630874.

Fixes #3022
9 years ago
scrawl 9b96fcc224 Set the particle scaleReferenceFrame to local space 9 years ago
scrawl 3bd2aaddea Adjust PulseSlow light controller (Fixes #1963) 9 years ago
scrawl 0bdfd1b0d7 Ignore Creature INDX subrecords
Found in some .ess files, not sure what they mean.
9 years ago
scrawl d68ea994d5 Deal with empty meshes 9 years ago
scrawl 83e9a649e5 Cleanup 9 years ago
scrawl e62470d674 Auto-generate the collision shape for native mesh formats 9 years ago
scrawl 8cf57ef6ac Move BulletShapeManager and BulletShape to resource/ 9 years ago
scrawl eb2f16d682 Support for loading .osg mesh format 9 years ago
scrawl 21e25f4756 Use the traversalNumber as frame number 9 years ago
scrawl 52901ec10c Do not create terrain geodes when built with OSG 3.4 9 years ago
Marc Zinnschlag de98ee0062 Merge remote-tracking branch 'scrawl/esm_rewrite' 9 years ago
scrawl 38c155c579 Tests: add dialogue_merging_test (requires some data files) 9 years ago
scrawl 054c3eb24e Do not deep copy PrimitiveSets when build with OSG 3.5 9 years ago
scrawl fc8e40889d Move common subrecord definitions (NAME, DELE) to defs.hpp 9 years ago
scrawl b8e11cf197 Merge commit 'pull/upstream/678' into HEAD
Conflicts:
	apps/esmtool/record.cpp
	apps/opencs/model/doc/savingstages.cpp
	apps/opencs/model/world/land.cpp
	apps/opencs/model/world/land.hpp
	apps/opencs/model/world/landtexture.cpp
	apps/openmw/mwworld/store.cpp
	components/esm/loadland.cpp
	components/esm/loadland.hpp
9 years ago
scrawl 7c16630874 NifOsg::Emitter: ignore psToWorld scale
Seems wrong to me, but MW appears to do it that way. Without this fix, the light_de_candle_08_64 from http://www.nexusmods.com/morrowind/mods/41654/ has flame particles in the wrong spot.
9 years ago
scrawl a29d1ace2b Read NiSpotLight 9 years ago
scrawl ba211ad9ad Read NiPointLight (Fixes #3011) 9 years ago
scrawl 0965a9059d Handle NiLODNode using osg::LOD (Fixes #3008) 9 years ago
scrawl 626281977e Read NiLODNode (Bug #3008) 9 years ago
scrawl b4ce73f179 Rotations: remove LocalRotation
This never existed in vanilla MW in the first place. The reason we got confused was because of a strange behaviour where the order of applying rotations changes as soon as a script touches the object's rotation.
9 years ago
Marc Zinnschlag b04a23bf43 Merge remote-tracking branch 'origin/openmw-37' into openmw-37 9 years ago
scrawl 1edcb219a7 Leak fix 9 years ago
scrawl fc93dc6195 Remove a stray method declaration 9 years ago
MatthewRock a662a00c62 Fixing bug for merchant 9 years ago
scrawl 7776c49fc1 GraphicsWindowSDL2: adjust the log levels 9 years ago
scrawl 0409e5a043 Use OSG_VERSION_GREATER_EQUAL / LESS_THAN rather than MIN_VERSION_REQUIRED (cosmetic change) 9 years ago
scrawl f1ac408f35 Place Drawables directly in the scene graph when built with OSG 3.4
OSG 3.4 adds the ability to place Drawables directly in the scene graph, without a Geode decorating them. Leveraging this should give a small performance boost, because the redundant Geodes increase culling overhead.

There is still an oustanding issue with the RemoveDrawableVisitor no longer working correctly, because Drawables can have multiple parents.
9 years ago
scrawl 35459f20d5 Refactor lighting mask 9 years ago
scrawl 91583fc027 Fix MWRender::Mask_ParticleSystem 9 years ago
Alexander "Ace" Olofsson 37158df339 Update scalinglayer.cpp
MSVC Explicitly requires <algorithm> for std::min and/or max
9 years ago
scrawl bd8332d2b0 Remove default copyop argument for nodecallback copy constructors
Works around a compiler warning with OSG 3.4:

warning: base class 'class osg::Callback' should be explicitly initialized in the copy constructor [-Wextra]

With no default argument for osg::CopyOp&, the compiler no longer sees the function as a real copy constructor and stops warning about the missing virtual initializations.

We don't care about this warning because there is nothing interesting to initialize in the osg::NodeCallback base anyway.

A proper fix for the warning would require to inserting OSG_VERSION conditional compiling all over the place, that is as long as we are still supporting OSG 3.2.
9 years ago
scrawl 1200ff9186 RigGeometry: fix incorrect bounding box in the first frame
The default computeBound() was overriding the manually set bounding box.
9 years ago
scrawl 64abdbabe3 Small refactor of controllers handling, print warning messages for unhandled controllers 9 years ago
scrawl 35f5be680b Support for NiVisController on trishape nodes 9 years ago
Marc Zinnschlag af5a1bc16b Merge remote-tracking branch 'origin/master' 9 years ago
Marc Zinnschlag b61b732207 fixed an interference with script warning mode and error downgrading (Fixes #2990) 9 years ago
scrawl 79b3f1e6a8 Small cleanup 9 years ago
scrawl 59aee04ddb Implement ScalingLayer, for layouting of widgets in screen-relative coordinates 9 years ago
scrawl 57b9eafa0f osgMyGUI: implement AdditiveLayer 9 years ago
scrawl 51f3a8fec6 osgMyGUI: move Platform methods to the .cpp file 9 years ago
scrawl 7ff168b787 osgMyGUI: add support for layers to insert custom rendering state 9 years ago
scrawl 0210b87ffc Revert "Fix LightSource crash"
This reverts commit f336c6db87.

Root cause should be fixed in next commit.
9 years ago
scrawl 72252d4f32 Terrain: restore IncrementalCompileOperation 9 years ago
scrawl 7ca8e45d5d Terrain: remove debug code 9 years ago
scrawl ef18f4217f Terrain: create 4x4 terrain chunks per ESM::Cell to improve performance
Improves performance because the number of splatting layers per chunk is reduced, and finer grained frustum culling can be done.
9 years ago
scrawl 95cf13e3f2 Terrain: make the blendmapSize and layerTileSize in FixedFunctionTechnique configurable 9 years ago
Marc Zinnschlag e081eb2c34 Merge remote-tracking branch 'origin/master' 9 years ago
Marc Zinnschlag 7239481672 Merge remote-tracking branch 'scrawl/scrawl-patch-2' 9 years ago
scrawl c996702b56 Fix some uninitialised variables found by static analysis 9 years ago
scrawl f7d0d06134 Compiler: remove unused mNameStartingWithDigit 9 years ago
scrawl c23609e22b Cache the light list in LightListCallback
When multiple cameras are rendering, the later cameras can reuse the light lists from the first camera.
9 years ago
scrawl fd1ccd21ff Disable freezeOnCull for weather particles 9 years ago
scrawl 5ca0ae5232 Don't add the same AlphaFader to multiple nodes 9 years ago
scrawl f336c6db87 Fix LightSource crash 9 years ago
scrawl 49df6b7450 LightManager: fix incorrect view matrix for RELATIVE_RF cameras 9 years ago
scrawl 6dff11f847 Duplicate code fix 9 years ago
scrawl 8552a9d82c Add multiple camera support to LightManager 9 years ago
scrawl 2ee6b41887 Handle NiAlphaProperty on a drawable basis
Removes the RenderBin nesting complication. Also results in leaner StateSets, so the cull phase should be a bit faster.
9 years ago
Marc Zinnschlag 8eb6d337d5 deal with script execution from within a script (Fixes #2964) 9 years ago
Emmanuel Anne b911abd7d8 add a few more possible arguments to choice
this fixes some travel dialogs for "Antares Big Mod"
9 years ago
Marc Zinnschlag 435e52306a adjusted a workaround for names starting with digits that interfered with some numerical expressions written without spaces 9 years ago
Marc Zinnschlag ae54f34f25 removed a redundant else and made unary + work also in the console 9 years ago
Marc Zinnschlag 2158bfe285 Merge remote-tracking branch 'zelurker/scripts_unary_plus' 9 years ago
scrawl 8e69c80bf6 Add framenumber checks in various cull callbacks, so we don't update more than once per frame when multiple cameras are used 9 years ago
Emmanuel Anne dace7ab706 scripts: recognize '+' also as a unary operator
it fixes the armor sorter in "Blades safe house.esp"
9 years ago
Alexander "Ace" Olofsson 7d4125d97f Fixes for building with unity build 9 years ago
scrawl f7e5a40143 Fix typo 9 years ago
scrawl a47617c21f Fix tab indentations in apps/ and components/ 9 years ago
Marc Zinnschlag 4d94f38f4b replaced context-sensitive implementation of allowing digits at the beginning of names with a more general implementation (Fixes #1730) 9 years ago
cc9cii 192f01e3ac Set default creature scale to 1. Partially resolves bug #2880. (no creature verifier yet) 9 years ago
cc9cii 45aee1b508 Remove AI flag from the UI and instead auto-detect whether to save AIDT records. Should resolve bug #2879. 9 years ago
scrawl 5252dbcf1f Add some comments to ESM::Land 9 years ago
Marc Zinnschlag a445683312 Merge branch 'mergetool'
Conflicts:
	apps/opencs/CMakeLists.txt
	apps/opencs/model/tools/tools.cpp
9 years ago
scrawl 76fb68a9c0 Handle particle systems that don't have emitters
Fixes a crash in the Magic Diversity mod.
9 years ago
Marc Zinnschlag a8dc1c1198 merge land tables 9 years ago
Marc Zinnschlag 69b9eadb52 refactored loading of land data 9 years ago
Marc Zinnschlag febf611c82 made return type of ESMTerrain::Storage::getLand const 9 years ago