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
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
99500f4021
make initial size of script error panel configurable ( Fixes #2996 )
2015-11-21 14:28:40 +01:00
Marc Zinnschlag
f5c61ee616
remember script error panel height per scriptsubview
2015-11-21 14:19:14 +01:00
Marc Zinnschlag
26640d17eb
do not adjust error panel height if panal was already open
2015-11-21 12:52:32 +01:00
Marc Zinnschlag
1093a53cf9
hide script error list when there are no errors ( Fixes #2867 )
2015-11-21 12:45:11 +01:00
Marc Zinnschlag
b74b274ac0
Removed validator for filenames in OpenMW-CS ( Fixes #2918 )
2015-11-21 12:14:57 +01:00
Marc Zinnschlag
e0e9e7f8c2
adjusted startup warning message for recent improvements regarding loading/saving
2015-11-21 11:56:24 +01: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