Commit Graph

3121 Commits (a6467c9c47a08a18f9bc5a3bc4f9581f3409eb17)

Author SHA1 Message Date
scrawl 9f03982e0b Use a dedicated VBO for RigGeometry's vertices and normals
The VBO used by the source geometry's arrays may be unintentionally shared with other RigGeometries.

The vertices and normals are the only attributes that are modified at all, so using a dedicated VBO for these should improve performance further.
9 years ago
scrawl 50b8260a39 Disable VBOs in RigGeometry while investigating a crash possibly related to commit cda8a88f0d 9 years ago
scrawl aae43dbff5 Set the MorphGeometry vertex buffer object usage to GL_DYNAMIC_DRAW 9 years ago
scrawl 4eb090a8d0 Set the RigGeometry vertex buffer object usage to GL_DYNAMIC_DRAW 9 years ago
scrawl 174dd82894 Manually apply the osg::Light state
Reduce the amount of virtual function calls. Don't use the osg::Light's lightNum. Don't set spotlight state that we're not using (yet).
9 years ago
scrawl 58e0e8bd4e Enable vertex buffer objects in RigGeometry 9 years ago
scrawl 0dbf44b414 Enable vertex buffer objects in MyGUI RenderManager now that OSG 3.4 is a dependency 9 years ago
scrawl 3f08cbff71 Share the state attributes for terrain techniques
Reduces the total amount of GL calls / frame by about 14% - 50% depending on the scene.
9 years ago
scrawl 84b8da7a09 Share the osg::Material on drawables
Reduces the number of GL calls / frame by ~4%.
9 years ago
scrawl abcfe9bcee Don't add empty text key objects 9 years ago
scrawl 02d23564dc Include cleanup 9 years ago
scrawl f898bf493f Don't use Geodes 9 years ago
scrawl 137dde7cf8 Include cleanup 9 years ago
scrawl 121bdd3e39 Update comment 9 years ago
scrawl 3e6cf17665 Warn about cellrefs with an empty refId (Bug #3238) 9 years ago
scrawl 0df975a4d7 Properly detach nodes in CopyRigVisitor (Fixes #3234) 9 years ago
scrawl 82b792f808 Eliminate dynamic_cast in BillboardCallback 9 years ago
scrawl 2eaf96e3bf Make ResourceManager destructor virtual 9 years ago
scrawl dd2fbfc0a2 Fix windows build 9 years ago
scrawl 3d6323f13a Force-enable hasWater() for exterior cells (Fixes #3222) 9 years ago
scrawl 563807ee53 Share the StateSet used to invert front face 9 years ago
scrawl 6e7c6fdd7e Implement NiTexturingProperty::DecalTexture 9 years ago
scrawl 30d06bfe0e Add comment 9 years ago
scrawl 64636bd85a Improve error reporting 9 years ago
scrawl 2821f46a18 Corpse clearing fix 9 years ago
scrawl 8791063110 Fix "RigGeometry rendering with no skeleton" warnings in rare cases 9 years ago
scrawl 1e5b4bea0a Don't create an unnecessary osg::Group when copying over a rig 9 years ago
scrawl 27577ce765 Add ESM::Land::DEFAULT_HEIGHT 9 years ago
Marc Zinnschlag ebaeabc962 Merge remote-tracking branch 'scrawl/respawn' 9 years ago
scrawl 3a2dccad4b Implement 'Show' script instruction 9 years ago
scrawl c3ef387208 Vanilla-compatible creature/NPC respawning (Fixes #2369, Fixes #2467) 9 years ago
scrawl f99cd15f00 Vanilla-compatible activate / onActivate (Fixes #1629)
See https://forum.openmw.org/viewtopic.php?f=6&t=3074&p=34618#p34635
9 years ago
scrawl 195c3b9967 Merge pull request #904 from sandstranger/disable_opengles_anddroid
disable opengl es for Android by default
9 years ago
scrawl cdccf03228 Fix mismatched delete 9 years ago
sandstranger a7b78b37f5 disable opengles for Android by default 9 years ago
scrawl 5f4ace1bc2 Implement support for sphere map NiTextureEffects (Fixes #1827) 9 years ago
scrawl 062410bd8c Don't incorrectly remove TexEnv state 9 years ago
scrawl 90a99991d1 Use empty() instead of !size() 9 years ago
scrawl 8bd16e4d5a Don't compute the world matrix multiple times 9 years ago
scrawl 055d35a2b0 Revert "Warn about particle emitters that have multiple parent node paths"
Not working correctly because osg won't ignore camera nodes.

This reverts commit 1667c807be.
9 years ago
scrawl 1667c807be Warn about particle emitters that have multiple parent node paths 9 years ago
Marc Zinnschlag f9f91d5386 Merge remote-tracking branch 'origin/master' 9 years ago
scrawl cee608e31b Make it work with appveyor's outdated OSG build 9 years ago
scrawl 8e826eefe6 Add missing initialization 9 years ago
scrawl e25e0a0600 ShaderVisitor: assume the first texture unit is the diffuseMap 9 years ago
scrawl e7682e04ae Cleanup 9 years ago
scrawl cdefee3e64 Add call to MultiObjectCache::releaseGLObjects 9 years ago
scrawl 4ca6e91292 Fix in-code default settings so that we don't attempt to use shaders in OpenCS 9 years ago
scrawl 8f81df2bd3 Cleanup 9 years ago
scrawl 0db7163363 Add specular mapping for terrain 9 years ago
scrawl 171e293641 ShaderManager: insert #line directives when including files 9 years ago
scrawl f01e8a6950 Add specular mapping for objects 9 years ago
scrawl 5cf2441b10 ShaderVisitor: support automatic recognition of normal maps based on file pattern
Introduce new settings 'auto use object normal maps', 'auto use terrain normal maps', 'normal map pattern'
9 years ago
scrawl 6a0ac824bd Fix terrain error in OpenCS 9 years ago
scrawl 7071d286e8 Fix inverted check for 16-bit indices 9 years ago
scrawl 4e5462bc19 Don't attempt to create a collision shape for an empty TriShape 9 years ago
scrawl ca0e1fe0e0 Set the osg::Material on the terrain root node 9 years ago
scrawl 6000e48bba Add terrain shaders and normal map support
Textures with _n filename suffix are automatically recognized as terrain normal maps.
9 years ago
scrawl 5e12a1b4ef Add enchanted item glow to the shader 9 years ago
scrawl 268594dcf1 Recreate shader in NpcAnimation::setAlpha 9 years ago
scrawl a73512afb7 Add shader settings to settings.cfg 9 years ago
scrawl 21c4dffed2 Add #include support in shaders 9 years ago
scrawl 22cc5c0965 Cache the Program 9 years ago
scrawl 456816f707 Use diffuse.a / vertex.a, use material emission 9 years ago
scrawl 3e854a84a2 Slightly more efficient applying of light state 9 years ago
scrawl f93b7ec943 Fix light state issue
GLSL does not respect gl_Disable(GL_LIGHTX), so we have to set unused lights to zero.

Sadly, this change makes the applying of the modelView matrix less efficient. So far I couldn't find a better solution, osg's state tracker keeps getting in the way. :(
9 years ago
scrawl 9376811213 Vertex lighting shader 9 years ago
scrawl a9ad1b09e2 Introduce ShaderManager & ShaderVisitor
Actual shaders still to be written.
9 years ago
scrawl e647ee5424 Support RGB and RGBA embedded textures in NIF files (Fixes #2295) 9 years ago
scrawl a9ac108382 Fully read NiPixelData 9 years ago
scrawl 606758d72f NifLoader: create the BumpTexture slot, but don't use it yet 9 years ago
scrawl 4cd4131da9 NifLoader: assign a name to created textures
This name will tell the shader visitor how to handle that texture.
9 years ago
scrawl 50e92c8136 NifLoader: move texture property handling to a separate function 9 years ago
scrawl acf44fd9e5 NifLoader: handleTextureControllers outside of the NumTextures loop 9 years ago
scrawl e05d975020 Change the way that texture filtering settings are applied at runtime 9 years ago
scrawl a94029267f Fix an inverted condition (Bug #3209) 9 years ago
scrawl c4d38bb42d Fix clang analyzer warnings 9 years ago
scrawl ed57293e54 Allow '^' escape characters in books
http://forum.openmw.org/viewtopic.php?f=2&t=3373&p=37584&sid=1a0b015e6716b1bced37fd398ef876c7
9 years ago
scrawl 9eb96b9cb6 Parse the bullet version in FindBullet.cmake 9 years ago
scrawl 83a9a164bc Raise the required bullet version to 2.83
2.82 appears to have a bug that causes the player to be able to phase through certain objects (bug #1587).
9 years ago
Marc Zinnschlag 28e3fe837f Merge remote-tracking branch 'scrawl/osg_34' 9 years ago
scrawl eaf3f5a829 Remove unused arguments 9 years ago
scrawl 6fc6913424 Do not set the cursor when creating it 9 years ago
scrawl 5824619a95 Clean up includes 9 years ago
scrawl 8b596dfcbe Remove support for OSG 3.2
Since commit e8662bea31, we're using OSG functionality that contains an unfixed crash bug in version 3.2. The bug is fixed in version 3.4 (OSG commit 6351e5020371b0b72b300088a5c6772f58379b84)
9 years ago
scrawl be6ea3d607 Account for UV coordinate flip in UVController (Fixes #3203) 9 years ago
Marc Zinnschlag da6dcfc49e Merge remote-tracking branch 'scrawl/resource' 9 years ago
scrawl 5e876b1379 Add missing include 9 years ago
scrawl 98c5e072f2 Swap the terrain cache update order to make more sense 9 years ago
scrawl 9f729667fb Remove debug output 9 years ago
scrawl 0865cea211 Preload terrain 9 years ago
scrawl 98848c752a Make getLayerInfo thread safe 9 years ago
scrawl 8aba74e6ee Remove GridElement 9 years ago
scrawl 596fe56bfd Make Land::loadData thread safe 9 years ago
scrawl afe533e670 Accept a const Object in UnrefQueue 9 years ago
scrawl 246566cef4 Preload instances in BulletShapeManager 9 years ago
scrawl e28dc3e72f Preload instances in SceneManager 9 years ago
scrawl 2e62298bd3 Clean up ObjectCache includes 9 years ago
scrawl 40a6e05e17 Use a deque instead of vector in UnrefQueue 9 years ago
scrawl d11c2864df Introduce UnrefQueue to handle the deleting of no longer needed objects in the background thread 9 years ago
scrawl 84f01b7527 Remove unneeded forward declaration 9 years ago
scrawl b2019d31c7 Mark thread safe methods in BsaFile 9 years ago
scrawl e4e313fe12 Remove outdated comment 9 years ago
scrawl c8054424c9 Preload items equipped by NPCs 9 years ago
scrawl a81b10b415 Make the cache expiryDelay configurable 9 years ago
scrawl 41233fc8e5 Keep a reference to the original scene template for as long as the instance is used 9 years ago
scrawl 778bce3ae9 Remove unused ObjectCache functions 9 years ago
scrawl 49ecac4ced Add a mutex lock around the SharedStateManager 9 years ago
scrawl c3ad4dad75 Fix applying of filter settings on terrain textures 9 years ago
scrawl 8b981ab507 Crash fix 9 years ago
scrawl c155680d3c Customize ObjectCache for more efficient locking in removeExpiredObjectsInCache 9 years ago
scrawl d855a13b44 Clear the resource cache from the worker thread 9 years ago
scrawl 6f9ca0f68f Add basic cell preloader class
Not properly in use yet, but seems to be working.
9 years ago
scrawl e055ae094a Improve const-correctness in BulletShapeManager
Sadly, two const_cast's are needed to work around Bullet API quirks.
9 years ago
scrawl b7e69cbc64 Refactor WorkQueue, merge WorkTicket and WorkItem
Allow the caller to hold on to the WorkItem. This makes it possible for a derived WorkItem to store the result of the work within the WorkItem itself.
9 years ago
scrawl df57d4bfba Use a common base class for resource managers
Implement updateCache to delete unreferenced cached objects when they have not been referenced for a while.
9 years ago
scrawl e02f35264f Work around OSG 3.2 not respecting the DEEP_COPY_CALLBACK flag (Fixes #3183) 9 years ago
scrawl ea1efaac0c Use the osgDB::ObjectCache in SceneManager, cleanup 9 years ago
scrawl 909c4d96b6 Use the osgDB::ObjectCache in BulletShapeManager 9 years ago
scrawl 6c1c653cba Use the osgDB::ObjectCache in ImageManager
Should be thread safe now.
9 years ago
scrawl 9e5225bb6f Do not unref a Texture's image data after applying it 9 years ago
scrawl 9e53e12c70 More renaming of TextureManager -> ImageManager 9 years ago
scrawl 5ee3d1698f Remove getWarningTexture in favor of getWarningImage 9 years ago
scrawl f99f403dda Rename TextureManager to ImageManager 9 years ago
scrawl 6ef848b7c5 Remove TextureManager::getTexture2D
Instead use getImage and let the caller create the Texture. Sharing of textures is then handled in post by the SharedStateManager.

This is closer to what the OSG serializer does.

Streamlines the TextureManager and will make it easier to multithread.
9 years ago
scrawl fbd4ad9b0c Flip terrain textures 9 years ago
scrawl 71401aafe7 Handle multipass techniques in SetFilterSettingsVisitor 9 years ago
scrawl 31988ca4cc Add a dont_override_filter description for textures that should be left alone 9 years ago
scrawl e8662bea31 Change the way that image origin is converted to OpenGL's lower-left convention
Flip the texture coordinates instead of flipping textures.

This simplifies the TextureManager (no need to worry if the caller wants flipping or not), should make it easier to generalize & multithread it.
9 years ago
scrawl 6ac688c0e2 Change the way that texture filtering setting changes are applied at runtime to not require keeping a reference to textures
The references would be difficult to clean up because there may or may not be another reference to the texture in the osgDB::SharedStateManager.
9 years ago
scrawl e2ee1d5689 Use separate textures for the MyGUI RenderManager
This means we can more reliably set the filter parameters.

I believe this commit creates a regression where non-DDS GUI textures would display upside down, which will be addressed by further refactoring in the next commits.
9 years ago
scrawl 5b972ee777 Move texture filtering settings to SceneManager
Practical benefits:

- Filter settings are now applied to native OSG format models. These models do not use TextureManager::getTexture2D since the model itself specifies a Texture.
- The GUI render manager will be able to use its own separate textures, making it easier to turn off filtering for them.
9 years ago
scrawl b06730ac61 Fix terrain textureCompileDummy 9 years ago
scrawl 2eda495f89 Build fix for OSG 3.2 9 years ago
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