Thoronador
1b8c975d5b
minor performance improvements in apps/openmw
...
Checking for emptiness using size() might be inefficient, because
it can take linear time, while empty() is guaranteed to take only
constant time.
For non-primitive types, postfix ++ operators are inefficient
compared to prefix ++ operators, because post-increment usually
involves keeping a copy of the previous value around.
2014-04-27 19:10:23 +02:00
scrawl
c8c0e5de38
Fixed code issues found with unity build. Missing include guards, duplicated functions, ...
2014-03-16 23:49:06 +01:00
Bret Curtis
ab224f93c9
remove our stdint.h version that uses boost and force usage of system stdint.h
2014-03-05 17:08:58 +01:00
Marc Zinnschlag
f9d2fde783
Merge branch 'openmw-29'
...
Conflicts:
apps/openmw/mwmechanics/aicombat.cpp
2014-03-04 09:34:38 +01:00
Marc Zinnschlag
367919200f
moved CellRefList into a separate file
2014-02-23 20:11:05 +01:00
Marc Zinnschlag
7693f712bc
started making CellStore into a proper class; encapsulated mCell member
2014-02-21 11:35:46 +01:00
Marc Zinnschlag
736644de05
Revert " #1041 in progress: decode first sample batch right in OpenAL_SoundStream::play()"
...
This reverts commit 51fb9f65ea
.
2014-02-20 12:31:40 +01:00
Nikolay Kasyanov
51fb9f65ea
#1041 in progress: decode first sample batch right in OpenAL_SoundStream::play()
2014-02-17 02:59:23 +04:00
Nikolay Kasyanov
5e8cb2e466
Another attempt to fix #1041 . This time I'm sending real data from decoder
...
once after playback started.
2014-02-17 02:35:13 +04:00
Marc Zinnschlag
1b5301eec0
Merge branch 'savedgame'
...
Conflicts:
apps/openmw/mwbase/mechanicsmanager.hpp
apps/openmw/mwbase/soundmanager.hpp
apps/openmw/mwgui/mapwindow.hpp
apps/openmw/mwmechanics/actors.cpp
apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
apps/openmw/mwsound/soundmanagerimp.hpp
components/esm/loadcell.cpp
2014-02-01 18:16:32 +01:00
scrawl
03cf383be7
Merge branch 'master' of https://github.com/zinnschlag/openmw into savedgame
...
Conflicts:
apps/openmw/mwgui/referenceinterface.cpp
apps/openmw/mwmechanics/actors.cpp
apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
apps/openmw/mwscript/cellextensions.cpp
apps/openmw/mwworld/cells.cpp
apps/openmw/mwworld/cells.hpp
apps/openmw/mwworld/cellstore.cpp
apps/openmw/mwworld/store.cpp
apps/openmw/mwworld/worldimp.cpp
2014-01-24 18:28:35 +01:00
Marc Zinnschlag
9ebe66e693
improved cleanup; failed loads will now drop back into the main menu instead of crashing
2014-01-21 14:50:58 +01:00
Marc Zinnschlag
0f60898517
adding missing cleanup for SoundManager
2014-01-21 14:13:13 +01:00
scrawl
ba5300b071
Update the Ptr in SoundManager for references moved to a different cell. Fixes looping sounds not stopping after a moved object was already deleted.
2014-01-20 12:05:13 +01:00
scrawl
e410eb5273
Play 'Idle' voiced dialogue entries in AIWander. Tweak voice max distance.
2014-01-17 10:55:46 +01:00
scrawl
396efd580b
Fix a leftover of the old coordinate system
2014-01-14 03:26:56 +01:00
scrawl
2196ce427a
Closes #556 : Link movie volume to 'master' volume slider, instead of 'music'.
2014-01-14 03:08:37 +01:00
scrawl
098f9712f1
Add getPlayerPtr() utility method. Reduces dependencies a lot.
2014-01-08 18:39:44 +01:00
scrawl
62774fcc4a
Merge branch 'master' into HEAD
...
Conflicts:
apps/openmw/mwbase/world.hpp
apps/openmw/mwinput/inputmanagerimp.cpp
apps/openmw/mwmechanics/actors.cpp
apps/openmw/mwworld/worldimp.cpp
apps/openmw/mwworld/worldimp.hpp
components/esm/loadtes3.cpp
2014-01-06 00:23:17 +01:00
Marc Zinnschlag
a6e6411686
Merge remote-tracking branch 'scrawl/master'
2014-01-02 12:12:52 +01:00
scrawl
531bef6193
Shorter Vector3 initialisation
2014-01-01 22:46:10 +01:00
Lukasz Gromanowski
2d4e06cd50
Updated comments about freeing format_ctx->pb->buffer.
...
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2014-01-01 17:05:49 +01:00
Lukasz Gromanowski
6107d5bad2
Updated ffmpeg decoder fix
...
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-30 22:16:06 +01:00
Lukasz Gromanowski
5c5f87445b
Fixes for "Conditional jump or move depends on uninitialised value(s)"
...
and memleaks reported by valgrind.
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-30 21:47:06 +01:00
Marc Zinnschlag
e818d43bc3
removed an outdated typedef and some dead code
2013-12-05 13:21:26 +01:00
Chris Robinson
f216b25be8
Slightly randomize time between environment sounds
...
We should use the "Minimum Time Between Environmental Sounds" and
"Maximum Time Between Environmental Sounds" INI/fallback settings, but we don't
have them.
2013-08-27 16:04:19 -07:00
Chris Robinson
02df8ab841
Store the underwater sound to easily stop it
2013-08-27 13:48:20 -07:00
Chris Robinson
16331bf1ed
Avoid a hack to play the underwater sound properly
2013-08-27 13:26:57 -07:00
PLkolek
86020ad94d
Added underwater and drowning sounds.
2013-08-08 20:57:15 +02:00
Marc Zinnschlag
5cafe65cd7
Merge remote-tracking branch 'scrawl/cppcheck'
2013-07-31 20:00:35 +02:00
scrawl
7dc30a01cd
Some changes suggested by cppcheck
2013-07-31 18:46:32 +02:00
PLkolek
f297c21e4d
Old door sound fades out on door open/close. Door sound is synchronised to angle on action.
2013-07-31 15:46:23 +02:00
scrawl
90a5d8b6f5
Fix uninitialized AL listener position/orientation when the game is paused during the first frame
2013-07-30 23:24:18 +02:00
Chris Robinson
f73008546f
Keep a sound updated with its object's position
2013-07-27 07:24:18 -07:00
Chris Robinson
ad6d663e09
Remove some unnecessary debug messages
2013-07-23 03:44:52 -07:00
Chris Robinson
14e0c182f3
Allow specifying the sound type to playSound and playSound3D
2013-07-18 21:50:11 -07:00
Miroslav Puda
743b3dec99
Correction of libavutil version
2013-06-26 07:17:29 +02:00
eroen
d75391de8e
libav-9 - fix missing includes
...
With libav-9 and ffmpeg-1.0, libavcodec/avcodec.h no longer defines the
AV_CH_LAYOUT_* constants. They have been defined in libavutil/channel_layout.h
for a long time prior to this.
2013-06-24 21:08:28 +02:00
eroen
2850032d9e
libc++ fixes: avcodec/avformat workaround
...
With libc++, string includes stdint.h, which breaks the fragile avformat.h
workaround, which depends on __STDC_CONSTANT_MACROS being defined before
stdint.h is included.
Moving the string inclusion after that eyesore shouldn't break anything.
2013-05-26 12:01:01 +02:00
scrawl
c41f119ba6
Added new game button
2013-05-15 17:54:18 +02:00
scrawl
48a88f1917
Fix startRandomTitle
2013-04-04 15:10:27 +02:00
Chris Robinson
35e2b6942a
Merge remote-tracking branch 'zini/master' into misc-cleanup
2013-02-26 10:21:28 -08:00
Chris Robinson
ceafcc2ebb
Support float samples with ffmpeg
...
Requires the AL_EXT_FLOAT32 extension in OpenAL
2013-02-26 10:19:33 -08:00
Nathan Jeffords
21f502e3dd
properly handle potentially non 16 bit planar audio formats
2013-02-26 09:37:18 -08:00
Nathan Jeffords
7ea1f6a02a
fixes for using FFMPEG on windows
2013-02-24 09:42:08 -08:00
Nikolay Kasyanov
0d4b0bfd93
Trying to resolve sound issues on OS X with ffmpeg backend
2013-02-07 23:40:20 +04:00
Chris Robinson
8a073c113e
Use const references where appropriate
2013-01-15 12:07:15 -08:00
Nathan Jeffords
39d27b87c9
fixed build error with Audiere coded enabled
2013-01-08 09:14:56 -08:00
Chris Robinson
1dd9276ceb
Add missing decoder method declarations
2012-12-28 11:26:41 -08:00
Chris Robinson
85850c7440
Fix DEFAULT_OUTPUT declaration
2012-12-18 10:43:04 -08:00
Chris Robinson
7b2c3e6cd3
Pass a proper PlayMode enum to playSound and playSound3D
2012-12-18 06:01:21 -08:00
Chris Robinson
3b7edae7c3
Don't hold a list of all sound sources
2012-12-18 05:19:32 -08:00
Chris Robinson
fe36cc1de7
Don't try to resume sound types that aren't paused
2012-12-18 04:35:24 -08:00
Chris Robinson
2f8daec379
Allow pausing only certain types of sounds
2012-12-18 04:19:35 -08:00
Chris Robinson
b4e36d4f31
Add a method to get the volume from the sound type
2012-12-18 02:01:04 -08:00
Chris Robinson
a5356e194e
Allow specifying a type for the playTrack method
2012-12-18 01:35:20 -08:00
Chris Robinson
72ffceb206
Add type flags to the sound play mode
2012-12-18 00:57:57 -08:00
Chris Robinson
dd3e568a00
Set the sound properties at initialization
2012-12-17 23:35:20 -08:00
Chris Robinson
20321c4552
Keep track of the actual active sounds
2012-12-17 21:50:01 -08:00
Chris Robinson
d348435a1d
Improve audio open error message
2012-12-17 21:09:57 -08:00
Chris Robinson
e9d833be03
Use the packet pts to calculate the decoder sample offset
2012-12-16 01:56:52 -08:00
Chris Robinson
1a771ae671
Merge the stream struct into the parent decoder
2012-12-15 23:46:32 -08:00
Chris Robinson
5fff1c4e47
Update the ffmpeg decoder to use avcodec_decode_audio4
2012-12-15 23:22:37 -08:00
Chris Robinson
5f4c33f896
Only store one packet at a time
2012-12-15 22:54:54 -08:00
Chris Robinson
9d86890d9d
Only use one stream for the ffmpeg decoder
2012-12-15 22:13:19 -08:00
Chris Robinson
32b0a5d96e
Update the queued sample count immediately
2012-12-14 23:42:49 -08:00
Chris Robinson
0a5ab977b7
Use the decoder's sample offset for calculating the stream offset
2012-12-13 05:04:53 -08:00
Chris Robinson
1ea1407707
Support quad, 5.1, and 7.1 with OpenAL and ffmpeg
...
The other decoders don't guarantee any channel ordering, which makes them
useless.
2012-12-13 04:10:19 -08:00
Chris Robinson
f067b22b3f
Use a recursive mutex for the OpenAL stream thread
2012-12-13 02:33:35 -08:00
Chris Robinson
ba9c5f5b4e
Don't initially fill buffers in OpenAL_SoundStream::play
2012-12-13 02:32:21 -08:00
Chris Robinson
779ced0889
Add a method to play an audio track with a custom decoder
2012-12-13 00:05:57 -08:00
Chris Robinson
1571243ef0
Implement getTimeOffset for OpenAL_SoundStream
2012-12-12 23:16:45 -08:00
Chris Robinson
86bf6388c6
Pass a decoder to the playStream sound output method
2012-12-12 22:32:02 -08:00
Chris Robinson
9c831d3039
Add a decoder method to get the "file" name
2012-12-12 22:19:44 -08:00
Chris Robinson
34e36fb852
Add a method to get the time offset from sounds
2012-12-12 16:50:35 -08:00
scrawl
7fd9e1d212
Merge branch 'videoplayback' of https://github.com/ChrisKCat/openmw into videoplayback
...
Conflicts:
apps/openmw/mwrender/videoplayer.cpp
2012-12-12 22:24:38 +01:00
scrawl
18d8c767bd
fix a bunch of warnings, improved error handling, initialize texture to black
2012-12-12 15:15:55 +01:00
Chris Robinson
2c1eceb9f0
Add methods to pause and stop all playing sounds (and music)
2012-12-12 02:33:12 -08:00
Chris Robinson
973b5faf25
Keep track of all allocated sources
2012-12-12 01:32:16 -08:00
Chris Robinson
c2e1595445
Treat paused sounds as still playing
2012-12-11 21:01:32 -08:00
scrawl
5f676f9c6b
Merge branch 'master' of https://github.com/zinnschlag/openmw into videoplayback
...
Conflicts:
apps/openmw/mwrender/renderingmanager.cpp
apps/openmw/mwscript/miscextensions.cpp
2012-12-11 22:28:23 +01:00
scrawl
e3dd3d565c
fix 2 leaks
2012-12-10 00:59:39 +01:00
scrawl
d432420a32
fix FindFFmpeg.cmake
2012-12-01 20:53:28 +01:00
scrawl
5f7d349126
several missing includes
2012-11-14 05:32:23 +01:00
greye
e628b23da6
applying new interface vol.3, inconsistent
2012-11-05 21:45:35 +04:00
greye
d205723a17
resolving m prefix/ESMStore movement
2012-11-05 18:02:47 +04:00
greye
2057f5619e
move ESMStore to MWWorld
2012-11-05 17:18:01 +04:00
greye
3c2ce25f5f
m prefix for mwworld/cellstore.hpp
2012-11-05 16:07:59 +04:00
scrawl
1a2034b4dd
training window
2012-10-17 18:03:02 +02:00
Marc Zinnschlag
35d099a638
disabling gcc extensions
2012-10-09 17:10:25 +02:00
Marc Zinnschlag
35d7b5e5b0
Merge remote-tracking branch 'greye/record_saving'
2012-10-01 09:50:20 +02:00
Chris Robinson
6c5c9ce46e
Avoid console spam when a sound can't play
2012-09-30 17:38:55 -07:00
Chris Robinson
6942fa97da
Specify a proper up vector for the listener
2012-09-30 17:23:05 -07:00
Chris Robinson
991f942fba
Merge remote-tracking branch 'zini/master' into sound
...
Conflicts:
apps/openmw/mwsound/soundmanagerimp.cpp
apps/openmw/mwsound/soundmanagerimp.hpp
2012-09-30 16:57:54 -07:00
greye
7606ebafd6
resolving conflicts, minor update
2012-09-17 11:37:50 +04:00
Marc Zinnschlag
81463fa23d
Issue #372 : fixed positions in SoundManager
2012-08-29 18:48:20 +02:00
Marc Zinnschlag
aca08eb4c2
Merge branch 'decouple' into player_control
...
Conflicts:
apps/openmw/mwsound/soundmanagerimp.hpp
2012-08-09 16:12:10 +02:00
greye
b5bc7bc424
SoundManager dependency on camera pos/dir
2012-08-09 17:01:03 +04:00
Marc Zinnschlag
6bd48d12af
Issue #107 : SoundManager is accessed only through the interface class from now on
2012-08-09 14:33:21 +02:00
greye
df60f4bf92
stub for soundmanager, adjust rotation mode
2012-08-09 13:27:32 +04:00
greye
ec9cf4d3c6
rotateObject() added, input system rewritten
2012-08-09 00:15:52 +04:00
Dmitry Marakasov
0e934a52ca
Include soundmanager.hpp for Play_Normal enum
2012-07-16 23:54:24 +04:00
Dmitry Marakasov
1c53add6c4
Include boost/shared_ptr.hpp for boost:shared_ptr
2012-07-16 23:54:21 +04:00
Alexander "Ace" Olofsson
113457d934
Fixed some windows issues and got rid of a few tiny warnings while at it.
2012-07-07 01:14:18 +02:00
Marc Zinnschlag
87667ab57e
Issue #107 : Ptr related include cleanup
2012-07-03 13:55:53 +02:00
Marc Zinnschlag
4c39fefd1e
Issue #107 : World is accessed only through the interface class from now on; some include cleanup
2012-07-03 12:30:50 +02:00
Chris Robinson
2f8056dfab
Merge remote branch 'zini/master' into sound
2012-06-26 14:59:01 -07:00
Marc Zinnschlag
0f71439991
Merge remote branch 'garvek/master'
2012-06-15 08:22:56 +02:00
Sylvain THESNIERES
fc3a3fc173
MSVC build compliance:
...
- static const float member is not ISO
- callback do not match DLL signature
2012-06-08 19:55:39 +02:00
scrawl
c85c794c86
fixed some cppcheck issues
2012-06-06 20:29:30 +02:00
Chris Robinson
05fd8f0211
Update the actual sounds and music volume when settings change
2012-05-24 05:30:22 -07:00
scrawl
cbe89f7e32
copy&paste mistake
2012-05-24 08:56:45 +02:00
scrawl
189b044392
small correction
2012-05-24 04:37:41 +02:00
scrawl
9b94edd561
audio tab with volume sliders
2012-05-24 04:34:53 +02:00
scrawl
c9aa0ca1f4
don't create terrain if there is no land data, also fixes a water disappearing issue and a sound exception if cells with no region
2012-05-17 19:54:09 +02:00
Chris Robinson
1627206d56
Remove an unused method
...
Best not to design something we don't yet know what's needed from it.
2012-05-02 13:59:03 -07:00
Chris Robinson
144d52cf49
Add voices to the chargen class questions
2012-05-01 20:30:31 -07:00
Chris Robinson
b3caf82714
Avoid using vector<>::data(), which requires C++11
2012-05-01 10:12:45 -07:00
Marc Zinnschlag
35f478071e
Issue #255 : deleted the old environment class and using the new one instead
2012-04-23 15:27:03 +02:00
Chris Robinson
59ccab0b2c
Add sound volume settings
2012-04-07 16:00:30 -07:00
Chris Robinson
752e89a268
Add a setting to select the sound device name
2012-04-07 15:28:38 -07:00
Chris Robinson
b8be867e6e
Work around a bug in the Windows OpenAL router
2012-04-07 14:58:52 -07:00
Chris Robinson
87e8917c4d
Don't try to play sounds when no sound output is initialized
2012-04-06 10:43:14 -07:00
Chris Robinson
63e0e82049
Implement an Audiere-based decoder
2012-04-01 15:02:07 -07:00
Chris Robinson
2147210ad7
Don't set an underwater environment when there's no water
2012-04-01 12:46:49 -07:00
Chris Robinson
9c06bfc8fc
Merge remote branch 'zini/master' into sound
2012-03-31 14:26:21 -07:00
Alexander "Ace" Olofsson
64f792c01d
Fix a value defined at the wrong place
2012-03-31 21:05:33 +02:00
Chris Robinson
e8e8d3fb1b
Fully reset the music before starting the next track
2012-03-31 10:59:29 -07:00
Chris Robinson
3a57746ee4
Remove an unneeded volume special-case
2012-03-31 10:43:55 -07:00
Chris Robinson
4944a29b21
Keep track of the sound pitch
2012-03-31 10:41:12 -07:00
Chris Robinson
cbf6c0404a
Implement a basic underwater sound environment
2012-03-31 10:06:12 -07:00
Chris Robinson
575474ff69
Pass the mode flags to the sound output play methods
2012-03-31 08:14:39 -07:00
Chris Robinson
977e7ac9a3
Remove the Play_Single flag. It's not correct.
2012-03-31 07:41:26 -07:00
Chris Robinson
ae308b9b5f
Use a set of flags instead of separate booleans
2012-03-31 07:31:55 -07:00
Chris Robinson
e48d125a84
Only allow one instance of a given tracked soundid
...
The untracked flag should probably be broken up and combined with the loop
boolean into a set of flags.
2012-03-31 05:57:03 -07:00
Chris Robinson
bfac946878
Finally "fix" --nosound
...
Expect degraded performance with it. Looping sounds are constantly checked to
see if they're playing, and try to play it again when it's not.
2012-03-31 03:31:41 -07:00
Chris Robinson
7541e08909
Don't reset the sound Output device if init fails
2012-03-31 02:48:14 -07:00
Chris Robinson
28378c063b
Minor OpenAL_SoundStream cleanups
2012-03-31 02:22:23 -07:00
Chris Robinson
4e908aa095
Add a method to set the sound's position
2012-03-31 01:34:26 -07:00
Chris Robinson
b01289128b
Split OpenAL_Sound into separate classes for 2D and 3D sounds
2012-03-31 01:15:27 -07:00
Chris Robinson
5adeee20fd
Mute sounds that go outside the max distance
2012-03-31 00:57:29 -07:00
Chris Robinson
fc167dbc83
Pass Ogre Vector3s to playSound3D and updateListener
2012-03-30 11:42:11 -07:00
Chris Robinson
fefc8f86ab
Remove the unused streamSound3D method
2012-03-30 11:11:07 -07:00
Chris Robinson
1ee8b963d0
Store the sound listener position as well
2012-03-30 07:30:17 -07:00
Chris Robinson
fad27d99e6
Update the actual sound volume with the position
2012-03-30 07:10:34 -07:00
Chris Robinson
479df78ea1
Update the actual sound position after the listener
2012-03-30 07:01:37 -07:00
Chris Robinson
71d9d7e943
Store the current sound position with the Sound object
2012-03-30 06:41:06 -07:00
Chris Robinson
de102cd274
Simplify broken OpenAL workaround
2012-03-30 06:28:40 -07:00
Chris Robinson
33a63d88a5
Merge remote branch 'zini/master' into sound
2012-03-30 06:22:19 -07:00
Nikolay Kasyanov
b6aa8925f4
(Temporary) workaround for broken OpenAL implementations that doesn't return meaningful max counts of sources
2012-03-30 00:12:38 +04:00