scrawl
984c455027
Fix Show Owned option affecting tooltips that are not objects ( Fixes #3036 )
2015-11-26 18:23:39 +01:00
scrawl
bcca1beb69
Merge branch 'configwriter' into HEAD
2015-11-26 17:17:26 +01:00
scrawl
d894d54e41
Improve path conversions
2015-11-26 17:15:28 +01:00
Chris Robinson
d4238a6d91
Add config options for the sound buffer cache size
...
The cache size is specified with a min/max range, intended to avoid constant
unloading once the limit is reached. This way, buffers can be unloaded down to
a reasonable mimimum, allowing some more buffers to be subsequently loaded
without causing more unloading.
2015-11-26 02:13:37 -08:00
Chris Robinson
8715add72f
Store sound buffers in a deque that's filled in as needed
...
A deque allows existing Sound_Buffer references to remain valid as long as new
ones are back-inserted. These references can be used instead of indices.
2015-11-26 01:26:33 -08:00
cfcohen
7605912ece
Merge branch 'master' of https://github.com/OpenMW/openmw into config_writer_changes
2015-11-26 00:57:21 -05:00
scrawl
8a3ec14bc6
Revert "Merge remote-tracking branch 'sandstranger/opengles'"
...
This reverts commit cc9cab6fd1
, reversing
changes made to da856eed95
.
2015-11-25 19:22:48 +01:00
Marc Zinnschlag
ef68e2aec4
Merge remote-tracking branch 'origin/master'
2015-11-25 19:18:17 +01:00
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.
2015-11-25 13:17:03 -05:00
Marc Zinnschlag
cc9cab6fd1
Merge remote-tracking branch 'sandstranger/opengles'
2015-11-25 19:15:53 +01:00
Chris Robinson
8f08ca9cba
Revert "Avoid unsafe sizeof(x)/sizeof(x[0]) constructs for array counting"
...
This reverts commit 0d4fea896c
.
2015-11-25 06:06:27 -08:00
Chris Robinson
04f885d8cc
Rename mReferences to mUses
2015-11-25 04:24:27 -08:00
Chris Robinson
0d4fea896c
Avoid unsafe sizeof(x)/sizeof(x[0]) constructs for array counting
2015-11-25 04:24:27 -08:00
Chris Robinson
a1bdb544db
Avoid an unnecessary string copy
2015-11-25 04:24:27 -08:00
Chris Robinson
aac903484c
Remove a really unnecessary method
2015-11-25 04:24:26 -08:00
Chris Robinson
73448c72f6
Replace Play_NoTrack with playManualSound3D, and rename the latter
2015-11-25 04:24:26 -08:00
Chris Robinson
caae305ddd
Use a sorted list for unused buffers
...
Helps ensure the buffers being unloaded due to cache limits are not likely to
be needed anytime soon.
2015-11-25 04:24:26 -08:00
Chris Robinson
669b7a2295
Batch update changes together, when possible
...
Certain OpenAL implementations, including Rapture3D, Creative's hardware
drivers, and more recent versions of OpenAL Soft, can batch together changes so
that they all occur at once, avoiding potential discontinuities with one sound
being changed before another, or the listeenr being changed before sounds are.
On other implementaitons, this is a no-op and maintains existing behavior.
2015-11-25 04:24:26 -08:00
Chris Robinson
ea70b0baee
Don't store the buffer in the sound struct
2015-11-25 04:24:25 -08:00
Chris Robinson
fd7d58fe7e
Reset the sound handle back to null after unloading
2015-11-25 04:24:25 -08:00
Chris Robinson
4801661b34
Stop all sounds of the given id
2015-11-25 04:24:25 -08:00
Chris Robinson
8a69f676ec
Remove some duplicate code
2015-11-25 04:24:25 -08:00
Chris Robinson
45628316f8
Remove an unnecessary check
2015-11-25 04:24:25 -08:00
Chris Robinson
574c1923fe
Clear unused buffers after unloading them all
2015-11-25 04:24:25 -08:00
Chris Robinson
5ad772c3b3
Fix streaming sound time
2015-11-25 04:24:25 -08:00
Chris Robinson
3ce6aee98b
Return a decoder from the loadVoice function
2015-11-25 04:24:25 -08:00
Chris Robinson
24f8c78fca
Store sound buffer references by index instead of string
2015-11-25 04:24:24 -08:00
Chris Robinson
f7218f5a25
Use proper mutex mechanisms and don't check al errors in the stream thread
2015-11-25 04:24:24 -08:00
Chris Robinson
f9e18cd966
Prepare all Sound_Buffer objects when one is needed
...
This simply sets up the Sound record data to be used by the sound output. The
actual audio buffers, stored in the Sound_Handle, are still loaded on-demand.
2015-11-25 04:24:24 -08:00
Chris Robinson
6c3953766e
Use separate lists for the sound name and its buffer
...
This should make sound lookup a bit more efficient, especially when an integer
ID can be used.
2015-11-25 04:24:24 -08:00
Chris Robinson
fbfcc4050f
Stream voice clips
...
Voices tend to be a bit long, and not individually replayed often. So it's
better to stream them instead of loading theminto a sound buffer. The loudness
data is very small, though, so that can be kept buffered indefinitely.
2015-11-25 04:24:24 -08:00
Chris Robinson
eee6a19e31
Add a method to stream sounds in 3D
2015-11-25 04:24:24 -08:00
Chris Robinson
f1a1dc8408
Pass relevant sound parameters to the OpenAL_SoundStream constructor
2015-11-25 04:24:24 -08:00
Chris Robinson
83721092f2
Refactor the audio streaming code to be a bit saner
2015-11-25 04:24:23 -08:00
Chris Robinson
16f72886e9
Use separate lists for openal sounds and streams
2015-11-25 04:24:23 -08:00
Chris Robinson
0f33f41d8d
Actually unload sounds when running over
2015-11-25 04:24:23 -08:00
Chris Robinson
22a6811425
Limit the sound buffer cache to 15MB
2015-11-25 04:24:23 -08:00
Chris Robinson
0b2747098c
Keep track of unused sound buffers
2015-11-25 04:24:23 -08:00
Chris Robinson
4073495070
Add some missing sound handling
2015-11-25 04:24:23 -08:00
Chris Robinson
e362896817
Combine some duplicate code
2015-11-25 04:24:23 -08:00
Chris Robinson
febc7b510a
Remove an unneeded method
2015-11-25 04:24:23 -08:00
Chris Robinson
3fdc3c4ea9
Use a separate map for say sounds
...
Also restores lip movement
2015-11-25 04:24:22 -08:00
Chris Robinson
9d0018e1bc
Reorder active sound data to make lookup by Ptr better
2015-11-25 04:24:22 -08:00
Chris Robinson
495e138907
Load sound loudness and store it with the Sound_Buffer
...
Still not used for say yet, though
2015-11-25 04:24:22 -08:00
Chris Robinson
f4c22ec49e
Hold a separate list for voice sound buffers
...
This fixes say. Ideally voices would be streamed, but the loudness/"lip" buffer
extraction should be separated from the buffer loading code.
2015-11-25 04:24:22 -08:00
Chris Robinson
4571218827
Load the sound as needed and pass it directly to the play methods
...
This breaks say sounds, loudness handling, and the cache limit. Fixes are
forthcoming.
2015-11-25 04:24:22 -08:00
Chris Robinson
e2beefd8b5
Store info calculated from the ESM::Sound record
2015-11-25 04:24:22 -08:00
scrawl
edfcb45ad7
Fix crash when onPcEquip script removes the equipped item ( Fixes #3016 )
2015-11-24 22:55:17 +01:00
sandstranger
69acacefff
openmw building on Android with Opengl es
2015-11-23 20:28:35 +03:00
Marc Zinnschlag
da856eed95
Merge remote-tracking branch 'origin/master'
2015-11-23 18:17:36 +01:00
scrawl
3fe38e3556
Remove unused setting
2015-11-23 03:26:21 +01:00
scrawl
71cd57a3b5
Optimize World::getTimeStamp
...
World::getTimeStamp was searching through the globals store on every call. Not a big issue, but slow enough to show up in the profiler.
2015-11-22 23:55:21 +01:00
scrawl
62169a7039
Use a single-precision PositionAttitudeTransform in speed critical places
2015-11-22 19:54:26 +01:00
cfcohen
b507d5da5d
One more tooltip fix. This one in the review dialog with Socucius Ergalla.
2015-11-22 00:50:36 -05:00
Marc Zinnschlag
8da04bf76f
Merge remote-tracking branch 'scrawl/master'
2015-11-21 09:15:46 +01:00
scrawl
1b1d9a7a9c
Fixed another tooltip
2015-11-21 02:05:27 +01:00
cfcohen
cf4f3d9ebc
Correct tooltip for Magicka in stats window.
2015-11-20 14:57:42 -05:00
scrawl
43de13fa99
Do not allow resting on lava
2015-11-20 19:22:31 +01:00
scrawl
2d302aef99
Implement stayOutside script variable
2015-11-20 05:05:43 +01:00
scrawl
27617468c8
Fix the collision shape not updating when scaling an object via script
2015-11-20 03:29:58 +01:00
scrawl
5f143dee2d
Fix lighting incontinuity at nightfall and sunrise
2015-11-20 03:22:35 +01:00
scrawl
61314e1db1
Fix bounding box of bullet debug drawer
2015-11-20 03:04:03 +01:00
scrawl
706b1d4c28
Disable culling of ClipNode
2015-11-20 02:22:37 +01:00
scrawl
cbf344663f
animateCollisionShape checks if the shape is really animated
2015-11-20 00:17:07 +01:00
scrawl
894477849a
Store animated collision objects in a separate container
2015-11-19 23:33:08 +01:00
scrawl
8c268f239e
Set the object node scale before inserting model
...
This fixes initWorldSpaceParticles not taking object scale into account. Still not taking into account object rotation or node animations. Ideally the initWorldSpaceParticles needs to run in an updateCallback.
2015-11-19 15:57:12 +01:00
scrawl
ccc721ba3f
Print the OpenMW version to the logfile
2015-11-19 02:56:42 +01:00
scrawl
f08cfa19ea
Fix SoundManager::isPlaying to consider multiple entries with the same Ptr/id
...
Now it returns true if *any* sounds matching the given Ptr and id are playing. The previous behaviour was causing problems with "zombie" sounds (sounds that have finished playing, but weren't removed from the map yet) making the isPlaying method return false even though there's another legitimately playing sound in the map.
2015-11-19 01:06:51 +01:00
scrawl
a49058721e
Use a contactTest for collision script functions
...
The previous method didn't work for stationary actors. This change fixes the grinder in "Sotha Sil, Dome of Kasia" not registering collisions if the player stands still. (Fixes #1934 )
2015-11-18 21:20:12 +01:00
scrawl
9fce428929
ContactTestResultCallback: do not rely on col1 being the object tested against
...
Unsure why, but in some cases col0 and col1 are swapped.
2015-11-18 20:41:49 +01:00
scrawl
3453353091
AiCombat distance check takes into account collision box ( Fixes #1699 )
2015-11-18 19:00:43 +01:00
Marc Zinnschlag
020b3add94
Merge branch 'openmw-37'
2015-11-17 09:54:49 +01:00
Marc Zinnschlag
5de9a5e840
Merge remote-tracking branch 'origin/openmw-37' into openmw-37
2015-11-17 09:04:07 +01:00
scrawl
e62470d674
Auto-generate the collision shape for native mesh formats
2015-11-17 00:20:15 +01:00
scrawl
8cf57ef6ac
Move BulletShapeManager and BulletShape to resource/
2015-11-17 00:20:15 +01:00
scrawl
eb2f16d682
Support for loading .osg mesh format
2015-11-16 23:26:43 +01:00
scrawl
71d9e7dc52
Read Ambient Loop Sound ID and Rain Loop Sound ID from the INI file
2015-11-16 02:21:45 +01:00
scrawl
e9e12d396d
Merge remote-tracking branch 'upstream/openmw-37' into HEAD
2015-11-15 21:37:32 +01:00
scrawl
0f347eccbf
Flip the origin of global map texture
...
Now it's consistent with the overlay texture.
2015-11-15 21:36:41 +01:00
scrawl
8b7bdcd127
Fix the global map overlay viewport (Bug #3018 )
2015-11-15 21:32:34 +01:00
scrawl
0220e82259
Remove unused SOUND_INPUT_INCLUDES cmake variable.
2015-11-14 17:17:22 +01:00
Alexander "Ace" Olofsson
d2a4175804
Add FFMPEG to include path for OpenMW
...
I'm a bit confused; `mwsound/ffmpeg_decoder.hpp/cpp` requires FFMPEG headers to compile, how did this work in the first place?
2015-11-14 16:02:42 +01:00
Marc Zinnschlag
de98ee0062
Merge remote-tracking branch 'scrawl/esm_rewrite'
2015-11-14 14:25:08 +01:00
Nikolay Kasyanov
4e3bbe01b6
OS X: disable glTexStorage2D
because of OSG/driver issue
...
See http://forum.openscenegraph.org/viewtopic.php?p=65276#65276 for the details.
2015-11-14 13:50:01 +01:00
scrawl
0ec56d321a
Remove unneeded using namespace
2015-11-14 03:01:40 +01:00
scrawl
05498ad592
Refactor: InputManager no longer depends on Engine
2015-11-14 03:01:24 +01:00
Marc Zinnschlag
c312162b57
Merge branch 'openmw-37'
2015-11-13 14:24:57 +01:00
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
2015-11-13 01:34:36 +01:00
scrawl
8cd41f0ed4
Increase the ray distance for dropObjectOnGround ( Fixes #3010 )
2015-11-12 23:05:44 +01:00
scrawl
9897400d97
Restore the previous key focus widget after playing video
2015-11-12 19:03:24 +01:00
Emmanuel Anne
af7b5e636e
improves InterpreterContext::updatePtr
...
This checks the update is really on the right pointer. It fixes the boat
disappearing in "fishing academy", and it allows scripts linked to objects
not to loose their default reference when using the object-> notation on
another object.
2015-11-12 17:53:17 +01:00
Bret Curtis
3ea3d07d44
really purge libav
2015-11-12 16:39:29 +01:00
scrawl
19cd987208
Fix Ptr updates in PositionCell
...
This was not the proper way to get the updated Ptr, it will only work for the player which isn't owned by any cell. For other objects, moving between cells makes the object owned by that cell and thus the getBase() pointer will change.
2015-11-12 14:32:39 +01:00
scrawl
9e3eb8291f
Rotations: fix the rotation order for doors
2015-11-12 02:09:00 +01:00
scrawl
90b6fa5ef1
PlaceItem, PlaceItemCell angle should be treated as degrees ( Fixes #3007 )
2015-11-12 01:44:29 +01:00
scrawl
3647af8d73
Rotations: use different rotation order when object is rotated via script ( Fixes #2062 )
2015-11-12 01:44:00 +01:00
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.
2015-11-12 01:16:37 +01:00
scrawl
666fbba1e0
Rotations: World::rotateObject takes radians instead of degrees
...
Cuts down on the amount of redundant degree<->radians conversions in the codebase.
2015-11-12 01:09:39 +01:00
scrawl
6405049add
Rotations: move doors via Rotation rather than LocalRotation
...
Now LocalRotation is unneeded, will remove in next commit.
2015-11-12 00:58:29 +01:00
scrawl
8aacbc398f
Rotations: don't wrap the angle values for non-actors
...
It's not really necessary, and just complicates logic elsewhere. Neither does vanilla MW do it. As well, the question is if wrapping to [-PI, PI] or [0, 2*PI] would be the desired range.
2015-11-12 00:52:36 +01:00
scrawl
a68fd791c8
Remove a stray method declaration
2015-11-11 17:24:27 +01:00
scrawl
79c44d0bfe
Style fix
2015-11-11 17:23:47 +01:00
scrawl
02148a43f5
Node mask fix
2015-11-11 17:22:31 +01:00
scrawl
0a52ee17c3
Fix Drawable removal issues
2015-11-11 17:04:06 +01:00
scrawl
afa590bddb
Leak fix
2015-11-11 16:04:17 +01:00
scrawl
c62c1693e9
Disable copy constructor and operator= in PartHolder
2015-11-11 01:47:26 +01:00
scrawl
2e9805fa0e
Leak fix
2015-11-11 00:50:57 +01:00
scrawl
b840c68f0c
Do not create a depth buffer for the global map 2d rendering
2015-11-10 21:55:21 +01:00
scrawl
8e3bc981a2
Fix self-referencing camera
2015-11-10 21:45:53 +01:00
scrawl
0409e5a043
Use OSG_VERSION_GREATER_EQUAL / LESS_THAN rather than MIN_VERSION_REQUIRED (cosmetic change)
2015-11-10 18:28:58 +01:00
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.
2015-11-10 18:23:42 +01:00
scrawl
35459f20d5
Refactor lighting mask
2015-11-10 17:23:12 +01:00
scrawl
91583fc027
Fix MWRender::Mask_ParticleSystem
2015-11-10 17:00:33 +01:00
scrawl
637cd3a628
Adjust the FirstPersonNeckController to follow the camera with a reduced factor ( Fixes #1784 )
2015-11-10 01:01:41 +01:00
scrawl
3c338b9da9
ObstacleCheck: tweak the stuck detection parameters
...
The netch_betty wander animation starts up so slowly that the creature thought it was stuck, even though it's not.
2015-11-09 20:35:31 +01:00
scrawl
d233bc483d
ObstacleCheck: fix evasion issue
...
The check if (samePosition... would not work as intended because actors do not move in every frame when the framerate is higher than the physics framerate. In that case the actor would change its evasion direction almost every frame.
2015-11-09 20:35:31 +01:00
scrawl
caa523a959
ObstacleCheck: fix the framerate not being taken into account
2015-11-09 20:35:31 +01:00
scrawl
801dc8eee3
ObstacleCheck: fix weird distance calculation
2015-11-09 20:17:21 +01:00
scrawl
1b52749ae1
Adjust third person camera height based on character height
2015-11-09 17:42:35 +01:00
scrawl
b89945804c
BookPage: implement hit test with margin for error
2015-11-09 02:57:49 +01:00
scrawl
055841e721
Improve cloud lighting
2015-11-09 02:22:40 +01:00
scrawl
f0a1434578
Dead actors underwater will float to the surface
2015-11-08 20:58:00 +01:00
scrawl
66925be440
Partially revert 682f30ef9c
...
This change made dead netch fall through the floor, because the animation moves the creature *below* its external collision box.
2015-11-08 19:59:33 +01:00
scrawl
516f2765a1
Use the ScalingLayer for journal, books and scrolls
2015-11-08 18:30:22 +01:00
scrawl
a7ad45e73e
WindowBase::center use the layer size instead of render window size
2015-11-08 18:30:21 +01:00
scrawl
f9932130da
Work around MyGUI bug with mouse event coordinates (fixed in git)
2015-11-08 18:30:21 +01:00
scrawl
6c12c9a467
Layer renaming fix
2015-11-07 19:45:30 +01:00
scrawl
d85d74e615
Use AdditiveLayer for the hit fader
2015-11-07 18:05:16 +01:00
scrawl
a90ef8afd0
layer renaming
2015-11-07 17:49:11 +01:00
scrawl
57b9eafa0f
osgMyGUI: implement AdditiveLayer
2015-11-07 17:45:22 +01:00
scrawl
51f3a8fec6
osgMyGUI: move Platform methods to the .cpp file
2015-11-07 17:39:31 +01:00
scrawl
13c7235b6b
Remove old FPS setting code
2015-11-07 00:13:13 +01:00
scrawl
2407f393ce
Fix double update traversal in screenshot function
2015-11-06 23:14:27 +01:00
scrawl
6e69808129
Fix the frameNumber not being incremented in certain frames
2015-11-06 23:14:27 +01:00
scrawl
8e4e4e5e38
Fix infinite loop in addToLevList
2015-11-05 01:18:01 +01:00
scrawl
c996702b56
Fix some uninitialised variables found by static analysis
2015-11-04 20:34:50 +01:00
scrawl
1cf1c944b7
Don't attempt to render weather particles on the refraction and reflection textures
2015-11-03 23:20:17 +01:00
scrawl
209fa52883
Hide weather particles underwater ( Fixes #2701 )
2015-11-03 23:15:43 +01:00
scrawl
e3b30baff9
clipFudge fix
2015-11-03 23:10:52 +01:00
scrawl
682f30ef9c
Fix incorrect uses of PhysicsSystem::getHalfExtents
...
Did not account for translation of collision box (mMeshTranslation in actor.cpp)
2015-11-03 19:05:36 +01:00
scrawl
46e07e4b19
Head tracking: fall back to target collision box center if the target has no head node
2015-11-03 18:27:15 +01:00
scrawl
a5f8ffb83d
aimToTarget: Fix the collision box translation not being taken into account
2015-11-03 18:15:47 +01:00
scrawl
de97a8a3da
Do not allow disabling the player object
2015-11-03 17:53:57 +01:00
scrawl
b72d5c5190
Don't play idlestorm animation when swimming
2015-11-03 17:48:35 +01:00
scrawl
c0a81030bb
Make use of INI settings for the simple water
2015-11-03 02:24:50 +01:00
scrawl
30c828dff0
Include cleanup
2015-11-03 02:17:42 +01:00
scrawl
8e8f72408d
Use diffuse/ambient lighting for the simple water
2015-11-03 02:12:00 +01:00
scrawl
380256977b
Fix another renderBin issue with the weather particles
...
Depth sorting w.r.t. the rest of the scene was broken
2015-11-03 01:53:38 +01:00
scrawl
9902dfc9ef
Comment
2015-11-03 01:53:22 +01:00
scrawl
ad016da31d
Enable fog on weather particles
2015-11-03 01:42:37 +01:00